S’il vous plaît, partagez votre code…

… Même si vous pensez que jamais personne ne l’utilisera !

D’aussi loin que je me rappelle, j’ai toujours voulu partager ce que j’apprenais.

Ça peut paraître évident pour certains, complètement dingue pour d’autres (voir le superchickens), pour moi, c’est en quoi je crois.

Je crois qu’on a la responsabilité de partager ce qu’on apprend et ce qu’on connaît.

Je crois que je ne serais pas qui je suis s’il n’y avait pas de ressources pour apprendre et comprendre les choses.

Je crois aussi qu’un groupe de personnes qui partagent leurs connaissances est plus fort que des individus faisant une course au savoir pour être le meilleur.

Mais je crois aussi que ça prend du temps pour partager les choses, et que ça prend encore plus de temps pour oser partager avec les autres.

Encore maintenant, à chaque fois que je suis sur le point de partager du code je me demande :

  • Est-ce le mieux que je puisse faire ?
  • Est-ce que quelqu’un l’utilisera un jour ?
  • Et si on me jugeait là-dessus ?
  • Il y a forcément quelqu’un qui l’a déjà fait, non ?

Et devinez quoi ? Généralement les réponses sont exactement celles auxquelles on s’attend.

  • Est-ce le mieux que je puisse faire ?
    Oui, c’est le top.
    Ça changera sûrement dans le futur (d’ailleurs 100% de chances que ça change réellement).
    Le fait que tu puisses l’améliorer plus tard est-il vraiment un bon argument pour empêcher la publication ?
    Le parfait est l’ennemi du bien. Il y aura toujours une meilleure façon de faire, c’est comme ça qu’on progresse.
  • Est-ce que quelqu’un l’utilisera un jour ?
    Peut-être, peut-être pas.
    Dans tous les cas, tu es en train de l’utiliser, et tu le ré-utiliseras sûrement.
    Qui sait, peut-être qu’un jour, quelqu’un tombera sur le même problème exactement et sera très content que tu aies partagé ce “code si spécifique à ton problème”
  • Et si on me jugeait là dessus ?
    En vrai, tu seras probablement jugé dessus.
    Parce que toi aussi, tu juges quand tu tombes sur la librairie de quelqu’un d’autre.
    Mais en même temps, tant que tu ne partages pas un code complètement spaghetti, illisible et vide de documentation, le jugement, il sera clément.
    Bon, parfois pas, mais en même temps on ne peut pas plaire à tout le monde.
  • Il y a forcément quelqu’un qui l’a déjà fait, non ?
    Quasiment certain que oui.
    Et en même temps, tu l’as trouvé quand tu as cherché ? Soit non, dans ce cas c’est une raison de plus pour partager le tien. Soit oui et tu as une autre approche ou des éléments complémentaires. Ça vaut donc le coup de partager.

En vrai, je n’arrive pas à trouver de “bonnes” raison de ne pas partager.

Il y a des raisons, il y en a plein… mais pas de “bonnes”. Chaque fois que j’en trouve une, je trouve un contre argument.


La première fois que j’ai partagé un projet open source, c’était un outil graphique pour gérer le multi écran sur Ubuntu via un outil en ligne de commande appelé disper.

Et pour être franc, le code de ce projet est :

  • Loin d’être correct ;
  • Pas documenté ;
  • Pas utilisé, genre par personne (pas même moi)

Même le code que je publie actuellement, généralement ça fini en dépôt fantôme sur github avec 0 star. Et ça me va.

C’est le voyage qui compte, pas la destination.

Ce que j’ai appris avec ce push vieux de 6 ans c’est que partager c’est simple, mais que tu peux le faire bien ou mal.

Un bon partage ce n’est pas juste pusher du code et basta (comme ce que j’ai fait avec disper-gui).

Un bon partage c’est 50% code, 50% doc.

Le but, c’est d’aider les personnes à comprendre et à utiliser ce que tu as fait.


Il y a plein de façons de partager le code que tu as fait. Si tu ne te sens pas confortable avec une, prends en une autre, du moment que tu le fais.

Tu veux partager du code réutilisable dans un autre projet ? Du code packageable ?

Avec les outils qui existent maintenant, ça n’a jamais été aussi simple de publier des librairies.

On a des git hostings comme github, gitlab, bitbucket et autres qui permettend d’héberger le code et la documentation. Le tout, GRATUITEMENT.

On a des outils super comme jitpack, pip, npm et plein d’autres qui servent la librairie en quelques minutes.

Ça ne prend pas beaucoup de temps de publier une librairie une fois prête, et une fois que c’est fait on se sent super fier (oui même si personne ne l’utilise).

Tu veux partager un test, une expérimentation ? Quelque chose qui n’a pas vocation à être intégré à un projet ?

Avec medium et les autres plateformes de blogging c’est super facile.

Avec gist, snippets et autre partager des morceaux de code devient facile, propre et lisible.

Quand on cherche à intégrer des librairies ou utiliser des nouvelles fonctionnalités, c’est la top ressource qu’on utilise pour comprendre comment ça fonctionne et comment l’utiliser.

N’hésite pas à rejoindre cette communauté et à aider les gens.
Tout comme ils t’ont aidé en écrivant l’article qui t’ai décoincé la dernière fois.

Tu veux rendre ton code vivant ? Le partager en live ?

Alors fait un meetup, un talk, un BBL ou autre.

À mon sens, c’est le type de partage le plus compliqué, parce qu’il faut parler en face d’autres personne, en live.

Mais généralement, le sujet est bien reçu, les personnes posent des questions à la fin ou après la séance, et ça déclenche des conversations aussi intéressantes que le talk en lui même.


Alors s’il te plaît, la prochaine fois que tu développes quelque chose qui peut aider les autres, partage le, parles-en, écris dessus.

Prends le temps !


Dis-toi que dans le pire des cas, tu auras passé du temps pour documenter un sujet pour, au minimum, toi. Rien que ça, ça fait grandir (dans le bons sens) !

Sinon, tu auras au moins aidé une autre personne, de la même façon que tu as été aidé un jour.

Cet article est une traduction en français de l’article original disponible sur Medium : https://medium.com/@quentin7b/please-share-your-code-7849538b5b62