Rez-de-chausséeBP Bonnes pratiquesPièce 4/7Intermédiaire

Gérer un projet

Découper un projet en tâches, suivre l'avancement avec un tableau Kanban et les issues GitHub, et écrire un README utile.

Ce que tu vas apprendre

  • Découper une grosse idée en tâches petites et faisables.
  • Suivre ces tâches avec un tableau Kanban et des issues GitHub.
  • Écrire un README qui permet à quelqu'un d'autre de lancer ton projet.

Pourquoi organiser, même seul

« Faire un site de recettes » est trop vague pour commencer. Tu ne sais pas par où attaquer, et tu ne sais jamais où tu en es.

Un projet avance quand tu sais quelle est la prochaine petite étape. Même seul, noter les tâches évite d'oublier et donne le plaisir de voir les choses se terminer.

Découper en tâches

Pars de l'objectif et divise-le jusqu'à obtenir des tâches de quelques heures au plus.

Exemple pour le site de recettes :

  1. Afficher la liste des recettes sur /recettes.
  2. Afficher le détail d'une recette.
  3. Ajouter un formulaire de création.
  4. Permettre de filtrer par ingrédient.

Chaque tâche doit se terminer par un résultat observable : « la page /recettes affiche trois recettes ». Une tâche qui s'appelle « travailler sur les recettes » n'est jamais finie.

Si une tâche te semble impossible à estimer, coupe-la encore. Une bonne tâche tient en une phrase et se valide en un coup d'œil.

Le tableau Kanban

Un tableau Kanban représente les tâches comme des cartes rangées dans des colonnes qui indiquent leur état. Une carte se déplace de gauche à droite au fil de l'avancement.

Un tableau simple :

À faireEn coursTerminé
Filtrer par ingrédientFormulaire de créationListe des recettes
Page de détail

Garde peu de cartes dans la colonne « En cours ». Finir une chose avant d'en commencer une autre évite d'avoir dix chantiers à moitié faits.

Tu peux le faire sur papier ou avec un outil. GitHub propose Projects, qui affiche tes tâches sous forme de tableau ou de tableur et se met à jour selon l'état de tes issues.

Les issues GitHub

Une issue (en français « problème » dans la documentation GitHub) est une fiche attachée à un dépôt. Elle sert à suivre une idée, une tâche ou un bug.

Une bonne issue contient :

  • un titre court : « Afficher la liste des recettes » ;
  • une description : ce qu'il faut faire, ou comment reproduire le bug ;
  • des étiquettes (labels) comme bug ou amélioration ;
  • éventuellement la personne qui s'en occupe.

Voici un exemple de description pour un bug :

Étapes :
1. Aller sur /recettes
2. Cliquer sur « Ajouter » sans remplir le titre

Résultat attendu : un message d'erreur.
Résultat obtenu : une recette sans titre est créée.

Cette structure, avec étapes, résultat attendu et résultat obtenu, évite à quelqu'un de te poser dix questions. Dans le cours précédent, c'est exactement l'étape « reproduire ».

Relier une issue à son code

Quand tu termines le travail, tu peux fermer l'issue automatiquement. Dans la description d'une pull request, écris un mot-clé suivi du numéro de l'issue :

Closes #12

GitHub propose aussi Fixes et Resolves. Quand la pull request est fusionnée dans la branche par défaut, l'issue #12 se ferme toute seule. Ce lien relie ton code à la raison pour laquelle il existe.

La fermeture automatique ne fonctionne que si la pull request vise la branche par défaut du dépôt, souvent main.

Le README

Le fichier README est la première chose que voit quelqu'un qui arrive sur ton dépôt. Écrit en Markdown, un langage de mise en forme simple (# pour un titre, - pour une liste), il répond à trois questions : c'est quoi, comment le lancer, comment contribuer.

# Recettes de mamie

Un site pour garder les recettes de la famille.

## Installation

1. Cloner le dépôt
2. `npm install`
3. `npm run dev`

Le site est alors disponible sur http://localhost:3000.

## Variables d'environnement

Copier `.env.example` en `.env` et remplir les valeurs.

Teste ton README comme un inconnu : supprime ton dossier, clone le dépôt et suis les étapes. Si ça ne marche pas, c'est le README qu'il faut corriger.

Un bon README mentionne aussi les prérequis, comme la version de Node.js, les commandes utiles et, pour un projet ouvert, la licence.

Organiser son travail avec Git

Les issues se combinent bien avec les branches du cours sur Git. Une branche par tâche, nommée d'après elle :

git switch -c recettes-liste

Tu travailles sur la branche, tu ouvres une pull request qui ferme l'issue, puis tu fusionnes. Le tableau Kanban se met à jour de lui-même si tu utilises GitHub Projects.

À retenir

  • Découpe un objectif en tâches courtes qui se terminent par un résultat visible.
  • Un tableau Kanban range les tâches par état : à faire, en cours, terminé.
  • Limite le nombre de tâches en cours pour finir ce que tu commences.
  • Une issue décrit une tâche ou un bug : étapes, résultat attendu, résultat obtenu.
  • Closes #12 dans une pull request ferme l'issue quand la fusion est faite.
  • Un README dit ce qu'est le projet et comment le lancer, et se teste sur une machine vierge.

Pour aller plus loin

Sources officielles

Ensuite

Projet
Lignes de code
Niveau
Rez-de-chaussée
Appartement
Bonnes pratiques
Pièce
4/7
Plan n°
pratiques/04.gerer-un-projet
Lignes de code · fiches rédigées à partir des documentations officielles, sources citées en bas de chaque page.