Si GitHub est un outil bien connu des développeurs freelance ; il en est des fonctionnalités qui le sont moins. Par exemple, et c’est le thème de cet article : la création d’un portfolio à afficher sur la page de son profil grâce au README d’un repository GitHub – ce fichier qui sert d’habitude à décrire le projet et expliquer son utilisation à ceux qui visitent la page.
Un portfolio dans un README GitHub ?
Et oui, ça peut paraître surprenant au premier abord, mais c’est bel et bien le cas.
Depuis mi 2020, GitHub permet de personnaliser la page de son profil pour y afficher les informations qu’on veut, et ça via un simple fichier README.md.
Pour quoi faire ?
Plus qu’un simple gadget, cette fonctionnalité permet de complètement personnaliser son profil et d’y afficher beaucoup plus d’informations ; d’en faire un vrai portfolio, un mini CV.
Et cela a plusieurs avantages.
Se mettre en avant
On le sait, la concurrence entre développeurs, surtout freelances, peut être rude.
Pour un projet, un contrat, une mission, il y a très souvent plusieurs développeurs qui réunissent toutes les compétences techniques nécessaires. La différence se fait alors sur d’autres aspects : le côté humain, la disponibilité, ou le passage en revue des éléments du portfolio.
Et utiliser son profil GitHub comme portfolio, c’est original est intéressant ; surtout lorsqu’on est encore junior.
Ça peut montrer à un recruteur ou à un CTO qui hésite ce dont on est capable de faire avec pas grand chose. Ça lui montre aussi qu’on s’implique et qu’on prend le temps de faire des choses originales sur notre temps perso.
Remplacer un site web
Beaucoup de développeurs ont un site à leur nom. C’est très utile pour se présenter, présenter leurs compétences et les projets sur lesquels ils ont travaillé, et ce d’une manière bien plus personnalisée que s’ils n’avaient utilisé que LinkedIn ou Malt.
De plus, ça leur permet aussi de montrer directement ce qu’ils savent faire, via le code, l’UX et l’UI dudit site, ce qui est très intéressant s’ils sont développeurs front, par exemple.
Mais utiliser son profil GitHub à la place d’un site a plusieurs avantages ; c’est par exemple beaucoup plus facile et ça peut faire gagner beaucoup de temps.
Avant d’expliquer comment faire pour se créer un portfolio attrayant via GitHub, voici un exemple, pour que vous compreniez bien : https://github.com/stephenajulu.
C’est ce qui s’affiche sur la page de son profil. Si je la trouve personnellement trop chargée, on voit ce qu’il est possible de faire : mettre un header, des liens, des listes et des statistiques. On peut même faire plus encore, comme on le verra par la suite.
Comment ça marche ?
Maintenant qu’on a vu l’intérêt de se créer un portfolio sur GitHub, voyons comment faire.
Eh bien, en fait, c’est très simple ! Comme l’explique la doc officielle, il suffit de créer un repository GitHub qui porte le même nom que votre pseudo GitHub, en y ajoutant un README.md. Lors de la création de ce repo, le message suivant apparaîtra :
Une fois cela fait, allez sur la page de votre profil et… tada ! Un nouvel élément apparaît : le contenu du README créé à l’instant.
Il ne reste plus qu’à le modifier à votre guise de la même manière que tout fichier README, en y ajoutant tout ce que vous voulez et d’enregistrer les modifications ; elles seront automatiquement mises à jour sur votre profil.
Le Markdown
J’en profite pour faire une petite parenthèse sur la façon dont est écrit le README. En tant que développeur, vous avez probablement déjà dû modifier ce fichier, qui se trouve à la racine de la plupart des projets Git.
Mais si ce n’est pas le cas ou si vous n’avez pas eu l’occasion de le faire souvent, sachez que le contenu de ce type de fichier est écrit dans le langage Markdown (d’où l’extension .md).
Voici un petit guide pour apprendre à maîtriser ce langage.
GitHub Actions
Si vous êtes développeur, il y a des chances pour que vous connaissiez GitHub Actions. Si ce n’est pas le cas, pour rester simple, disons que c’est un outil mis à la disposition par GitHub, permettant de faire, entre autre, de l’intégration continue. Typiquement, ça sert à exécuter une liste d’actions lors d’un commit ou d’une PR.
L’intérêt ici, sans rentrer dans les détails techniques, c’est que vous pouvez paramétrer un Cron via GitHub Actions pour exécuter des tâches régulièrement qui mettront indirectement à jour votre README.md. Par exemple, cela permet de récupérer et afficher des informations en temps réel (plus ou moins), comme des compteurs, ou une liste récupérée via un flux, etc.
On verra un exemple de cette utilisation plus loin dans l’article.
Quelques conseils pour la création du README
C’est donc très facile de se créer un portfolio via le README d’un repo GitHub. Le problème, c’est que c’est à double tranchant (exactement comme un site pro) : il peut vous servir comme vous desservir…
Il convient alors de suivre quelques conseils, pour booster vos chances de trouver un CDI/une mission :
Mettre votre repo en privé le temps du développement
Il en est de même lorsqu’on parle de tout projet de développement. Lorsqu’on est développeur et qu’on veut montrer du code sur GitHub (ou GitLab ou autre), il vaut mieux s’assurer que tout soit propre.
Or, non seulement le tout sera visible sur la page de votre profil, mais en plus le code de votre README sera visible de tous…
Donc le conseil numéro 1 : mettez votre repository en privé pendant que vous développez votre portfolio. Une fois celui-ci fini ; repassez en public.
Être créatif
C’est important surtout si vous êtes développeur front-end.
De plus en plus de développeurs utilisent et vont utiliser cette fonctionnalité de GitHub, aussi faut-il se démarquer de la masse, sinon ça n’aura pas servi à grand chose.
Alors il va falloir sortir du côté tech et être un peu créatif.
Le Markdown permet d’ajouter, entre autre, des liens, des images, des gifs, etc. ce qui vous ouvre à plus de possibilités que de simples listes de textes.
Voici par exemple cet utilisateur, qui a eu l’idée d’inclure un jeu de morpion interactif sur son profil. Le jeu utilise GitHub Actions, dont j’ai expliqué le fonctionnement plus haut dans l’article.
Y parler tech…
Considérant qu’on va utiliser ce README comme portfolio ; il est évident qu’on doit y parler des projets sur lesquels on a travaillé en tant que développeur.
Listez donc, de manière créative, vos plus impressionnants projets et clients. Si vous avez participé à des projets open-source, mentionnez-les également. Et, évidemment, mettez dans ce portfolio les repositories dont vous êtes le plus fier.
…Mais pas que
Parler tech, c’est bien, c’est le but d’un portfolio. Mais, comme on l’a déjà dit, lorsqu’on a deux profils techniquement égaux, ce sont les autres compétences qu’on va regarder, notamment ce qu’on appelle les soft skills.
Les soft skills c’est, par exemple, ce qui concerne la communication, son apparence, etc. C’est ce qui peut faire toute la différence entre deux développeurs.
Comment les mentionner dans son portfolio ? Eh bien, si votre anglais est très bon, faites votre portfolio entièrement en anglais (il sera normalement compréhensible par tous des recruteurs techs/CTO).
Si vous avez des certifications (méthodologies, technos, langues, etc.), mentionnez-les également.
Aussi, si vous écrivez des paragraphes de texte dans votre portfolio README (si vous le faites ; gardez-les courts !) et que vous avez tendance à faire des fautes, faites-le relire. L’orthographe n’est pas une condition sine qua non à l’embauche d’un développeur, mais c’est toujours un plus !
Les limites du portfolio GitHub
Si utiliser GitHub pour créer son portfolio est une bonne idée, ne coûte pas grand chose en temps et peut être divertissant à faire ; il y a toutefois quelques limites à cela.
Le Markdown
Tout d’abord, le Markdown. Ce langage est simple, peut-être trop simple. Même si on peut inclure du HTML au README.md, le tout reste limité, et réduit donc le champ des possibles.
Sauf si on inclut des gifs (par exemple), il sera compliqué d’ajouter des effets pour rendre votre portfolio encore plus attractif.
L’appel à des fonctionnalités un peu plus poussées, par exemple comme avec le morpion qu’on a vu un peu plus haut, est complexifié puisqu’il requiert l’utilisation de GitHub Actions et de YAML ; compétences que ne maitrisent pas tous les développeurs.
Portfolio à double tranchant
Je l’ai déjà mentionné mais c’est quelque chose sur quoi il faut insister : se servir de GitHub comme portfolio, c’est à double tranchant. Bien fait, ça peut être une très bonne publicité.
En revanche, s’il est mal fait, votre portfolio GitHub risque de vous coûter des occasions.
De plus, gardez en tête que tout le monde peut accéder au code source de votre fichier README.md… C’est l’occasion de montrer que vous savez vous servir des commentaires.
Sources/liens utiles
Avant de vous quitter et de vous laisser vous précipiter sur GitHub pour créer votre repo et votre README (si ce n’est pas déjà fait), voici quelques liens utiles qui pourraient vous intéresser :
- Un petit guide, simple et efficace ;
- Un podcast en Français ;
- Un générateur automatique de README personnalisé pour votre profil. Efficace mais un peu trop simple et générique ;
- Une liste très utile d’exemples et d’outils pour vous aider à construire votre propre portfolio via GitHub.
En résumé
Comme on l’a vu, se construire un portfolio via un README GitHub peut être une très bonne solution si on veut gagner du temps et qu’on veut montrer son travail, ses capacités ; d’autant plus lorsqu’on est junior.
Simple à créer et efficace, c’est un très bon outil sur lequel un développeur peut s’appuyer pour trouver contrats ou missions.
Toutefois, il reste limité, et peut être à double tranchant suivant son utilisation…
Et vous, avez-vous déjà créé un portfolio de cette manière ? N’hésitez pas à le partager en commentaire !