DE51 — Vincent Hilaire
Arnaud Michel · Benjamin Groisne · Antoine Laurant
Là où Vim et Neovim nécessitent des heures de configuration, Helix propose un environnement fonctionnel et performant prêt à l'emploi.
6 dimensions auditées
| Code source |
| Application |
| Site web |
| Documentation |
| Issues et Pull Requests |
| GitHub Discussions |
cargo fmt, cargo clippy, cargo audit)| Critère | Note | Max |
|---|---|---|
| Lisibilité du code | 2 | 3 |
| Architecture | 2 | 3 |
| Gestion des dépendances externes | 1 | 3 |
| Gestion des erreurs et robustesse | 2 | 3 |
| Pratiques CI/CD et versionnement | 2 | 3 |
| Documentation du code | 1 | 3 |
| Tests | 2 | 3 |
| Sécurité du code | 1 | 3 |
| Maintenabilité | 2 | 3 |
| Sous-total | 15 | 27 |
cargo fmt enforced en CIunsafe sur 15 sans commentaire // SAFETY:SECURITY.mdcargo audit absent de la CI///# Errors inexistantes (2 occurrences seulement)cargo audit hors CI| Critère | Note | Max |
|---|---|---|
| Fonctionnalités d'édition core | 2 | 3 |
| Language Server Protocol | 3 | 3 |
| Tree-sitter | 3 | 3 |
| Modèle modal et keybindings | 3 | 3 |
| Portabilité multi-plateforme | 3 | 3 |
| Interface utilisateur | 3 | 3 |
| Sous-total | 17 | 18 |
kill -9 en moins de 5 secondesgithub_dark_tritanopia)Seul comportement instable reproduit : crash sur usage intensif des macros avec fichiers volumineux.
Score parfait — 10/10
En quelques secondes depuis la page d'accueil : ce qu'est Helix, en quoi il diffère de Vim, pour qui il est fait.
Accessible en un clic. Méthodes distinctes selon le profil utilisateur (cargo, paquet système, binaire). Les trois OS couverts.
Site responsive. Documentation, keybindings et CHANGELOG accessibles depuis le header. Moteur de recherche intégré dans la documentation.
| Critère | Note | Max |
|---|---|---|
| Complétude | 4 | 4 |
| Cohérence avec l'application | 2 | 3 |
| Organisation et navigation | 3 | 3 |
| Qualité des exemples et des explications | 1 | 3 |
| Accessibilité aux débutants | 2 | 3 |
| Mise à jour et versioning | 1 | 2 |
| Sous-total | 13 | 18 |
config.toml documentées avec valeurs et défauts%s)hx --tutor) inaccessible depuis le sitemic : documenté comme "bloc", étiqueté "Comment" dans l'interface| Critère | Note | Max |
|---|---|---|
| Qualité du triage des issues | 1 | 3 |
| Réactivité des mainteneurs sur les issues | 2 | 3 |
| Qualité du processus de contribution (PR) | 3 | 3 |
| Transparence sur les décisions et la roadmap | 1 | 3 |
| Sous-total | 7 | 12 |
bug, labels génériques
| Critère | Note | Max |
|---|---|---|
| Activité et vitalité de la communauté | 2 | 3 |
| Qualité des réponses | 2 | 3 |
| Présence et rôle des mainteneurs | 1 | 3 |
| Organisation et découvrabilité | 2 | 2 |
| Sous-total | 7 | 11 |
| Dimension | /20 |
|---|---|
| Code source | 11,1 |
| Application | 18,9 |
| Site web | 20,0 |
| Documentation | 14,4 |
| Issues et Pull Requests | 11,7 |
| Discussions | 12,7 |
| Total | 69 / 96 |
Application (18,9/20) et Site web (20/20) forment un pic net. L'énergie du projet s'est concentrée sur ce qui est perçu directement — le résultat est à la hauteur de l'ambition.
Code source (11,1/20), gouvernance (11,7/20) et communauté (12,7/20) creusent un déficit symétrique. Ces lacunes ne freinent pas les utilisateurs — elles freinent les contributeurs, exposant le projet à une dépendance croissante sur un noyau restreint de mainteneurs.
Sécurisation et robustesse critique du code source
Mise en place d'un espace de suivi public de l'avancement du projet
Absence de cargo audit et cargo deny en CI. Les vulnérabilités et les licences non conformes ne sont pas bloquées automatiquement.
13 blocs unsafe sur 15 sans commentaire // SAFETY:. Zone d'ombre critique pour toute contribution externe.
Aucun SECURITY.md. Les chercheurs en sécurité n'ont pas de canal de signalement responsable.
cargo audit en CI avec blocage sur CVE de sévérité medium ou supérieurecargo deny avec liste blanche de licences (MIT, Apache-2.0, ISC, MPL-2.0)SECURITY.md avec procédure de divulgation responsableunsafe avec invariants // SAFETY:thiserror sur l'ensemble du workspace
| Phase | Profil | Effort |
|---|---|---|
| Phase 1 | Ingénieur DevOps | 0,5 HM |
| Phase 1 | Expert Rust | 0,2 HM |
| Phase 2 | Expert Rust | 0,8 HM |
| Phase 2 | Ingénieur DevOps | 0,2 HM |
| Phase 3 | Expert Rust | 1,0 HM |
| Phase 3 | Ingénieur DevOps | 0,3 HM |
| Total | 3,0 HM | |
6 semaines calendaires · 2 experts · 40 700 €
Expert Rust senior : 650 €/j × 44 j
Ingénieur DevOps senior : 550 €/j × 22 j
| Indicateur | Cible |
|---|---|
Blocs unsafe documentés avec // SAFETY: | 100 % |
| CVE ouvertes bloquant la CI | 0 |
| Licences non conformes détectées en CI | 0 |
| Crashs LSP sans notification visuelle | 0 |
| Crashs macro sur fichiers de plus de 10 000 lignes | 0 |
Assumé dans l'issue #5877 : projet bénévole sans engagements formels. Les contributeurs potentiels n'ont aucune visibilité sur les priorités.
Aucun milestone GitHub actif. Il est impossible de savoir ce qui est prévu pour la prochaine release.
Refus de fonctionnalités et choix de conception dans des issues isolées, introuvables sans connaître déjà le projet en profondeur.
45 % des PRs externes refusées. Sans visibilité préalable sur le périmètre accepté, une partie de ces refus était prévisible et évitable.
S'appuyer sur GitHub Projects — déjà dans l'écosystème, sans outil externe à adopter.
4 colonnes : Backlog, En cours, En review, Livré.
Alimenté lors du triage habituel — déplacer une carte, pas écrire un commentaire.
Centraliser les fonctionnalités explicitement hors périmètre, avec lien systématique dans les refus. Évite que les contributeurs travaillent sur des PRs vouées au refus.
Signale les issues acceptées en attente d'un contributeur. Complété par le pinning de discussions de référence sur les choix architecturaux majeurs.
| Tâche | Durée | Effort |
|---|---|---|
| GitHub Project + 4 colonnes | 1 sem. | 0,1 HM |
| Document "Non-Goals" | 1 sem. | 0,1 HM |
| Label + protocole de triage | 0,5 sem. | 0,05 HM |
| Pinning des discussions | 0,5 sem. | 0,05 HM |
| Total | 3 sem. | 0,3 HM |
1 Tech Lead / Project Manager
Coût estimé : 6 500 €
Faible effort, impact direct sur l'attractivité des contributions.
| Indicateur | Cible |
|---|---|
| GitHub Project public actif avec au moins 10 issues tracées | Atteint |
| Document "Non-Goals" publié et référencé dans CONTRIBUTING | Atteint |
| Label "accepted-in-principle" utilisé sur au moins 5 issues existantes | Atteint |
| PRs externes refusées sans explication documentée | 0 % |
| Discussions de référence épinglées sur les choix architecturaux | ≥ 3 |
Helix tient ses promesses en tant qu'éditeur. Application robuste, intégration LSP et Tree-sitter remarquables, site web exemplaire. Ce que l'utilisateur perçoit directement est excellent.
Sécurité, documentation interne, gouvernance. Ces lacunes ne freinent pas les utilisateurs aujourd'hui. Elles fragilisent les contributeurs et exposent le projet à une dépendance croissante sur un noyau restreint de mainteneurs.
Deux propositions ciblées : sécurité CI/CD (~40 700 €, 3 HM) et transparence (~6 500 €, 0,3 HM) pour rééquilibrer le Kiviat et pérenniser le projet.