Abdoulrazack A.
Me contacter
Parlons de votre projet

Outillage · ML2026

Js-Ranker

Une note continue de 0 à 5 pour la qualité du code, prédite par un modèle plutôt que par une liste de règles.

Capture du projet Js-Ranker
Rôle
Machine learning, analyse statique, outillage
Stack
Node.js, TensorFlow.js, Acorn, AST, Express, GitHub Actions

Là où un linter applique des règles binaires, Js-Ranker attribue une note continue via un réseau de régression TensorFlow.js entraîné sur 10 features AST, avec conseils de refactoring priorisés, API REST et quality gate GitHub Actions.

10features AST
10→16→8→1réseau de régression
0–5note continue
CIquality gate

Le problème

« Ce code est-il bon ? » est une question vague. Je voulais rendre la qualité mesurable : une note continue, reproductible et défendable, basée sur la structure réelle du code.

Un linter dit « cette règle est violée ». Js-Ranker dit « 3,5 / 5 : voici pourquoi, et quoi corriger en premier ».

L’approche

Chaque fonction est parsée en AST ; dix features normalisées en sont extraites : nommage, modularité, complexité cyclomatique, profondeur d’imbrication, gestion d’erreurs, pureté, maintenabilité…

Elles alimentent un réseau 10 → 16 → 8 → 1. La note n’est pas une somme de règles : c’est une prédiction apprise, branchée dans la CI pour faire échouer un build sous un seuil.

Projet suivantLogic-Lens Une IA qui reconnaît la formule derrière une fonction, et sait dire « je ne sais pas ».