[OSSCA 2024] Candidature et test de Githru VSCode
Retour d’expérience sur ma candidature à l’Open Source Contribution Academy et mon exploration de l’extension Githru pour VSCode.
Retour d’expérience sur ma candidature à l’Open Source Contribution Academy et mon exploration de l’extension Githru pour VSCode.
Le mot de passe saisi sert à ouvrir, modifier et supprimer les commentaires secrets.
링크 정보를 불러오는 중...
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.

링크 정보를 불러오는 중...
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.
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.
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 :
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 :
Cette approche permettrait de conserver la personnalisation tout en améliorant la cohérence visuelle de l’interface.
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.
Mon expérience durant la phase Challenge de l'OSCCA : propositions d’issues et première Pull Request sur le projet Githru.

Un résumé de mon expérience de contribution au projet Githru pendant la phase Master de l’OSCCA.

Retour sur les 6 semaines de sprint de groupe : défis d'architecture, dynamiques de collaboration et progression technique suite aux retours seniors.

De l'idéation à l'implémentation du MVP en passant par les retours seniors : récit de la mise en place des fondations du projet et des défis techniques relevés
Une analyse de l'essence de la normalisation à travers la logique de mouvement dans les jeux et l'application de l'échelle dans Blender.
Retour sur les 6 semaines de sprint de groupe : défis d'architecture, dynamiques de collaboration et progression technique suite aux retours seniors.
Retour sur dix semaines d’apprentissage au Boostcamp : technologies étudiées, défis de conception, fatigue mentale et enseignements tirés de l’utilisation de l’IA.
Un retour sur la phase Challenge du Boostcamp : missions quotidiennes, apprentissage CS, feedback entre pairs, travail d’équipe et évolution de ma façon d’apprendre avec l’IA.
Exploration des avantages et inconvénients de la programmation fonctionnelle et orientée objet, et des raisons du choix fonctionnel dans React
Retour d’expérience sur la préparation, la phase Basic et le test de résolution de problèmes du Boostcamp Web·Mobile 10.
Un résumé de mon expérience de contribution au projet Githru pendant la phase Master de l’OSCCA.
Mon expérience durant la phase Challenge de l'OSCCA : propositions d’issues et première Pull Request sur le projet Githru.
Retour d’expérience sur ma candidature à l’Open Source Contribution Academy et mon exploration de l’extension Githru pour VSCode.
마지막 아티클까지 모두 확인했습니다.