Avec quelle précision il lit votre produit
Syncanix découvre ce que votre produit sait faire en le lisant. Cela ne marche que s’il lit bien, alors nous le mesurons sur de vrais projets publics, nous publions le résultat, et chaque chiffre de cette page est rattaché à la suite de tests qui le produit. Si la lecture se dégrade, la compilation échoue avant que cette page puisse en dire trop.
Résultats principaux
Dernière vérification : 2026-07-18 · f8a6fe3c
Comment cela a été mesuré
- Le corrigé a été écrit à la main
Pour chaque projet nous avons lu le code nous-mêmes et noté toutes les actions qu’il possède réellement. Syncanix est ensuite noté face à cette liste : combien en a-t-il trouvé, et combien de ce qu’il a trouvé existait vraiment.
- Ce qui compte comme trouvé
Il doit nommer la même action à la même adresse, préfixes ajoutés par le code compris. Les paramètres sont comparés par position et non par nom, si bien que deux façons d’écrire « l’identifiant de la commande » au même endroit comptent comme une seule.
- Il lit seulement ; il n’exécute jamais rien
La découverte lit du code source. Elle n’exécute jamais votre application, n’observe pas votre trafic et n’appelle rien. Tous les chiffres ici viennent de la même lecture que fait `npx syncanix init` sur votre machine.
- Vérifié à chaque changement, figé par des tests
Les projets d’exemple sont relus à chaque changement du lecteur, et les chiffres de cette page sont rattachés par des tests à ce que produit cette exécution. Un recul fait échouer la compilation avant qu’il puisse partir en production.
De vrais projets publics, notés
27 vrais projets, pour la plupart des applications de référence open source, chacun avec un corrigé écrit à la main. Les projets sont publics : vous pouvez lire les mêmes fichiers que nous.
Applications d’exemple écrites exprès
Une petite application par framework, écrite pour le solliciter, notée face à un minimum que chacune doit atteindre. C’est l’ensemble qui tourne à chaque changement du lecteur.
| Framework | Applications d’exemple | Combiné | Minimum à atteindre |
|---|---|---|---|
| nestjs | 5 | 100% | 92% |
| express | 3 | 100% | 85% |
| fastapi | 8 | 100% | 92% |
| fastify | 3 | 100% | 85% |
| nextjs | 8 | 100% | 92% |
| graphql | 5 | 100% | 100% |
| grpc | 1 | 100% | 92% |
| trpc | 3 | 100% | 92% |
| websocket | 2 | 100% | 85% |
| springboot | 2 | 100% | 85% |
| django | 2 | 100% | 85% |
| flask | 2 | 100% | 85% |
| rails | 3 | 92.6% | 85% |
| phoenix | 1 | 100% | 85% |
| gin | 1 | 100% | 85% |
| chi | 1 | 100% | 85% |
| echo | 1 | 100% | 85% |
| fiber | 1 | 100% | 85% |
| net-http | 1 | 100% | 85% |
| actix | 2 | 100% | 85% |
| axum | 3 | 100% | 85% |
| laravel | 2 | 100% | 85% |
| aspnet | 1 | 100% | 85% |
| koa | 1 | 100% | 85% |
| hapi | 1 | 100% | 85% |
| elysia | 1 | 100% | 85% |
| litestar | 1 | 100% | 85% |
| sinatra | 1 | 100% | 85% |
| ktor | 1 | 100% | 85% |
| vapor | 1 | 100% | 75% |
| play | 1 | 100% | 75% |
| compojure | 1 | 100% | 75% |
| dream | 2 | 100% | 75% |
| servant | 1 | 100% | 75% |
| cowboy | 2 | 100% | 75% |
| plumber | 1 | 100% | 75% |
| lapis | 2 | 100% | 75% |
Projets réels entiers, figés à une version
Des projets réels complets, figés à une version pour que la note ne bouge pas toute seule, confrontés soit à la description que le projet publie de lui-même, soit à une liste écrite à la main.
| Framework | Application d’exemple | Score combiné | Confronté à |
|---|---|---|---|
| FastAPI | fastapi-realworld@029eb77 | 100% | openapi |
| Hono | hono-open-api-starter@0d5f3bf | 100% | hand-labelled |
| Symfony | symfony-realworld@5ad39de | 100% | openapi |
Ce que ces chiffres n’affirment pas
- Ce sont des projets de référence, pas un échantillon aléatoire de tous les logiciels. Le vôtre peut différer, et c’est pourquoi l’installation vous écrit une liste à relire au lieu de vous demander de nous croire.
- Ceci mesure la lecture : quelles actions existent et où. La qualité de la DESCRIPTION de chacune est évaluée séparément et n’entre pas dans ces chiffres.
- Le fait qu’une action exige une connexion est étiqueté prudemment par certains lecteurs, et peut diverger de la description publiée par le projet sur des actions réellement publiques. La note ci-dessus porte sur le fait de trouver les actions, pas sur cette étiquette.
Vérifiez-le sur votre propre code
La seule vérification qui compte vraiment, c’est votre propre produit : lancez l’installation et lisez la liste qu’elle écrit. Chaque capacité indique le fichier et la ligne d’où elle vient, vous pouvez donc confronter la liste à votre code en quelques minutes. Pour reproduire vous-même les chiffres de cette page :
pnpm --filter syncanix test:f1
pnpm --filter syncanix scan:realFrameworks pris en charge énumère tous les frameworks et langages qu’il sait lire, et que faire si le vôtre n’y est pas.