{"id":20270910,"url":"https://github.com/etd-framework/cheatsheet","last_synced_at":"2026-02-25T18:35:04.467Z","repository":{"id":88594549,"uuid":"75940010","full_name":"etd-framework/cheatsheet","owner":"etd-framework","description":"Cheatsheet pour les bonnes pratiques Scrum, GitHub, Zenhub, ...","archived":false,"fork":false,"pushed_at":"2017-05-18T08:46:27.000Z","size":23,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-14T05:43:20.058Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/etd-framework.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-12-08T13:26:21.000Z","updated_at":"2016-12-13T07:29:12.000Z","dependencies_parsed_at":"2024-03-30T19:00:33.209Z","dependency_job_id":null,"html_url":"https://github.com/etd-framework/cheatsheet","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/etd-framework%2Fcheatsheet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/etd-framework%2Fcheatsheet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/etd-framework%2Fcheatsheet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/etd-framework%2Fcheatsheet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/etd-framework","download_url":"https://codeload.github.com/etd-framework/cheatsheet/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241758954,"owners_count":20015249,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-14T12:34:24.932Z","updated_at":"2025-10-31T03:34:04.531Z","avatar_url":"https://github.com/etd-framework.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cheatsheet pour les bonnes pratiques chez ETD !\n\n\n* [Préparation automatique](#préparation-automatique)\n* [L'agilité dans GitHub](#lagilité-dans-github)\n* [Pipelines](#pipelines)\n* [Labels](#labels)\n* [Bien remplir une issue](#bien-remplir-une-issue)\n* [Un bon backlog](#un-bon-backlog)\n* [Alors, Issue ou Epic ?](#alors-issue-ou-epic-)\n* [Templates Issues / PR](#templates-issues--pr)\n\n\n## Préparation automatique\n\nScript PHP : [prepare_repo](https://github.etd-solutions.com/prepare_repo.php)\n\nPour créer :\n- Labels\n- Templates Issues / PR\n- Issues de base pour un site vitrine\n\n## Standards de code dans PHPStorm\n\nFichier de formatage du code PHP : [ETD Solutions.xml](https://www.dropbox.com/s/d8d6uqwdlg2v2sc/ETD%20Solutions.xml?dl=1)\n\n## L'agilité dans GitHub\n\n### Sprint ➙ Milestone (jalon)\n\nEn Scrum, les sprints sont des durées fixes de temps dans lesquelles une part du travail préalablement acceptée a été terminée et prête à être livrée.\n\n### User stories ➙ Issues\n\nLes User Stories sont les descriptions (de haut-niveau) des fonctionnalités qui permettent de les définir d'un point de vue Client.\n\n### Sub-tasks ➙ Markdown checklists\n\nLes sous-tâches sont représentées dans l'issue sous forme de listes à puce avec une case à cocher pour déterminer leur validation.\n\n### Epics ➙ Epics\n\nIntégré avec ZenHub ⇒ https://www.zenhub.com\n\n### Product backlog ➙ Issues ouvertes sans Milestone\n\nLes issues y sont rangées verticalement par importance.\n\n### Sprint backlog ➙ Issues avec un Milestone\n\nIci, les issues doivent être estimées, inclure du détail et avoir un Milestone.\n\n\n## Pipelines\n\nNom         | Description\n----------- | -----------\nNew Issues  | Toutes les nouvelles issues créées arrivent ici. On doit les envoyer dans un autre pipeline dès que possible.\nIcebox      | Les issues que l'on se garde pour plus tard : des idées, des choses que l'on ne fera pas tout de suite, ...\nBacklog     | On ne travaille pas sur ces issues pour l'instant, mais on agit quand même sur elles. Si elles n'ont pas de `milestone` elles font parties du `Product Backlog` sinon du `Sprint Backlog`.\nTo Do       | Alimenté par les issues **bien définies**. Ce pipeline est le focus courant de l'équipe. Ces issues iront dans le pipeline `In Progress`, on les **classe** par priorité et on assigne les \"garants\" de la bonne réalisation.\nIn Progress | Ce pipeline répond à la question : \"Sur quoi sommes-nous en train de travailler ?\". Idéalement, chaque membre de l'équipe doit travailler sur une seule chose en même temps.\nDone        | Les issues sont prêtes pour être mise en production ou staging.\nClosed      | Ce sont les issues terminées.\n\n## Labels\n\nThème         | Labels        | Description\n------------- | ------------- | -------------\nPlateforme    | ![](http://github.etd-solutions.com/label.php?text=framework\u0026bg=BFD4F2\u0026color=282C33) ![](http://github.etd-solutions.com/label.php?text=app\u0026bg=BFD4F2\u0026color=282C33) ![](http://github.etd-solutions.com/label.php?text=site\u0026bg=BFD4F2\u0026color=282C33) ![](http://github.etd-solutions.com/label.php?text=administratif\u0026bg=BFD4F2\u0026color=282C33) ![](http://github.etd-solutions.com/label.php?text=serveur\u0026bg=BFD4F2\u0026color=282C33) ![](http://github.etd-solutions.com/label.php?text=tech\u0026bg=BFD4F2\u0026color=282C33) | Si le repo couvre plusieurs parties, on affiche où les issues \"vivent\" (ex: framework etd, app)\nProblèmes     | ![](http://github.etd-solutions.com/label.php?text=bug\u0026bg=EE3F46\u0026color=fff) ![](http://github.etd-solutions.com/label.php?text=sécurité\u0026bg=EE3F46\u0026color=fff\u00261) ![](http://github.etd-solutions.com/label.php?text=prod\u0026bg=EE3F46\u0026color=fff) | Issues qui font que le produit est dégradé. Haute priorité, d'autant plus si c'est présent en production.\nEnnuyeux      | ![](http://github.etd-solutions.com/label.php?text=corvée\u0026bg=FEF2C0\u0026color=333026\u00261) ![](http://github.etd-solutions.com/label.php?text=contenu\u0026bg=FEF2C0\u0026color=333026) | Remplir un site, réorganiser la structure des dossiers et autre tâche nécessaire (mais moins impactante).\nExpérience    | ![](http://github.etd-solutions.com/label.php?text=design\u0026bg=FFC274\u0026color=372918) ![](http://github.etd-solutions.com/label.php?text=ux\u0026bg=FFC274\u0026color=372918) | Affecte la compréhension de l'utilisateur ou l'utilisation générale de l'appli. Cela peut être à la fois des changements ou des bugs UX.\nEnvironnement | ![](http://github.etd-solutions.com/label.php?text=staging\u0026bg=FAD8C7\u0026color=332C28) ![](http://github.etd-solutions.com/label.php?text=tests\u0026bg=FAD8C7\u0026color=332C28) | Environnement serveur. Avec une bonne assurance qualité (QA), on identifira les bugs pendant les déploiement en tests et en staging.\nFeedback      | ![](http://github.etd-solutions.com/label.php?text=discussion\u0026bg=CC317C\u0026color=fff) ![](http://github.etd-solutions.com/label.php?text=question\u0026bg=CC317C\u0026color=fff) ![](http://github.etd-solutions.com/label.php?text=besoin%20aide\u0026bg=CC317C\u0026color=fff) | A besoin de plus de discussion pour comprendre les étapes d'action. La plupart des nouveautés démarre ici.\nAméliorations      | ![](http://github.etd-solutions.com/label.php?text=amélioration\u0026bg=5EBEFF\u0026color=132736) ![](http://github.etd-solutions.com/label.php?text=optimisation\u0026bg=5EBEFF\u0026color=132736) | Itérations sur des fonctionnalités ou infrastructure déjà existantes. Généralement ce la améliore la rapidité ou la qualité des résultats. Par ex: ajouter un champ \"Propriétaire\" dans un model \"Calendrier\" existant.\nAjouts      | ![](http://github.etd-solutions.com/label.php?text=fonction\u0026bg=91CA55\u0026color=243315) | Nouvelles fonctionnalités. Nouvelles pages, workflows, ...\nEn attente  | ![](http://github.etd-solutions.com/label.php?text=en%20cours\u0026bg=FBCA04\u0026color=332900) ![](http://github.etd-solutions.com/label.php?text=a%20surveiller\u0026bg=FBCA04\u0026color=332900) | Travail en cours, mais a besoin de quelques éléments avant. Une fonctionnalité qui a besoin d'une mise à jour d'une dépendency ou un bug qui nécessite plus de données.\nInactive  | ![](http://github.etd-solutions.com/label.php?text=invalide\u0026bg=D2DAE1\u0026color=2F3133) ![](http://github.etd-solutions.com/label.php?text=wontfix\u0026bg=D2DAE1\u0026color=2F3133) ![](http://github.etd-solutions.com/label.php?text=doublon\u0026bg=D2DAE1\u0026color=2F3133) ![](http://github.etd-solutions.com/label.php?text=en%20attente\u0026bg=D2DAE1\u0026color=2F3133) | Pas d'action requise ou possible. L'issue est soit corrigée, mieux définies dans une autre issue ou seulement en dehors du scope du projet.\nQuick Fixes! | ![](http://github.etd-solutions.com/label.php?text=boum\u0026bg=FFFF00\u0026color=333300) ![](http://github.etd-solutions.com/label.php?text=45min\u0026bg=FFFF00\u0026color=333300) | Les issues qui peuvent être traitées rapidement !\n\n## Bien remplir une issue\n\nOn démarre toujours de la même façon.\nLes User Stories répondent aux questions **qui, quoi et pourquoi ?** d'une fonctionnalité.\n\n\u003e **En tant que \\\u003crôle\\\u003e, je veux \\\u003ctâche\\\u003e afin de \\\u003cobjectif\\\u003e**.\n\nExemple : En tant que \\\u003c*Client Enregistré*\\\u003e, je veux \\\u003c*passer une commande en un seul clic*\\\u003e afin de \\\u003c*gagner du temps*\\\u003e.\n\nLe but est de bien définir l'issue : on idenifie l'audience, l'action et les bénéfices (ou objectifs) le plus simplement possible.\n\nOn doit se demander si :\n - c'est quelque chose de valeur pour le Client ;\n - on a bien évité le jargon... Le client doit pouvoir comprendre ;\n - elle est indépendante des autres issues si possible ;\n - elle est négociable : plusieurs voies possibles pour atteindre l'objectif ;\n - elle est petite et peut être facilement estimée en terme de temps et ressources requises ;\n - elle est mesurable, on peut tester le résultat.\n \nOn a un template pré-défini : [Templates Issues / PR](#templates-issues--pr)\n\n## Un bon backlog\n\n### DEEP !\n\n#### Detailed appropriately (détaillée correctement)\n\nPlus l'issue est haut dans le backlog, plus elle doit être détaillée !\n\n#### Estimated (estimée)\n\nLe backlog est plus qu'une TO-DO list. On planifie avec !\nLes issues en haute doivent être estimées correctement : en temps, en complexité, ...\n\n#### Emergent (plein d'avenir)\n\n**Dans un backlog, le temps, le budget et la qualité sont toutes des variables fixes !** Le cadre, non. \nC'est à dire que des issues seront \"gelées\" dans l`icebox`, fermées, ajoutées ou modifiées dès qu'on en saura plus.\n\n#### Prioritized (prioritisé)\n\nLes issues doivent être rangées verticalement en fonction de leur valeur business (valeur pour le client).\n\n## Alors, Issue ou Epic ?\n\nOn doit considérer le temps et la complexité.\n\n**Les issues qui doivent être terminées dans un temps le plus court possible.**\nSi elle prend des semaines ou des mois à faire, c'est sûrement une Epic.\nDans le même esprit, **si une issue devient trop complexe – s'il y a plusieurs tâches nécessaires pour la terminer – c'est mieux de la mettre en Epic.**\n\n\n## Templates Issues / PR\n\n```md\n## User Story\n\nEn tant que *rôle*, je veux *tâche* afin de *objectif*.\n\n## Critères d'acceptation\n\n- [ ] \n- [ ] \n\n## Définition de \"Done\"\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fetd-framework%2Fcheatsheet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fetd-framework%2Fcheatsheet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fetd-framework%2Fcheatsheet/lists"}