# Gabarits Universels de Pull Request & Merge Request Ce document fournit des modèles structurés pour rédiger des Pull Requests (GitHub, Gitea) et Merge Requests (GitLab) professionnelles, complètes et conformes aux standards de l'art. --- ## 1. Modèle Standard Universel (Markdown) Ce gabarit doit être utilisé dans le corps de description de la PR/MR, quel que soit l'outil ou la forge utilisée. ```markdown ## 🎯 Contexte & Objectif Refs / Closes # --- ## 🛠️ Modifications apportées - Ajout du middleware de validation des tokens avec délai de grâce de 30 secondes. - Mise à jour du schéma de base de données pour inclure la date d'invalidation de session. - Refactorisation du service de gestion des utilisateurs pour éviter les requêtes N+1. --- ## 🧪 Stratégie de Test & Preuves de Fonctionnement - [x] **Tests unitaires & intégration** : `pytest` / `npm test` exécutés avec 100% de succès. - [x] **Linter & Typage** : Aucun avertissement (`ruff check`, `eslint`, `tsc --noEmit`). - [x] **Vérification manuelle** : Parcours utilisateur testé en environnement local (login ➔ renouvellement ➔ déconnexion). ```text PASS tests/auth/test_session_invalidation.py (14 tests passed in 0.82s) ``` --- ## 📋 Checklist de Sécurité & Hygiène Git - [x] La branche a été rebasée sur la dernière version de la branche cible (`origin/main`). - [x] Aucun secret, clé d'API, mot de passe ou fichier sensible (`.env`, `.pem`) n'est présent dans le diff. - [x] Aucun fichier temporaire, log ou déchet de build n'est inclus (`.DS_Store`, `node_modules/`, `dist/`). - [x] Les messages de commit respectent la spécification **Conventional Commits 1.0.0**. - [x] La PR est prête pour une fusion par **Squash and Merge** (ou Rebase and Merge si commits atomiques validés). ``` --- ## 2. Commandes CLI par Forge Logicielle ### 2.1 GitHub (`gh` CLI) ```bash # 1. Ouvrir une PR standard gh pr create \ --base main \ --head feat/auth-token-refresh \ --title "feat(auth): add automatic session token grace period" \ --body-file .github/pull_request_template.md # 2. Ouvrir une PR en mode Draft (travail en cours ou en attente de retours) gh pr create --draft \ --base main \ --title "feat(auth): add automatic session token grace period [WIP]" \ --body "Travail en cours, tests en phase de stabilisation." # 3. Marquer une PR Draft comme prête pour la revue gh pr ready # 4. Fusionner via Squash and Merge gh pr merge --squash --delete-branch ``` --- ### 2.2 GitLab (`glab` CLI) ```bash # 1. Ouvrir une Merge Request standard glab mr create \ --target-branch main \ --source-branch feat/auth-token-refresh \ --title "feat(auth): add automatic session token grace period" \ --description "Description complète..." \ --remove-source-branch \ --squash-before-merge # 2. Ouvrir en mode Draft / Work in Progress glab mr create --draft \ --target-branch main \ --title "Draft: feat(auth): add automatic session token grace period" ``` --- ### 2.3 Gitea & Forges Génériques Pour Gitea ou toute forge sans outil CLI installé en local : 1. Pousser la branche de travail vers le dépôt distant : ```bash git push -u origin feat/auth-token-refresh ``` 2. Git affichera dans la console le lien direct pour créer la Pull Request sur l'interface web de Gitea : ```text remote: Create a pull request for 'feat/auth-token-refresh' on Gitea by visiting: remote: https://gitea.example.com/org/repo/compare/main...feat/auth-token-refresh ``` 3. Remplir le formulaire avec le titre conventionnel et le corps Markdown universel ci-dessus. 4. Sélectionner l'option **Squash and Merge** lors de l'approbation finale.