5 min lecture • Guide 764 of 877
Développement Backend avec GitScrum
Le développement backend implique les APIs, les bases de données et les services qui alimentent les applications. GitScrum aide les équipes à organiser le travail backend avec des exigences techniques claires et des dépendances.
Structure des Tâches Backend
Tâches de Développement d'API
STRUCTURE DE TÂCHE ENDPOINT API :
┌─────────────────────────────────────────────────────────────┐
│ │
│ TÂCHE API BIEN STRUCTURÉE : │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ BE-100 : Créer Endpoint Export Utilisateurs ││
│ │ ││
│ │ ENDPOINT : ││
│ │ POST /api/v1/exports/users ││
│ │ ││
│ │ REQUÊTE : ││
│ │ { ││
│ │ "format": "csv" | "xlsx", ││
│ │ "filters": { ││
│ │ "created_after": "date ISO", ││
│ │ "status": "active" | "inactive" ││
│ │ } ││
│ │ } ││
│ │ ││
│ │ RÉPONSE (202) : ││
│ │ { ││
│ │ "export_id": "uuid", ││
│ │ "status": "processing", ││
│ │ "estimated_seconds": 30 ││
│ │ } ││
│ │ ││
│ │ ERREURS : ││
│ │ 400 : Format ou filtres invalides ││
│ │ 403 : Pas de permission d'export ││
│ │ 429 : Trop d'exports en attente ││
│ │ ││
│ │ IMPLÉMENTATION : ││
│ │ ☐ Valider la requête ││
│ │ ☐ Mettre en file d'attente le job ││
│ │ ☐ Créer l'enregistrement d'export ││
│ │ ☐ Retourner réponse async ││
│ │ ││
│ │ TESTS : ││
│ │ ☐ Tests unitaires pour validation ││
│ │ ☐ Test d'intégration flux complet ││
│ │ ☐ Test de rate limit ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ ÉLÉMENTS CLÉS : │
│ ✅ Contrat API complet (requête/réponse) │
│ ✅ Cas d'erreur documentés │
│ ✅ Checklist d'implémentation │
│ ✅ Exigences de test │
└─────────────────────────────────────────────────────────────┘
Travail sur les Bases de Données
STRUCTURE DE TÂCHE BASE DE DONNÉES :
┌─────────────────────────────────────────────────────────────┐
│ │
│ TÂCHE DE MIGRATION : │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ BE-150 : Ajouter table exports ││
│ │ ││
│ │ SCHÉMA : ││
│ │ ┌─────────────────────────────────────────────────────┐││
│ │ │ exports │││
│ │ ├─────────────────────────────────────────────────────┤││
│ │ │ id: UUID (PK) │││
│ │ │ user_id: UUID (FK → users) │││
│ │ │ type: VARCHAR(50) │││
│ │ │ format: VARCHAR(10) │││
│ │ │ status: VARCHAR(20) [pending, processing, done] │││
│ │ │ file_url: TEXT (nullable) │││
│ │ │ error_message: TEXT (nullable) │││
│ │ │ expires_at: TIMESTAMP │││
│ │ │ created_at: TIMESTAMP │││
│ │ │ updated_at: TIMESTAMP │││
│ │ └─────────────────────────────────────────────────────┘││
│ │ ││
│ │ INDEX : ││
│ │ ☐ user_id (filtrer par utilisateur) ││
│ │ ☐ status (traiter pending) ││
│ │ ☐ expires_at (job de nettoyage) ││
│ │ ││
│ │ ROLLBACK : ││
│ │ DROP TABLE exports; ││
│ │ ││
│ │ NOTES DE DÉPLOIEMENT : ││
│ │ • Pas de downtime attendu (nouvelle table) ││
│ │ • Exécuter en staging d'abord ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ CHECKLIST MIGRATION : │
│ ☐ Fichier de migration créé │
│ ☐ Rollback testé │
│ ☐ Déploiement staging vérifié │
│ ☐ Déploiement production planifié │
└─────────────────────────────────────────────────────────────┘
Conception d'API
Contrats d'Abord
DÉVELOPPEMENT CONTRAT-FIRST :
═════════════════════════════
WORKFLOW :
1. Définir le contrat API (OpenAPI/Swagger)
2. Reviewer avec l'équipe frontend
3. Générer mock server
4. Frontend développe avec mock
5. Backend implémente le contrat
6. Intégration et tests
AVANTAGES :
├── Développement parallèle
├── Moins de surprises d'intégration
├── Documentation automatique
└── Tests de contrat possibles
Labels Recommandés
Organisation par Type
LABELS BACKEND
══════════════
PAR TYPE :
├── api - Travail sur endpoints
├── database - Migrations, requêtes
├── service - Logique métier
├── integration - APIs tierces
└── infrastructure - Déploiement, config
PAR COUCHE :
├── controller - Handlers HTTP
├── service-layer - Logique métier
├── repository - Accès données
└── middleware - Auth, logging, etc.
PAR URGENCE :
├── hotfix - Correction production
├── security - Vulnérabilité
└── performance - Optimisation
Bonnes Pratiques
Structurer le Travail Backend
| Pratique | Bénéfice |
|---|---|
| Contrats API documentés | Intégration fluide |
| Migrations avec rollback | Déploiement sûr |
| Tests pour chaque endpoint | Qualité maintenue |
| Dépendances explicites | Planification claire |
| Logs et monitoring | Debug facilité |
Erreurs à Éviter
ANTI-PATTERNS BACKEND
═════════════════════
❌ Endpoints mal documentés
└── Frontend bloqué, questions constantes
❌ Migrations sans rollback testé
└── Risque en production
❌ Pas de validation des entrées
└── Erreurs cryptiques
❌ Couplage fort frontend-backend
└── Changements difficiles
❌ Pas de monitoring
└── Problèmes invisibles