|
| 1 | +--- |
| 2 | +layout: default |
| 3 | +title: Accueil |
| 4 | +nav_order: 0 |
| 5 | +permalink: /fr/ |
| 6 | +--- |
| 7 | + |
| 8 | +> 🇬🇧 **[English version](../)** |
| 9 | +
|
| 10 | +<p align="center"> |
| 11 | + <img src="../assets/branding/logo-128.png" alt="Agentic Accelerator Framework" width="100"> |
| 12 | +</p> |
| 13 | + |
| 14 | +# Atelier d'analyse de la qualité du code |
| 15 | + |
| 16 | +Bienvenue dans l'**Atelier d'analyse de la qualité du code** — un atelier pratique et progressif qui vous apprend à intégrer l'analyse de la qualité du code dans vos pipelines CI/CD à l'aide d'outils open source de référence. |
| 17 | + |
| 18 | +> [!NOTE] |
| 19 | +> Cet atelier fait partie du [Agentic Accelerator Framework](https://github.com/devopsabcs-engineering/agentic-accelerator-framework). |
| 20 | +
|
| 21 | +Vous analyserez cinq applications de démonstration écrites en TypeScript, Python, C#, Java et Go en utilisant une **architecture d'analyse à 4 outils** : linters par langage, détection de duplication de code, analyse de complexité cyclomatique et mesure de la couverture de tests. Tous les résultats sont normalisés au format [SARIF v2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/sarif-v2.1.0.html) pour un reporting unifié dans GitHub Advanced Security ou Azure DevOps Advanced Security. |
| 22 | + |
| 23 | +## Aperçu de l'architecture |
| 24 | + |
| 25 | +```mermaid |
| 26 | +graph TB |
| 27 | + subgraph "Demo Apps" |
| 28 | + A1["cq-demo-app-001<br/>TypeScript / Express"] |
| 29 | + A2["cq-demo-app-002<br/>Python / Flask"] |
| 30 | + A3["cq-demo-app-003<br/>C# / ASP.NET Core"] |
| 31 | + A4["cq-demo-app-004<br/>Java / Spring Boot"] |
| 32 | + A5["cq-demo-app-005<br/>Go / net/http"] |
| 33 | + end |
| 34 | +
|
| 35 | + subgraph "4-Tool Scanner Architecture" |
| 36 | + L["Per-Language Linters<br/>ESLint · Ruff · .NET Analyzers<br/>Checkstyle · golangci-lint"] |
| 37 | + D["Duplication Detection<br/>jscpd"] |
| 38 | + C["Complexity Analysis<br/>Lizard"] |
| 39 | + T["Coverage Tools<br/>Jest · pytest-cov · Coverlet<br/>JaCoCo · go test -cover"] |
| 40 | + end |
| 41 | +
|
| 42 | + subgraph "SARIF Pipeline" |
| 43 | + S1["Native SARIF"] |
| 44 | + S2["lizard-to-sarif.py"] |
| 45 | + S3["coverage-to-sarif.py"] |
| 46 | + U["Unified SARIF Results"] |
| 47 | + end |
| 48 | +
|
| 49 | + subgraph "Reporting" |
| 50 | + GH["GitHub Security Tab"] |
| 51 | + ADO["ADO Advanced Security"] |
| 52 | + PBI["Power BI Dashboard"] |
| 53 | + end |
| 54 | +
|
| 55 | + A1 & A2 & A3 & A4 & A5 --> L & D & C & T |
| 56 | + L --> S1 |
| 57 | + D --> S1 |
| 58 | + C --> S2 |
| 59 | + T --> S3 |
| 60 | + S1 & S2 & S3 --> U |
| 61 | + U --> GH & ADO & PBI |
| 62 | +``` |
| 63 | + |
| 64 | +## Prérequis |
| 65 | + |
| 66 | +Avant de commencer l'atelier, assurez-vous d'avoir installé les éléments suivants : |
| 67 | + |
| 68 | +- **Node.js** 20+ et npm |
| 69 | +- **Python** 3.12+ et pip |
| 70 | +- **.NET SDK** 8.0+ |
| 71 | +- **Java** 21+ (JDK) et Maven |
| 72 | +- **Go** 1.22+ |
| 73 | +- **Docker Desktop** (ou Docker-in-Docker dans Codespaces) |
| 74 | +- **Visual Studio Code** avec les extensions recommandées |
| 75 | +- **GitHub CLI** (`gh`) authentifié avec votre compte GitHub |
| 76 | +- Un **compte GitHub** avec accès à l'organisation `devopsabcs-engineering` (ou votre propre fork) |
| 77 | + |
| 78 | +Consultez le [Lab 00 : Prérequis](labs/lab-00-prerequisites/) pour les instructions d'installation détaillées. |
| 79 | + |
| 80 | +## Labs |
| 81 | + |
| 82 | +| # | Lab | Durée | Niveau | |
| 83 | +|---|-----|-------|--------| |
| 84 | +| 00 | [Prérequis](labs/lab-00-prerequisites/) | 30 min | Débutant | |
| 85 | +| 01 | [Explorer les applications de démonstration](labs/lab-01-explore-demo-apps/) | 30 min | Débutant | |
| 86 | +| 02 | [Analyse de lint](labs/lab-02-linting/) | 45 min | Intermédiaire | |
| 87 | +| 03 | [Analyse de complexité](labs/lab-03-complexity/) | 30 min | Intermédiaire | |
| 88 | +| 04 | [Détection de duplication](labs/lab-04-duplication/) | 30 min | Intermédiaire | |
| 89 | +| 05 | [Analyse de couverture](labs/lab-05-coverage/) | 45 min | Intermédiaire | |
| 90 | +| 06 | [CI/CD avec GitHub Actions](labs/lab-06-github-actions/) | 30 min | Intermédiaire | |
| 91 | +| 06-ADO | [CI/CD avec les pipelines ADO](labs/lab-06-ado-pipelines/) | 30 min | Intermédiaire | |
| 92 | +| 07 | [Remédiation (GitHub)](labs/lab-07-remediation-github/) | 45 min | Avancé | |
| 93 | +| 07-ADO | [Remédiation (ADO)](labs/lab-07-ado-remediation/) | 45 min | Avancé | |
| 94 | +| 08 | [Tableau de bord Power BI](labs/lab-08-dashboard/) | 45 min | Avancé | |
| 95 | + |
| 96 | +## Programme de l'atelier |
| 97 | + |
| 98 | +### Demi-journée (3,5 heures) |
| 99 | + |
| 100 | +| Horaire | Activité | |
| 101 | +|---------|----------| |
| 102 | +| 0:00 – 0:30 | Lab 00 : Prérequis | |
| 103 | +| 0:30 – 1:00 | Lab 01 : Explorer les applications de démonstration | |
| 104 | +| 1:00 – 1:45 | Lab 02 : Analyse de lint | |
| 105 | +| 1:45 – 2:15 | Lab 03 : Analyse de complexité | |
| 106 | +| 2:15 – 2:45 | Lab 04 : Détection de duplication | |
| 107 | +| 2:45 – 3:00 | Pause | |
| 108 | +| 3:00 – 3:30 | Lab 06 : GitHub Actions (ou Lab 06-ADO) | |
| 109 | + |
| 110 | +### Journée complète (7 heures) |
| 111 | + |
| 112 | +| Horaire | Activité | |
| 113 | +|---------|----------| |
| 114 | +| 0:00 – 0:30 | Lab 00 : Prérequis | |
| 115 | +| 0:30 – 1:00 | Lab 01 : Explorer les applications de démonstration | |
| 116 | +| 1:00 – 1:45 | Lab 02 : Analyse de lint | |
| 117 | +| 1:45 – 2:15 | Lab 03 : Analyse de complexité | |
| 118 | +| 2:15 – 2:45 | Lab 04 : Détection de duplication | |
| 119 | +| 2:45 – 3:00 | Pause | |
| 120 | +| 3:00 – 3:45 | Lab 05 : Analyse de couverture | |
| 121 | +| 3:45 – 4:15 | Lab 06 : GitHub Actions | |
| 122 | +| 4:15 – 4:45 | Lab 06-ADO : Pipelines ADO | |
| 123 | +| 4:45 – 5:00 | Pause | |
| 124 | +| 5:00 – 5:45 | Lab 07 : Remédiation (GitHub) | |
| 125 | +| 5:45 – 6:30 | Lab 07-ADO : Remédiation (ADO) | |
| 126 | +| 6:30 – 6:45 | Pause | |
| 127 | +| 6:45 – 7:00 | Lab 08 : Tableau de bord Power BI | |
| 128 | + |
| 129 | +## Pour commencer |
| 130 | + |
| 131 | +1. **Forkez ou utilisez ce modèle** pour créer votre propre instance de l'atelier. |
| 132 | +2. Complétez le [Lab 00 : Prérequis](labs/lab-00-prerequisites/) pour configurer votre environnement. |
| 133 | +3. Parcourez les labs dans l'ordre — chaque lab s'appuie sur le précédent. |
| 134 | + |
| 135 | +> **Astuce** : Cet atelier est conçu pour GitHub Codespaces. Cliquez sur **Code → Codespaces → New codespace** pour obtenir un environnement préconfiguré avec tous les outils installés. |
| 136 | +
|
| 137 | +## Dépôts associés |
| 138 | + |
| 139 | +| Dépôt | Description | |
| 140 | +|-------|-------------| |
| 141 | +| [Agentic Accelerator Framework](https://github.com/devopsabcs-engineering/agentic-accelerator-framework) | Définitions d'agents, instructions, compétences et workflows CI/CD | |
| 142 | +| [Agentic Accelerator Workshop](https://devopsabcs-engineering.github.io/agentic-accelerator-workshop/) | Atelier pratique pour les agents Accelerator propulsés par l'IA | |
| 143 | +| [Accessibility Scan Workshop](https://devopsabcs-engineering.github.io/accessibility-scan-workshop/) | Atelier d'analyse d'accessibilité WCAG 2.2 | |
| 144 | +| [FinOps Scan Workshop](https://devopsabcs-engineering.github.io/finops-scan-workshop/) | Atelier d'analyse de la gouvernance des coûts Azure | |
0 commit comments