Partie I : Guide Développeur
2. Configuration Locale et IDE
2.1 Installation et Configuration SonarLint
-
Visual Studio 2022
- Installation de l'extension SonarLint
- Connexion au serveur SonarQube
- Synchronisation des règles projet
-
Visual Studio Code
- Extension SonarLint pour TypeScript
- Configuration .vscode/settings.json
- Binding avec le projet SonarQube
2.2 Analyse Locale Pré-Commit
- Scripts PowerShell d'analyse locale
- Hook Git pre-commit
- Validation des Quality Gates localement
3. Règles et Standards par Technologie
3.1 C# / .NET
- Règles prioritaires alignées avec nos conventions
- Naming conventions (PascalCase, _camelCase)
- Architecture Clean (DDD, CQRS)
- Entity Framework best practices
- Async/await patterns
- Exclusions justifiées
- Fichiers générés (Migrations EF, OpenAPI)
- Code de tests (relaxation de certaines règles)
3.2 TypeScript
- Standards TypeScript stricts
- Type safety (no-any, strict null checks)
- ESLint integration
- Documentation JSDoc obligatoire
- Métriques spécifiques frontend
- Complexité cognitive des composants
- Duplication dans les services
4. Gestion de la Dette Technique
4.1 Priorisation des Issues
- Matrice de décision
- Sécurité (OWASP, CVE) → Immédiat
- Bugs → Sprint en cours
- Code Smells → Backlog technique
- Duplications → Refactoring planifié
4.2 Stratégies de Résolution
- Approche "Boy Scout Rule"
- Nettoyer le code touché
- Documenter les choix techniques
- Tests unitaires obligatoires
5. Tests et Couverture
5.1 Exigences de Couverture
-
Backend C#
- Services métier : 90% minimum
- Controllers API : 80% minimum
- Infrastructure : 60% minimum
-
Frontend TypeScript
- Logique métier : 85% minimum
- Services : 80% minimum
- Composants UI : 50% minimum
5.2 Intégration des Rapports
- Configuration dotnet test avec coverage
- Vitest coverage reports
- Exclusion des fichiers non pertinents