+05 - OUTILS DE DÉVELOPPEMENT
← Tous les projets

EPITECH C++ Coding Style Checker

Garantir la conformité du code C++ aux normes EPITECH, sans effort manuel. Cet outil analyse l'AST via libclang pour détecter 14+ règles de style, générer des rapports clairs et s'intégrer aux workflows CI/CD.

ANNÉE2026
RÔLEDéveloppement · Packaging · CI/CD
TYPEOutil open-source
STACKPython · libclang · Docker · GitHub Actions · Bash
EPITECH C++ Coding Style Checker
+LE PROJET

Automatiser la vérification de style pour gagner en rigueur et en productivité.

Ce projet répond à un besoin récurrent des étudiants et développeurs EPITECH : valider rapidement la conformité du code C++ aux normes de l'école. En s'appuyant sur libclang pour une analyse sémantique précise, l'outil vérifie 14 règles couvrant les fonctions, le nommage, les en-têtes et la mise en forme. Les rapports détaillés, l'exécution parallèle et l'intégration CI/CD en font un compagnon quotidien pour les projets.

Ce que j'ai fait
  • +Conception et implémentation des 14 règles de style EPITECH
  • +Développement d'un parseur AST basé sur libclang pour une détection précise
  • +Création de rapports détaillés avec sévérité, ligne et code de règle
  • +Optimisation des performances via une exécution parallèle multi-cœurs
  • +Packaging multi-OS (APT, DNF, Docker) pour une installation simplifiée
  • +Intégration CI/CD avec GitHub Actions et support des pre-commit hooks
  • +Système de warning pour les violations approchant les limites
PythonlibclangDockerGitHub ActionsBash
01

Une analyse sémantique, pas syntaxique

Contrairement aux outils basés sur des expressions régulières, ce checker utilise libclang pour parcourir l'AST du code. Cela permet de détecter des violations complexes, comme les fonctions trop longues ou les noms de variables incorrects, avec une précision inégalée.

Une analyse sémantique, pas syntaxique
02

Des rapports actionnables

Chaque violation est documentée avec le fichier, la ligne, la sévérité (MAJOR/MINOR/INFO) et le code de la règle. Les rapports sont conçus pour être lus rapidement, avec une mise en forme claire et des regroupements par fichier.

Des rapports actionnables
03

Prêt pour la production

L'outil est distribué via Docker et des gestionnaires de paquets (APT/DNF), avec une intégration native pour GitHub Actions. Les pre-commit hooks permettent de bloquer les commits non conformes, réduisant les allers-retours en revue de code.

Prêt pour la production
Gallery image 1
Gallery image 2

Image 1 / 2

+RÉSULTAT

Un outil opérationnel qui élimine les erreurs de style manuelles, accélère les revues de code et s'intègre parfaitement aux workflows existants.

0+règles de style vérifiées
as many as your pc canfichiers analysés en parallèle
0faux positifs (AST)
Projet suivant

Raytracer Physiquement Réaliste

01 - RENDU 3D