Coloration de code
Colore 39 langages : 1 000 lignes de TypeScript en 1,3 ms, sortie sûre par construction. Le colorateur de code met en couleur 39 langages dans l’application. Il est conçu pour que la sortie soit sûre par construction : le code affiché ne peut pas injecter de balise, quel que soit le texte colorié.
Chiffres clés
- 39 langages colorés : poids : 194 + 23 Ko avant, 100 Ko maintenant
- 1,3 ms pour 1 000 lignes de TypeScript : contre 22 ms pour highlight.js
- ×7 à ×25 plus rapide selon le langage : sur TSX, Python, SQL et Rust
Avant et maintenant
- 1 000 lignes de TypeScript : 22 ms avant, 1,3 ms maintenant (16,9 fois mieux). highlight.js contre moteur maison.
Ce que ce moteur remplace
Coloration de code remplace highlight.js dans l’application.
Comment ça marche
- Reconnaître le langage. Le texte est découpé en mots-clés, chaînes, nombres et commentaires, selon le langage choisi.
- Échapper par construction. Chaque morceau est écrit comme du texte, jamais comme du HTML : 17 280 passes de tests, 0 échec.
- Rester léger. Le code envoyé au navigateur passe de 194 + 23 Ko à 100 Ko.
Ce qui n’est pas parfait
- SQL et TSX sont plus bas en concordance de classification avec la référence : F1 de 0,86 sur les mots-clés. La couleur peut différer de highlight.js sur certains mots.
- Le gain de vitesse varie de ×7 à ×25 selon le langage ; le chiffre de 1,3 ms vaut pour du TypeScript.
- Mesures internes : le gain dépend du langage et de la machine.
Source des chiffres
Document du dépôt AstroQuest : docs/reference/bilan-moteurs-natifs-2026-10-05.md. Mesures internes, en développement, sur fichiers réels : des ordres de grandeur, pas des garanties.
Questions fréquentes
Que fait la technologie « Coloration de code » d’AstroQuest ?
Le colorateur de code met en couleur 39 langages dans l’application. Il est conçu pour que la sortie soit sûre par construction : le code affiché ne peut pas injecter de balise, quel que soit le texte colorié.
Quelles sont les limites de « Coloration de code » ?
SQL et TSX sont plus bas en concordance de classification avec la référence : F1 de 0,86 sur les mots-clés. La couleur peut différer de highlight.js sur certains mots. Le gain de vitesse varie de ×7 à ×25 selon le langage ; le chiffre de 1,3 ms vaut pour du TypeScript. Mesures internes : le gain dépend du langage et de la machine.