Accueil stagiaires Informations globales sur les stages Bienvenue ! Nous sommes heureux de vous accueillir au sein de notre association. Vous venez d’intégrer l’association OPEN ATLAS. Ce livret a été mis en place pour vous guider et vous accompagner dans les grandesétapes de votre intégration. Vous y trouverez des informations pratiques et des éléments de présentation de l’association. Cette page vous est spécialement destiné et vous sera utile pour comprendre les activités, lefonctionnement ainsi que l’organisation de l’association que vous intégrez. Il a pour objet de vous donner les informations utiles dans votre vie professionnelle quotidienne. Nous vous en souhaitons bonne lecture et bon usage. L'association Nous vous invitons à lire attentivement ces pages : Présentation de l'association Historique du projet Votre arrivée Avant toute chose assurez d'avoir connaissance de : Votre référent : c’est votre contact principal. Il a pour mission de vous accueillir, de vous aider, de vous informer et de vous guider dès votre arrivée. L'intitulé et la nature de votre poste. Votre convention : notre association a signé avec votre Centre de formation une convention.En signant votre convention, vous vous êtes engagé⋅e pour une durée déterminée. Vos horaires de travail : les bureaux sont ouverts de 8h30 à 17h. Vos obligations L’association dépend de la Convention Collective de l’Animation et des règles qui larégissent. Sécurité : il incombe à chaque salarié de prendre soin de sa sécurité et de sa santé ainsi que de celle des autres personnes concernées du fait de ses actes ou de ses omissions au travail. Environnement : La gestion des déchets : l’activité de l’association génère peu de déchets. Toutefois, le tri sélectif est pratiqué dans le respect des jours de collecte. La préservation des ressources : nous sensibilisons les membres de l’association au respect des règles environnementales. Absences : Toute absence doit être justifiée. Qu’elle qu’en soit la cause, vous devez en informerl’association dans les meilleurs délais. Toute absence injustifiée peut faire l’objet d’une sanction disciplinaire. En cas de maladie, vous devez prévenir ou faire prévenir votre responsable. En cas d’interruption de votre travail, votre médecin vous délivre un certificat d’arrêt de travail qu’il vous faut envoyer à votre employeur ainsi qu’à votre Caisse d’Assurance Maladie. Certains évènements familiaux donnent droit à des journées d’absences exceptionnelles (justificatifs à fournir). Vos aides et démarches Selon votre statut et vos revenus, vous pouvez prétendre à certaines aides. Ci-dessous quelques des démarches que vous pouvez effectuer afin d’améliorer votre situationprofessionnelle. CAF Si vous payez un loyer ou remboursez un prêt signé avant le 1er février 2018 pour votrerésidence principale, et si vos ressources sont modestes, vous pouvez bénéficier de l’une desdeux aides au logement suivantes (elles ne sont pas cumulables !). L’allocation de logement familiale (ALF) si vous avez des personnes à charge dansvotre foyer ou formez un ménage L’allocation de logement sociale (ALS) si vous ne bénéficiez pas de l’ALF. Le montant de l’allocation est soumis à plusieurs critères. Afin de connaître précisément vos droits, faire la simulation sur le site de la Caf.fr. Devenir indépendant, professions libérales Le travailleur indépendant (ou Freelance en secteur informatique) est un professionnel quiexerce une activité économique indépendante. Il est autonome et propriétaire de ses moyensde production. Il est décisionnaire et garant de l’évolution de son entreprise.L’activité peut, sous certaines conditions, être exercée au local d’habitation de l’entrepreneur. La rémunération dépend de la facturation de prestations. Une prestation se facture à l’heure, àla journée ou au forfait en fonction de ses missions. L’entrepreneur est assujetti à l’impôt sur le montant brut de ses revenus annuels (l’IR) aprèsabattement de ses frais professionnels, dans la catégorie des bénéfices non commerciaux(BNC). Il cotise également à diverses caisses d’assurances. Les cotisations sont calculées et payées chaque mois ou chaque trimestre en fonction des recettes encaissées le mois ou le trimestre précédent. Les Indépendants peuvent adhérer à des associations agréées et bénéficier des avantagesfiscaux liés à cette adhésion : Agessa Maison des Artistes Pour toute information liée à la création d’activité indépendante :Tel : 01 53 35 83 63artistes-auteurs.urssaf.fr La formation professionnelle des entrepreneurs Vous avez droit à la formation car vous réglez la CFP (Contribution pour la FormationProfessionnelle). Votre attestation est à retirer sur le site de l’URSSAF (via la déclarationmicro-entrepeneur) rubrique "mes échanges avec l'URSSAF". Ce montant indiqué sur l’attestation ne correspond pas à l’enveloppe à laquelle vous avez droit, mais au montant de CFP que vous avez versé au cours de l’année d’activité écoulée. 1 - Se renseigner auprès de votre Fonds d’Assurance Formation Afin de savoir à combien vous pouvez prétendre, rendez-vous muni de votre code APE sur lesite du Fonds d’Assurance Formation correspondant à votre activité.  FIFPL pour les professions libérales et AGEFICE pour les prestataires de services. 2 - Choisissez votre formation Vous n’êtes pas limité à ce que propose votre FAF ! Vous êtes libre de choisir ce à quoi vousvoulez être formé avant de faire une demande de financement. Vérifier que la formation choisie soit éligible à un financement auprès de votre FAF. 3 - Constituez votre dossier de demande de financement Le dossier doit être déposé au moins un mois avant le début de la formation pour lesprestataires de services. Les libéraux peuvent faire leur demande en ligne sur le site duFIFPL dans un délai maximum de 10 jours après le début de la formation. 4 - Suivez votre formation et transmettez vos justificatifs Pendant votre formation, vous devrez signer les feuilles d’émargement et conserver vosjustificatifs de présence. Vous transmettrez l’ensemble de ces derniers et la facture payée dela formation à votre organisme référent pour vous faire rembourser.Le remboursement, partiel ou total, intervient généralement dans un délai de deux à troismois après la fin de la formation. Interlocuteurs Voici les personnes auxquelles vous pouvez vous adressez pour toute question relative à votre stage : Tibor KATELBACH, Gérant bénévoleMail : contact@communecter.org0693 91 85 32 Accompagnement administratif :Marie-Jean BEAUPAIN, Assistante administrativeMail : contact@communecter.org Informations techniques (stages devs) Comment utiliser ActivityPub Pour utiliser ActivityPub (AP) vous devrez avoir un acteur accessible en public. Le format de votre acteur doit être en JSON-LD. Votre acteur doit ressembler à ceci : exemple acteur sur le site communecter partir développement. L'id doit correspond à l'URL du document, tous les liens doit être en HTTPS. Vous aurez besoin d'une inbox car les instances qui utilisent AP ont besoin reconnait un acteur si celui-ci possède une inbox. Chaque acteur nécessite une publicKey et une privateKey qui peut être généré avec openssl. JSON ne prend en charge les sauts de ligne, on doit remplacer les sauts de ligne par \n (pour la partir publicKeyPEM). Le Webfinger permet de demandé à un site web "Avez vous un utilisateur avec ce nom d'utilisateur" et de recevoir des liens de ressource en réponse. Le noeud finale d'un Webfinger se trouve toujours en /.well-known/webfinger et recevoir des requêtes tel que /.well-known/webfinger?resource=acct:name@ my-example.com Pour pouvoir envoyé un message (par exemple avec le verbe "Create"), il est nécessaire d'avoir la inbox de la personne concerné et d'utiliser un HTTP signature qui permettra de savoir si l'acteur qui souhaite envoyer un message est le bon. Une signature HTTP s'agit d'un en-tête HTTP signé par la paire de clés RSA. Pour avoir plus d'information sur la création d'une signature HTTP, référencier vous le lien suivant partir HTTP signature : [How to implement a basic ActivityPub server(https://blog.joinmastodon.org/2018/06/how-to-implement-a-basic-activitypub-server/). Lien pratique : Setting Up a WebFinger Server How to implement a basic ActivityPub server ActivityPub W3 Decentralizing Social Interactions with ActivityPub Réalisation d'un acteur AP sur Communecter J'ai crée une api qui permet de généré un acteur AP sur communecter, vous pouvez trouvez un exemple en cliquant ici. Petit précision : la publicKey est en format brute. Comment sa fonctionne : Vous devrez indiquez dans le lien id de la personne ici : http://dev.communecter.org/api/activitypub/actor/id/ + userId. Fichier modifier : TranslateActivityStream.php / Rest.php . Fichier crée : ActivityPubController.php / ActorAction.php . Création d'un client mastodon Nous avons crée avec Pierre un client mastodon qui permet de poster/récupéré les statuts/récupéré les followers/voir la timelines public en utilisant le REST API et en ce basant sur cette librairie mastodon.js par Kirschn. Vous pouvez retrouvez nos codes ici (gitlab.adullact) : mastodon_api Test d'un serveur express-activitypub en nodejs J'ai suivi ce tutoriel là pour pouvoir envyer un message sur mamot.fr : Decentralizing Social Interactions with ActivityPub. Pierre a détaillé plus en bas comment réaliser le tutoriel. Remarque constaté : Pour pouvoir voir un message sur mamot.fr, nous étions dans l'obligation de suivre notre acteur crée par express activitypub, sans cela, il nous est impossible de voir nos message dans le timeline. Ce problème est régurant quand on a tenté avec un compte pixelfed de communiqué avec mamot.fr. La réalisation d'une inbox (non fonctionnelle) Je me suis basé sur le script crée par Darius Kazemi sur son tutoriel Decentralizing Social Interactions with ActivityPub. Malheureusement je n'arrive pas à faire fonctionné mon inbox car je n'arrive pas a encodé la signature. Apporté mon aide auprès des autres stagiaires Étant donné que j'avais déjà réalisé plusieurs stage au sein de chez communecter, j'ai apporté mon aide auprès des autres stagiaires pour expliquer comment fonctionnelle le site communecter, le mvc de chez co, le jquery (ajax), les requêtes... Pierre : Lire la documentation sur l'implémentation d'activityPub W3c ActivityPub Création d'un client Mastodon Utilisation de l'API mamot pour pouvoir afficher les timelines public, local, ajouter un post. Afin de pourvoir acceder a le page mastodon cliquer içi Join Mastodon Mon code source est disponible sur gitlab Code Source Ajout d'un acteur ActivityPub sur l'API de communecter Afin d'avoir un aperçus du format d'un acteur ActivityPub en ajoutant votre id a la fin du lien mon lien pour accéder à l'acteur Ajout d'un acteur ActivityPub sur l'API de communecter Afin d'avoir un aperçus du format d'un acteur ActivityPub en ajoutant votre id a la fin du lien mon lien pour accéder à l'acteur Génération de la clé privée avec OpenSSL La fonction servant a générer les clés plubliques et privée. $config = array( "digest_alg" => "sha256", "private_key_bits" => 2048, "private_key_type" => OPENSSL_KEYTYPE_RSA, ); // Création clé public et cle priver
$res = openssl_pkey_new($config); // Extrait la clé privée de $res à $privKey
openssl_pkey_export($res, $privKey); // Extrait la clé public de $res à $pubKey
$pubKey = openssl_pkey_get_details($res);
$pubKey = $pubKey["key"];
$data = 'plaintext data goes here'; // Encrypt the data to $encrypted using the public key
openssl_public_encrypt($data, $encrypted, $pubKey); // Decrypt the data using the private key and store the results in $decrypted
openssl_private_decrypt($encrypted, $decrypted, $privKey); Récupérer la date et l'heure actuelle en PHP. $heure = date("H:i:m");
Print("Il est $heure"); Test d'envoi d'un message sur mamot Taper la commande "git clone https://github.com/dariusk/express-activitypub.git" dans votre terminal. Installer ngrok, en suivante les instructions https://ngrok.com/download. Taper la commande "/.ngrok/http 3000". Ensuite allez dans le dossier express-activityPub, modifier le dossier config.json dans route. Mettre un nom d'utilisateur Mettre un mot de passe Le port sera 3000, et le domain sera l'adresse en https de ngrok, mais il faut retirer le https, pour obtenir ceci exemple: d40f1818.ngrok.io Taper la commande node index.js Acceder a l'url du site en https et rajouter admin exemple: https://d40f1818.ngrok.io/admin Crée un compte test saisissez le nom d'utlisateur et le mot de passe, ensuite il y aura des données qui seront générés, afficher le account WebFinger url, copier le suject sans la acct: Connecter vous a https://mamot.fr. Rechercher le webfinger url, cliquer sur le bouton pour follow. Ensuite saisir test dans account name, Copier coller l'API Key, et saisir votre message exemple : Hello world ! Et vous pourrez voir le message envoyer sur mtps://mamot.fr Julien mon gitlab Module graph communecter analyse de l'architecture modele vue controlleur< comprendre le fonctionnemment d'un controlleur utilisation de la librairie D3.js analyse du module graph mise place d'un controlleur dans le module graph mise en place d'une vue dans le module graph manipulation de données en json 1manipulation d'une base de données json mettre des données sur le graph("name") réapprentissage de l'algorithmique apprendre a récursivité (fibonnaci) Le graph nodes and edges (d3follow) Dans le controlleur (D3FollowAction) : J'ai fait apelle a la base de données pour avoir les données sur les citoyens, quelle sont leurs - projets, leurs événements, leurs organisations, leurs followers... J'ai modifier le tableau $root pour achicher les données au bon format json du graph (nodes and edges). J'ai fait une sucssesion de condition avec (if , elseif , else , foreach) pour remplire le tableau $root avec les données de le base de données ( "name"). Dans la vue (d3follow): Mettre les données du tableaux $root dans une variable et utiliser (json encode) Ajout des balises script de d3js pour faire apelle a la librarie de D3. Remdre les nodes cliquables (si on clique sur la node d'un follower sa affiche son propre graph avec ses propres données). Faire un fonction couleur pour les principaux nodes du graph. Autre : j'ai fait d'autre type de graph(de la meme façon que le graph nodes and edges). graph avec des barre, graph ciculaire, graph hierarchical. Un algorithme récursif (fibonnaci) en javascript. Benjamin Dans le module graph Création du controller LinearAction et de la view Linear pour mon style de graphe choisie Je me suis basé sur D3Action et de la view pour le principal Les modifications apportés au controller : modification de la requête root pour s'adapter au format de donnée du graphe L'affichage du nouveau graphe est simple car rien qu'avec la base du graphe D3, l'affichage des nodes est possible modification dans la boucle foreach de "links" pour s'adapter au nouveau graphe et ainsi afficher les noms de chaque organisation, projets, évènements... ajout des données comme : "Mes experiences ", "Sondages","Actions", "Abonnées" : une boulce pour chaque catégorie qui parcours la base de donnée et l'affiche comme les autres données comme projets ajout de nodes cliquable : juste après la dernière donnée (dernière organisation ou projet), une node "ajouter" est visible et ouvre le formulaire de la catégorie choisie (formulaire d'ajout d'organisation ou de projet) ajout d'une node libre : à la fin du graphe il y a une node que lorsque l'on clique un formulaire s'affiche. Ce formulaire permet d'ajouter une donnée libre au graphe Modification de la view : ajout de l'algorithme du graphe ajout des librairies d3.js Modification de la fonction "click" pour ajouter des liens sur les nodes : exemple en cliquant sur une organisation cela affiche le graphe de l'organisation ajout des liens sur les nodes "Ajouter..." qui affiche le formaulaire de la catégorie choisie. Pour ce faire il fallait aller chercher les librairies et les formulaires appelé "dynform" Ajout d'une fonction Color qui affiche les mêmes couleurs que le site voici mon lien gitlab avec ton mon travail