링크 정보를 불러오는 중...
J’ai créé un compte Twitter afin de suivre davantage de développeurs et découvrir plus facilement des informations dans le domaine du développement. En parcourant mon fil d’actualité, j’ai découvert que l’Open Source Contribution Academy (OSCCA) recrutait des mentors expérimentaux.
J’ai commencé à chercher un projet d’équipe significatif que je pourrais poursuivre pendant mon dernier semestre. Contribuer à l’open source, tout en bénéficiant de l’accompagnement d’un mentor, m’a semblé être une excellente opportunité.
Après avoir parcouru plusieurs projets proposés dans le programme, j’ai choisi deux projets utilisant TypeScript et orientés développement front‑end comme premier et deuxième choix.
Githru-vscode-ext

링크 정보를 불러오는 중...
Ce projet open source est une extension VSCode qui permet d’analyser et de visualiser les métadonnées Git.
J’utilisais auparavant des outils GUI comme SourceTree ou Git Graph, mais je rencontrais régulièrement des erreurs et je revenais finalement à Git Bash. Malgré tout, les avantages visuels des outils GUI me semblaient toujours intéressants.
Githru essaie justement de combler ce manque en proposant une visualisation de la structure des commits et des contributions tout en restant compatible avec Git Bash ou les fonctionnalités Git intégrées à VSCode.

Comme le processus de candidature incluait un petit exercice préalable, j’ai installé et exécuté l’extension moi‑même. Dans la section Getting Started du README, il était indiqué d’exécuter la commande npm build:all, mais même après plusieurs tentatives la commande ne fonctionnait pas.
J’ai finalement installé l’extension directement dans VSCode, lancé le projet en mode debug, entré un token Git, puis accédé à l’interface via le panneau inférieur comme pour une extension classique.
Le devoir demandait d’identifier des points perfectibles ou des fonctionnalités qui pourraient être améliorées, j’ai donc essayé d’analyser l’outil sous plusieurs angles pendant son utilisation.
Points à améliorer
UX
Sur la partie droite de l’interface, l’extension affiche visuellement la structure des fichiers et les pourcentages de contribution des développeurs.
L’animation lors de la navigation dans l’arborescence est fluide et l’interface est globalement propre. Cependant, l’interaction liée au retour en arrière m’a semblé légèrement ambiguë.
Par exemple, lorsqu’on explore un dossier puis que l’on revient au dossier parent, il serait plus facile de comprendre la navigation si le nœud parent apparaissait visuellement sur la gauche.
De même, lorsque l’on passe de l’affichage des commits d’un contributeur spécifique à la vue globale des contributeurs, une interaction de retour plus explicite rendrait la navigation plus naturelle.
Un autre point concerne le grand graphique affiché en haut de l’interface. Il représente le nombre de lignes de code au fil du temps, mais à première vue l’information peut paraître assez abstraite. Afficher les valeurs exactes au survol de la souris rendrait probablement ces informations plus claires.
UI
La possibilité de choisir une couleur personnalisée en RGB pour les éléments visuels est une idée intéressante.
Cependant, la manière dont la couleur est appliquée peut sembler un peu confuse. Lorsque l’on choisit une couleur, elle est immédiatement appliquée à la branche actuellement affichée, tandis que les autres branches conservent leur ancienne couleur. Ce n’est qu’après avoir redémarré ou rouvert Githru que la couleur apparaît sur toutes les branches.
Du point de vue de l’interaction, ce comportement manque un peu de clarté. Si l’utilisateur modifie la couleur, il serait plus logique que le système :
- applique la couleur immédiatement à toutes les branches, ou
- considère la couleur comme un réglage spécifique à une branche.
Clarifier cette règle améliorerait probablement l’expérience utilisateur.
Par ailleurs, j’ai remarqué que les couleurs de l’interface sont très proches les unes des autres. Les graphiques, les structures de fichiers et les autres éléments utilisent presque le même ton, ce qui réduit la hiérarchie visuelle.
Si l’interface utilisait un système de couleurs avec plusieurs niveaux de luminosité ou de saturation (par exemple quatre ou cinq nuances liées), la lisibilité des graphiques et des structures serait probablement meilleure.
Cependant, comme les utilisateurs peuvent choisir librement une couleur RGB, générer automatiquement ces variations peut être complexe. Deux alternatives pourraient être envisagées :
- proposer plusieurs thèmes de couleurs prédéfinis, ou
- définir une palette principale du projet et générer les variations à partir de celle‑ci.
Cette approche permettrait de conserver la personnalisation tout en améliorant la cohérence visuelle de l’interface.
Documentation
Enfin, j’ai également eu l’impression que la documentation pouvait être améliorée.
Lorsque l’on arrive pour la première fois sur le dépôt GitHub, la section mettant en avant les contributeurs occupe une place importante, tandis que les explications sur le projet lui‑même sont relativement limitées.
Dans d’autres projets open source connus, comme ArgoCD, la documentation explique en détail la structure du projet, les étapes d’installation et l’architecture générale. Cela facilite beaucoup la compréhension pour les nouveaux utilisateurs.
Renforcer la documentation pourrait donc rendre ce projet plus accessible aux nouveaux contributeurs.
Après avoir exploré l’outil de cette manière, j’ai eu l’impression qu’il existait plusieurs points sur lesquels je pourrais potentiellement contribuer. C’est ce qui m’a finalement motivé à postuler à ce projet.