Salut les devs ! 👋 Bienvenue dans ce template spécialement conçu pour vos BAP. Ce repo va vous accompagner dans la découverte de la gestion de projet avec GitHub.
Template pour vos projets BAP avec GitHub Projects. Configuration pré-établie pour une gestion de projet efficace.
- 📚 Qu'est-ce que c'est ?
- 🎯 Démarrage rapide
- 📊 Organisation
- 🛠️ Comment utiliser ce template ?
- 🎯 GitHub Projects : Votre nouveau meilleur ami
- 📝 Rédiger une issue efficace
- 🔄 Workflow de développement complet
- 🛡️ Protection de la branche main
- 🎨 Convention Conventional Commits
- 🔧 Configuration administrative
- 📋 Template de Pull Request
- 📚 Documentation détaillée
Ce template est votre point de départ pour comprendre et maîtriser :
- 🔗 Le lien entre un repository GitHub et les outils de gestion de projet
- 📊 Les GitHub Projects et leur utilisation
- 🎯 Les bonnes pratiques de gestion de projet en équipe
- 🛠️ L'organisation du workflow de développement
💡 Note importante : Le template de projet GitHub "BAP-Template-projet" est déjà configuré par l'organisation IIM-CDI. Vous n'avez qu'à l'utiliser !
- Créer votre projet : Utilisez ce template → "Use this template"
- Configurer GitHub Project : Onglet "Projects" → Template "BAP-Template-projet"
- Lier automatiquement : Workflows → Auto-add →
is:issue,pr is:open
7 colonnes pré-configurées :
- 📂 Toutes les tâches | 📅 Pour jeudi prochain | 🎯 TO DO aujourd'hui
- 🔄 En cours | 👀 Review | ✅ Fini aujourd'hui | 🏆 Terminé
Labels BAP : gestion | front-end | back-end | documentation | iot
Format : [TYPE] Description claire
Obligatoire :
- Durée : Rapide (<30min) | Normal (30min-2h) | Long (>2h)
- Difficulté : Simple | Moyen | Dur
- Story Points : 1-2 (simple) | 3-5 (moyen) | 8-13 (complexe)
- Critères d'acceptance (checkboxes)
Exemple :
[FRONT] Créer page de connexion responsive
- Durée: Normal | Difficulté: Moyen | Points: 5
- [ ] Formulaire HTML5 valide
- [ ] Responsive mobile/desktop
- [ ] Validation côté client- Issue → Création avec template approprié
- Branche →
feat/nom-fonctionnalite - Commits → Convention :
feat:,fix:,docs:, etc. - PR → Review obligatoire + validation GitHub Actions
- Merge → Protection branche main activée
- Commits : Convention Conventional Commits obligatoire
- Branche main : Protégée, PR + review requis
- Validation : GitHub Actions vérifie automatiquement
- Protection : Impossible de push direct sur main
- Utilisez ce repository comme template (bouton "Use this template")
- Créez un nouveau repository pour votre BAP
- Allez dans l'onglet "Projects" de votre nouveau repo
- Cliquez sur "New project"
- Sélectionnez le template "BAP-Template-projet" dans la liste
- Le projet se crée automatiquement avec toute la structure ! 🎉
✨ Tout est déjà configuré :
- ✅ Les 7 colonnes du workflow BAP
- ✅ Les custom fields (Story Points, Durée, Difficulté, Dates)
- ✅ Les vues et filtres adaptés
Pour que toutes les issues et pull requests de votre repo soient ajoutées automatiquement à votre projet :
- Ouvrez votre GitHub Project
- Cliquez sur Workflows (en haut à droite)
- Dans le menu à gauche, sélectionnez Auto-add to project
- Cliquez sur les trois petits points (⋯) à droite de la règle
- Dans les Filters, choisissez le repository correspondant à votre projet
- Dans les critères, mettez :
is:issue,pr is:open - Cliquez sur Save and turn on
Ainsi, toutes les issues et PR ouvertes de votre repo seront ajoutées automatiquement à votre tableau de projet !
GitHub Projects est l'outil intégré à GitHub qui vous permet de gérer vos projets directement depuis votre repository. Imaginez-le comme un tableau Kanban intelligent qui comprend votre code ! 🧠
🎯 7 colonnes pré-configurées :
📂 Colonnes du projet :
├── 📋 Toutes les tâches (Vue d'ensemble complète)
├── 📅 Pour jeudi prochain (Objectifs à court terme)
├── 🎯 TO DO aujourd'hui (Focus du jour)
├── 🔄 En cours (Work in progress)
├── 👀 Review (En révision)
├── ✅ Fini aujourd'hui (Accomplissements du jour)
└── 🏆 Tâches finies du projet (Historique complet)
🎨 Custom Fields pré-configurés :
- 📊 Story Points : Estimation de la complexité globale (1-2 : simple | 3-5 : moyen | 8-13 : complexe)
- ⏱️ Durée : Rapide (< 30 min) | Normal (30 min - 2h) | Long (> 2h)
- 🔧 Difficulté technique : Simple | Moyen | Dur
- 📅 Dates : Date de début et de fin pour le suivi
🏷️ Labels spécifiques BAP :
- 📋
gestion de projet| 🎨front-end| ⚙️back-end| 📚documentation| 🔌iot
Titre : [TYPE] Description claire et précise
- Durée : Rapide (<30min) | Normal (30min-2h) | Long (>2h)
- Difficulté : Simple | Moyen | Dur
- Story Points : 1-2 (simple) | 3-5 (moyen) | 8-13 (complexe)
- Critères d'acceptance avec checkboxes
[GESTION] Organiser le planning Sprint 1
**Description :** Planifier le premier sprint avec objectifs et deadlines
**Durée :** Normal | **Difficulté :** Simple | **Story Points :** 3
**Critères d'acceptance :**
- [ ] Planning défini avec dates claires
- [ ] Tâches réparties équitablement
- [ ] Objectifs SMART définis[FRONT] Créer page de connexion responsive
**Description :** Développer la page de connexion avec design responsive
**Durée :** Long | **Difficulté :** Moyen | **Story Points :** 8
**Critères d'acceptance :**
- [ ] Design responsive (mobile/desktop)
- [ ] Validation côté client
- [ ] Tests cross-browser[BACK] Implémenter API d'authentification
**Description :** Créer les endpoints d'authentification JWT
**Durée :** Long | **Difficulté :** Dur | **Story Points :** 13
**Critères d'acceptance :**
- [ ] Endpoints POST /auth/login et /auth/register
- [ ] Validation des données d'entrée
- [ ] Tests unitaires[FRONT] Créer page de connexion responsive
**Description :**
Développer la page de connexion avec design responsive et validation.
**Durée :** Normal | **Difficulté :** Moyen | **Story Points :** 5
**Critères d'acceptance :**
- [ ] Formulaire HTML5 valide
- [ ] Design responsive (mobile/desktop)
- [ ] Validation côté client
- [ ] Tests sur différents navigateurs-
📝 Création de l'issue
- Quelqu'un identifie un besoin → Création d'une issue détaillée
-
🎯 Planification
- Issue ajoutée au projet → Assignation → Estimation
-
🏗️ Développement
- Création de branche → Développement → Commits réguliers
-
🔍 Review
- Pull Request → Review par les pairs → Corrections si nécessaire
-
✅ Déploiement
- Merge → Tests → Fermeture de l'issue
Branches :
feat/nom-de-la-fonctionnalité
fix/description-du-bug
chore/correction-urgente
Commits (Convention Conventional Commits) :
feat: ajouter système de connexion
fix: corriger bug de validation
docs: mettre à jour le README
style: corriger l'indentation
refactor: optimiser les requêtes DB
test: ajouter tests unitaires
chore: mettre à jour les dépendances
- 🛡️ Pull Request obligatoire : Impossible de push directement sur
main - ✅ Validation des commits : Tous les commits doivent respecter la convention
- 👥 Review obligatoire : Au moins 1 approbation requise
- 🔄 Branche à jour : La branche doit être synchronisée avant le merge
- 💬 Résolution des commentaires : Tous les commentaires doivent être résolus
Dans Settings → Branches → Add rule pour main :
☑️ Require a pull request before merging
☑️ Require approvals (1 minimum)
☑️ Dismiss stale PR approvals when new commits are pushed
☑️ Require status checks to pass before merging
☑️ Require branches to be up to date before merging
☑️ Status checks: "Validate Commit Messages"
☑️ Require conversation resolution before merging
☐ Allow force pushes (DÉCOCHER)
☐ Allow deletions (DÉCOCHER)
- Créer une branche de feature
- Développer et committer (avec convention)
- Ouvrir une Pull Request
- ✅ GitHub Actions valide automatiquement les commits
- ✅ Review et approbation d'un pair
- ✅ Merge possible uniquement si tout est vert
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
| Type | Description | Exemple |
|---|---|---|
feat |
Nouvelle fonctionnalité | feat(auth): add login system |
fix |
Correction de bug | fix(api): handle null responses |
docs |
Documentation | docs: update installation guide |
style |
Style de code | style: fix indentation |
refactor |
Refactorisation | refactor(db): optimize queries |
test |
Tests | test: add user service tests |
chore |
Maintenance | chore: update dependencies |
perf |
Performance | perf: optimize loading time |
ci |
CI/CD | ci: add GitHub Actions workflow |
build |
Build system | build: configure webpack |
revert |
Annulation | revert: remove broken feature |
- ✅ GitHub Actions uniquement vérifie automatiquement tous les commits
- ❌ Les PRs avec des commits non conformes seront bloquées
- ⚡ Feedback immédiat dans les Pull Requests
- 📝 Commentaires automatiques avec explications d'erreur
# Modifier le dernier commit
git commit --amend -m "feat(auth): add login functionality"
# Modifier plusieurs commits
git rebase -i HEAD~3
# Forcer la mise à jour
git push --force-with-lease- Créer une branche test :
git checkout -b test/bad-commit - Commit avec mauvais format :
git commit -m "bad message" - Push et ouvrir PR
- ✅ Vérifier que le workflow échoue
- Modifier le commit :
git commit --amend -m "test: verify commit validation" - Push force :
git push --force-with-lease - ✅ Vérifier que le workflow passe
Le status check n'apparaît pas :
- Vérifier que le workflow
.github/workflows/commitlint.ymlexiste - Ouvrir une PR de test pour déclencher le workflow
- Retourner dans Settings → Branches → Refresh la liste
Le workflow ne se lance pas :
- Vérifier la syntaxe YAML du workflow
- Vérifier les permissions du repository
- Aller dans Actions → Vérifier les logs
Chaque PR utilise automatiquement ce template :
- Description : Changements apportés
- Type de changement : Fix, Feature, Documentation, etc.
Pour aller plus loin, consultez :
.github/ADMIN_SETUP.md: Guide de configuration pour les administrateurs.github/BRANCH_PROTECTION.md: Configuration détaillée de la protection des branches.github/pull_request_template.md: Template automatique pour les Pull Requests
Ces fichiers contiennent tous les détails techniques et exemples concrets pour maîtriser la gestion de projet GitHub.
Happy coding ! 🎉
Template BAP créé avec ❤️ pour les étudiants de 2ème année coding 🦐