Bon, alors comment je suis devenu fan de C ? En participant à un projet OpenSource, écrit en C ! Tout a commencé il y a environ 2 ans, je me trouvais à Athlone, en Irlande (z'avez remarqué mon pseudo ). J'y effectuais mon stage ERASMUS de fin de DUT, et on me demanda de maquetter un réseau sur lequel on pourrait étudier le comportement d'applications VoIP.
À l'époque, j'étais pas encore totalement geek. J'avais abandonné mon dual-boot 4-5 mois plus tôt, mais j'avais une ubuntu bling-bling click'a'lol.
En Irlande donc, j'ai commencé à lire des documentations en anglais, pour faire genre "t'as vu, je masterise l'anglais". Et je travaillais avec passion sur mon projet, parce que j'avais "carte blanche". C'est à dire, je veux du GNU/Linux ? J'ai du GNU/Linux. Et je me suis retrouvé à lire des drivers réseaux... en C. Bien entendu, je n'y comprenais rien, mais je trouvais ça beau. C'est vrai, comment ces quelques lignes - certes incompréhensibles pour le commun des mortels - peuvent faire fonctionner la carte réseau et nous donner accès à cette magnifique source d'information qu'est l'Internet !?
Du coup, j'ai commencé à lire les sources de différentes applications que j'utilisais, et il s'agissait principalement de code C. Alors je me suis dit, "un jour, je ferai des trucs cool en C !".
Puis un beau jour, un peu avant mon retour d'Irlande, je suis tombé là-dessus . Un petit bout de code C dont le but était d'afficher les pochettes du CD lu dans amarok sur le bureau, pour l'intégrer à Conky. Son nom : acd, pour Amarok Cover Display, écrit par Askelon sur le forum http://forum.ubuntu-fr.org . Quelques posts plus tard, quelqu'un demanda s'il était possible de l'adapter pour rhythmbox. Moi-même utilisateur de rhythmbox, je me lançais dans l'aventure ! Quelques jours plus tard, rb-cover était là. rb-cover, c'est juste le même code, mais pour Rhythmbox à la place d'Amarok. Très vite, les versions se suivent . Le C n'est désormais plus un obstacle pour moi ! Le code était simple, et "crade", je n'ai que plus de motivation à l'améliorer. Rapidement, Askelon et moi-même décidons de "merger" nos codes, puisque ces deux programmes réalisent la même chose. C.I.D. est né ! En quelques jours, nous repensons complétement le programme aidés par les remarques et propositions des forumeurs. À cette époque, Askelon est le leader du projet, c'est lui qui fait les gros développements de ce qui deviendra par la suite le "moteur" de C.I.D. Pour ma part, je ne m'occupe que du support de Rhythmbox. C'est également Askelon qui met en place le site du projet (HS aujourd'hui). Et pendant ce temps, je continue à creuser ma caverne en m'intéressant aux appels systèmes, aux communications entre processus, à l'utilisation de bibliothèques C, à la compilation, à l'utilisation d'autotools, etc. Le projet fait son petit bonhomme de chemin, puis l'élève commence à dépasser le maître. En effet, j'ai eu 2 mois "à temps plein" pour travailler sur ce projet, la reprise de mes cours n'ayant lieu qu'en octobre. Puis je reprends les cours, dans une formation de laquelle on ne peut ressortir que... changé ! La licence DA2I . Cette formation éveille encore plus ma curiosité, et le C devient ma drogue, c'est un élément "extérieur" à la formation, mais à l'origine des systèmes sur lesquels nous sommes formés. Askelon de son côté n'a malheureusement plus autant de temps à consacrer au projet. Je fini par me retrouver seul... Mais cela ne m'arrête guère ! Quelques utilisateurs continuent de suivre le projet, et cela m'aide à avancer. En parallèle, je découvre quelques outils de développement, dont SVN, qui me donnera l'impression de travailler sur un "vrai" projet.
Et ce week-end, mon binôme me fait découvrir gource . Cet outil m'a permis de réaliser que C.I.D. est beau, C.I.D. est luisant, et C.I.D. vivra encore longtemps !