Chapril:services:Plan d'intégration d'un nouveau service
La raison d'être du Chapril est de proposer des services en logiciel libre. L'intégration d'un nouveau service implique le franchissement d'un certain nombre d'étapes que cette page se propose de recenser et documenter.
Candidature d'un service
Avant d'acter l'intégration d'un nouveau service dans le Chapril, celui-ci a le statut de « candidat ».
Au départ, la priorité est de répondre à quelques questions incontournables.
Qui est l'animateur du service ?
Chaque service du Chapril est géré par un animateur du service. Avant de faire candidater un nouveau service, le futur animateur du service doit s'assurer d'être connu par l'équipe du Chapril et en particulier de l'animateur principal du Chapril.
Des rencontres préalables en présentiel sont encouragées. Les occasions sont nombreuses : stand April, April Camp, apéro April, Assemblée générale April, canaux IRC, listes de diffusion, etc.
Le futur animateur doit :
- se créer un compte sur le wiki de l'April : https://wiki.april.org/
- se créer un compte sur l'outil de gestion des tickets : https://agir.april.org/
- s'inscrire sur la liste de diffusion Chapril : https://listes.april.org/wws/info/chapril
- essayer de passer régulièrement sur le canal IRC #april-chapril sur Freenode.
Enfin, le candidat animateur de service envoie un courriel de présentation sur chapril@april.org.
Le service est-il pertinent dans le Chapril ?
La volonté d'avoir autant de services que possible est forte mais ceux-ci doivent respecter quelques critères fonctionnels :
- être utile ;
- être potentiellement utilisé par beaucoup de personnes ;
- …
Le candidat animateur envoie un courriel sur chapril@april.org pour présenter le service et des arguments illustrant l'intérêt de son intégration dans le Chapril.
Comment nommer le service ?
Dans le SI Chapril, chaque service est associé à un sous-domaine, qui devient le nom officiel du service.
Le candidat animateur anime un débat pour choisir un nom :
- en créant une page wiki April (prendre exemple sur XXXXXX) ;
- en envoyant un courriel sur chapril@april.org pour poser la question et informer de l'existence de la page wiki April dédiée.
Quel logiciel pour le service ?
Pour un type de service, plusieurs implémentations peuvent exister. Exemple avec le raccourcisseur d'URL : LSTU, YOURLS…
Si plusieurs logiciels sont disponibles pour un même type de service, une analyse comparative aidera à en choisir un.
Le candidat animateur anime un débat :
- en créant une page wiki April (prendre exemple sur XXXXXX) ;
- en envoyant un courriel sur chapril@april.org pour poser la question et informer de l'existence de la page wiki April dédiée.
Quelles sont les contraintes techniques du service ?
Recenser les contraintes techniques :
- CPU ;
- mémoire ;
- disque ;
- réseau ;
- ports ;
- …
Quelles sont les contraintes humaines du service ?
- être compatible avec les contraintes humaines du SI de l'April (modération, RGPD…) ;
Le service nécessite-t-il une VM dédiée ?
Le service est susceptible d'être associable à une VM déjà existante :
- VM lamp : pour tout service de type LAMP ;
- VM bots : dans le cadre d'un bot ;
- …
Sinon, il faut créer une VM dédiée.
Validation par l'animateur Chapril
Après discussion dans l'équipe Chapril, l'animateur Chapril donne une réponse et si besoin lance les opérations de déploiement.
Ajouter une entrée dans la page wiki April, section journal.
Diffuser l'information sur chapril@april.org
Envoyer un courriel de confirmation au candidat animateur du service. Modèle :
Pour : animateur@ Copie à : admins@chapril.org Sujet : Validation du service XXXXXXX pour Chapril Bonjour \o/ Suite à la dernière réunion adminsys Chapril, la création d'un service XXXXXXX dans le Chapril a été validée. Félicitations \ooo/ S'en suit : 1) la création d'un sous-projet Chapril pour lequel tu as les droits « administrateur » : https://agir.april.org/projects/XXXXXXXX Tu as maintenant la responsabilité de suivre, assigner, pousser les tickets qui sont dedans :D Pour rappel : a) un ticket non assigné ou dans le statut « Nouveau » ou qui dort trop longtemps, c'est un ticket en souffrance dont tu dois absolument t'occuper (soit trouver quelqu'un, soit changer le statut, etc.) ; b) tu as le pouvoir déléguer certains tickets (par exemple supervision, routage, etc.) et alors tu les assignes aux personnes (en leur demandant gentiment avant ;*>) ; c) un ticket traité est passé dans le statut « résolu » par la personne qui le traite ; c'est l'animateur du service (donc toi) qui le passe en « Fermé ». 2) quelques tickets ont été générés pour amorcer le mouvement, à toi de compléter, annoter, etc. Certains sont déjà bien avancés. Pas d'inquiétude à avoir, normalement le nombre de tickets à gérer sera super faible. À ta disposition pour toutes questions <3 Avec tous nos encouragements :D
Déploiement du service
Création d'un sous-projet Chapril dans AGIR
Création de tâches dans le sous-projet
Création d'une page wiki April du service
- assigné à : l'animateur du service
- description :
Afin d'accueillir et partager la vie du service (questions, journal, analyses…), demande de création d'une page dédiée. S'inspirer de https://wiki.april.org/w/Chapril:Services:paste .
Procédure de sélection du sous-domaine du service
- assigné à : l'animateur du service
- description :
Afin de décider du sous-domaine du service : - créer une page wiki April ; - lancer le débat sur chapril@april.org ; - recueillir les avis ; - valider avec l'animateur Chapril le nom choisi ; - communiquer le nom choisi sur chapril@april.org ; - si besoin, propager le nouveau nom (sous-projet agir, page wiki Chapril, etc.).
Installer une VM dédiée au service
- assigné à : un adminsys infra
- description :
Si le service n'est associable à aucune VM existante (VM lamp, VM bots…) alors en créer une dédiée. Question subsidiaire : sur quel host mettre la VM ?
Création d'une page wiki admins Chapril du service
- assigné à : l'animateur du service
- description :
Le wiki April est ouvert à tout le monde et pratique pour partager des travaux en communs. Le wiki admins Chapril est réservé aux adminsys des VM Chapril. Celui-ci contient la documentation du SI Chapril. Chaque service doit avoir une page dédié dans le wiki adminsys Chapril avec la procédure d'installation et les procédures de maintenance. Demande : création de la page wiki admins Chapril du service. Prévoir d'y mettre les contraintes techniques (routage…) et la procédure d'installation.
Recenser les besoins de routage
- assigné à : l'animateur du service
- description :
Une fois la VM dédiée disponible, il faudra configurer l'infra pour que le service soit visible depuis l'extérieur. Demande : recenser les besoins de routage (ports, plages de ports, etc.) et les indiquer dans la page wiki adminsys Chapril
Configurer la supervision de la VM
- assigné à : adminsys infra
- description :
Toute VM Chapril doit être supervisée. La configuration est à faire par les adminsys infra.
Configurer la sauvegarde de la VM
- assigné à : adminsys infra
- description :
Toute VM Chapril doit être sauvegardée. La configuration est à faire par les adminsys infra.
Création des listes de diffusions du service
- assigné à : adminsys infra
- description :
Chaque service se voit associé des adresses de courriel. Demande : créer les listes de diffusions qui vont bien. Acteur : adminsys infra. Note : attendre de connaître le nom officiel du service (choix sous-domaine).
Configurer l'accès de la VM à l'animateur du service
- assigné à : adminsys infra
- description :
La VM va être installée par un adminsys de l'infra. S'assurer que l'animateur du service a son accès SSH est valide. Acteur : adminsys infra.
Écrire un script de génération de rapport d'activité
- assigné à : l'animateur du service
- description :
Afin de pouvoir évaluer l'activité du service, écrire un script générant un rapport d'activité avec quelques points de mesures : nombre d'utilisateurs total, nombre de connexions, nombre de cubes, etc. Voir le service date.chapril.org pour exemple : - les sources : https://agir.april.org/projects/date-chapril-org/repository/revisions/chapril-1.1.8/entry/tools/rapport_activite.sh - statistiques générées : #3529.
Identifier les possibilités et outils de modération
- assigné à : l'animateur du service
- description :
CGU + RGPD + April => besoin de savoir si de la modération est possible et si oui comment. Une interface d'admin existe-t-elle ? Etc.