Skip to main content

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