7.6 KiB
Contribuer au référentiel de bonnes pratiques
Tout personne qui le souhaite peut se proposer pour contribuer au référentiel.
Les règles du présent document devront être respectées.
L'équipe projet en charge de ce repository s'assure de la bonne tenue de ces règles.
But des contributions
Les contributions ont pour but :
- De supprimer les bonnes pratiques obsolètes, non applicables ou sans effet
- D’ajouter des bonnes pratiques qui semblent pertinentes, sont issues du terrain
- D’associer aux nouvelles bonnes pratiques une règle de conformité
- De vérifier, améliorer le cas échéant les bonnes pratiques existantes ainsi que leur règle de conformité
- De proposer toute idée qui pourrait améliorer le référentiel d'une manière générale et le cas échéant la mettre en place
Règles générales
- Tout le monde a sa place, chacun peut apporter son expérience
- La convivialité, le partage, la courtoisie et la bienveillance sont des règles d'or dans les échanges
- Chaque bonne pratique doit être le résultat d'un retour terrain ou d'une approche scientifique
- Ces bonnes pratiques sont aussi un aide mémoire donc même une bonne pratique simple, de bon sens peut avoir sa place
Equipe Projet
L'équipe projet est constituée de:
Cette équipe s'assure que les règles instaurées pour la contribution soient respectées.
En cas de désaccord entre contributeurs, son rôle est aussi de trancher une décision.
L'équipe projet fait preuve de transparence et fait en sorte que les décisions soient les plus collégiales possibles.
L'équipe projet est responsable de la validation définitive des Pull Request
et donc de l'intégration de la proposition d'ajout, de modification ou de suppression dans le référentiel.
Un membre de l'équipe projet peut soumettre une proposition aux contributeurs mais ne peut pas être responsable seul de la validation ou non de celle-ci : il faut un consensus de l'équipe projet.
Proposition
Chaque proposition d'ajout, de modification majeure ou de suppression de bonnes pratiques doit passer par une discussion.
Le titre de la discussion doit être explicite et doit spécifier s'il s'agit d'un ajout, d'une modification majeure ou d'une suppression.
Une modification majeure peut être:
- Une modification importante du niveau de priorité, c'est à dire des niveaux de mise en oeuvre et d'impacts écologique
- L'ajout ou la suppression d'élément dans la définition de la règle
- L'ajout ou la suppression d'exemples
- La modification de la règle de conformité
Tout contributeur peut donner son avis sur la proposition:
- En cas d'accord, un contributeur clique sur la "flèche vers le haut"
- En cas de désaccord, un contributeur ajoute un "pouce bas" et devra obligatoirement expliquer via un commentaire les raisons de son désaccord
- En cas d'incompréhension, il peut entamer une discussion pour demander des précisions
- En cas d'idée d'amélioration, il peut la proposer
Lorsqu'une proposition reçoit plusieurs votes positifs, l'équipe projet est sollicitée et évalue la pertinence de la bonne pratique.
Les cas suivants peuvent se produire:
- La proposition est validée et le contributeur peut créer une
Issue
avec la discussion en référence - La proposition est définitivement rejetée avec justification
- La proposition doit être retravaillée avant une décision finale
L'Issue
créée devra contenir le tag création
, modification
ou suppression
suivant le type de proposition et être rattachée au projet Bonnes Pratiques V5
.
En cas d'ajout, le fichier sera nommé suivant le pattern suivant: BP-5xxx-fr.md
avec 5xxx
le numéro de la bonne pratique qui sera défini par l'équipe projet.
Le fichier sera à copier à partir du template
Une Pull Request
associée à l'Issue
sera créée et soumise à l'équipe projet qui est en charge de la revue.
La création de Pull Request
suite le processus classique au sein de Github, à savoir:
- Création d'un
fork
personnelle de la personne en charge de laPull Request
- Ajout du repository d'origine comme remote (
upstream
) - Création d'une branche sur le fork personnel
- Créer une
Pull Request
à partir du fork en mettant comme cible la branchemain
du repository cible
Amélioration
Pour les améliorations comme:
- Une correction d'orthographe, de grammaire ou de conjugaison
- Une autre formulation
- Une autre mise en forme
Il n'est pas nécessaire de passer par une discussion, il faut:
- Créer une
Issue
avec un intitulé explicite et les tagsmodification
etmineur
- Développer et créer la PR associée sans oublier la référence à l'
Issue
Contenu d'une bonne pratique
Chaque bonne pratique devra obligatoirement contenir:
- Un titre
- Un degré de priorité (sur 5, 5 = prioritaire, 1 = non prioritaire)
- Une difficulté de mise en oeuvre (sur 5, 5 = facile, 1 = difficile)
- Un niveau d'impact écologique (sur 5, 5 = fort, 1 = faible)
- Une description
- Une règle de validation et un seuil de conformité
Les éléments suivants sont facultatifs:
- Un ou des exemples
- Une solution alternative
Règle de validation et seuil de conformité
La règle de validation permet de tester la mise en oeuvre de la bonne pratique avec une approche objective. Le seuil de conformité associe à la règle de validation une valeur numérique (seuil) qui permet de décider de façon binaire (oui/non) si la bonne pratique a été mise en oeuvre ou pas. L'ensemble des règles de validation et des seuils de conformité permettent d'établir un niveau de maturité atteint par le service numérique.
Définition des niveaux
Trois niveaux doivent être définis pour une bonne pratique :
- Mise en oeuvre (facilité ou difficulté à mettre en oeuvre la bonne pratique)
- Impacts environnemental (contribution plus ou moins forte à la réduction des impacts env.)
- Priorité (ce niveau est défini en fonction de 1. et 2.)
Chacun de ces niveaux est défini par une note de 1 à 5.
Mise en oeuvre (higher is better)
La facilité ou difficulté de mise en oeuvre peut être évaluée de la manière suivante :
- La mise en oeuvre nécessite un haut niveau d'expertise ET une refonte en profondeur du projet
- La mise en oeuvre nécessite un haut niveau d'expertise OU une refonte en profondeur du projet
- Le mise en oeuvre demande une compétence particulière sans être rare (ex: SEO, DBA, ...) ET n'a pas besoin de refonte en profondeur du projet
- La mise en oeuvre ne nécessite pas compétence particulière OU n'a pas d'effet de bord sur le reste du projet
- La mise en oeuvre ne nécessite pas compétence particulière ET n'a pas d'effet de bord sur le reste du projet
Impact environnemental (higher is better)
Cet apport peut être évalué de la manière suivante :
- Elle réduit la consommation électrique des réseaux ou serveurs à équipements constants
- Elle réduit la consommation électrique sur la majorité des terminaux utilisateurs
- Elle limite le besoin en ressources informatiques côté serveur
- Elle limite le risque de saturation des réseaux mobiles ou fixes
- Elle limite les risques d'obsolescence des terminaux utilisateurs
Priorité (higher is better)
Le niveau de priorité est proposé librement par le contributeur et s'appuie sur la Mise en oeuvre et l'Impact environnemental.