- Frontend : Interface utilisateur (React/Vue/Angular)
- Backend : Logique métier et API (Node.js/Python/Go)
- Base de données : Persistance des données (PostgreSQL/MongoDB)
- Services externes : APIs tierces, cloud services
- Variables : camelCase
- Fonctions : camelCase
- Classes/Composants : PascalCase
- Constantes : UPPER_SNAKE_CASE
- Fichiers : kebab-case
¶ 3. Structure de projet standard
projet/
├── src/
│ ├── api/ # Endpoints API
│ ├── components/ # Composants réutilisables
│ ├── services/ # Logique métier
│ ├── utils/ # Fonctions utilitaires
│ └── types/ # Définitions de types
├── tests/
├── docs/
└── README.md
¶ Technologies recommandées
- Framework principal : React avec TypeScript
- Gestion d'état : Redux Toolkit ou Zustand
- Styling : Tailwind CSS
- Routing : React Router
- Langage principal : Node.js avec TypeScript
- Framework : Express.js ou Fastify
- ORM : Prisma ou Sequelize
- Validation : Zod
- PostgreSQL pour les données relationnelles
- Redis pour le cache
- MongoDB pour les documents non structurés (si nécessaire)
- Chaque fonction doit avoir un commentaire JSDoc
- Les APIs doivent être documentées avec OpenAPI
- Les décisions architecturales importantes doivent être enregistrées
- Couverture de code minimale : 80%
- Tests unitaires pour chaque fonction critique
- Tests d'intégration pour les flux complets
- Tests E2E pour les parcours utilisateurs principaux
- Validation de toutes les entrées utilisateur
- Utilisation de bibliothèques de sanitization
- Mise en place d'un rate limiting
- Authentification JWT/OAuth2 selon le contexte
- Mise en cache des données fréquemment accédées
- Pagination des résultats volumineux
- Compression des réponses HTTP
- Optimisation des requêtes de base de données
¶ Standards de codage
- Commits atomiques et descriptifs
- Messages de commit au présent impératif
- Branches nommées : feature/nom-de-la-feature
- Pull Requests avec description et liens vers les issues
- Minimum 1 approbation avant merge
- Vérification de la qualité du code
- Respect des conventions du projet
- Tests appropriés inclus
- GitHub Actions pour l'intégration continue
- Déploiement automatique sur les environnements de staging
- Tests automatisés à chaque push
- Logs structurés avec Winston/Bunyan
- Métriques avec Prometheus
- Alerting avec Sentry/AlertManager
- Dashboard Grafana pour la visualisation
Cette architecture guide sera référencée dans tous les projets et mise à jour régulièrement selon les retours d'expérience.