Qualité de Code, Linting & Sécurité¶
Automatiser la qualité et la sécurité de votre code — du formattage automatique au scan de vulnérabilités, le tout en self-hosted.
graph LR
A["Introduction"] --> B["Linters"]
B --> C["SonarQube"]
C --> D["Scan CVE"]
D --> E["SAST"]
E --> F["Scan images"]
F --> G["Pipeline CI"] Ce que vous allez apprendre¶
À la fin de ce tutoriel, vous serez capable de :
- Comprendre les différentes catégories d'outils de qualité (formatters, linters, SAST, SCA, scan images)
- Configurer ESLint, Prettier, Ruff et Black sur un projet Python + JavaScript
- Déployer SonarQube Community Edition en conteneur Podman
- Scanner les dépendances pour détecter les CVE connues (pip-audit, npm audit, Trivy)
- Analyser le code source avec Semgrep pour détecter les failles de sécurité
- Scanner les images conteneur avec Trivy avant déploiement
- Assembler tous ces outils dans un pipeline Gitea Actions
Prérequis¶
| Prérequis | Détail |
|---|---|
| Podman | Installe et configuré (voir tutoriel Podman Rootless) |
| Gitea | Instance Gitea avec Actions activees |
| Node.js | Version 20+ |
| Python | Version 3.11+ |
| Git | Version 2.x |
Parcours¶
| Section | Contenu |
|---|---|
| Introduction | Fondamentaux, taxonomie des outils, stack retenue |
| Linters & Formatters | ESLint, Prettier, Ruff, Black, pre-commit hooks |
| SonarQube | Déploiement Podman, premier scan, quality gates |
| Scan de dependances | pip-audit, npm audit, Trivy, CVE et CVSS |
| SAST Semgrep | Règles OWASP, faux positifs, règles custom |
| Scan d'images | Trivy image, remédiation, images minimales |
| Pipeline Gitea Actions | Workflow CI complet, quality gates, artefacts |