Création d’un logiciel libre

Le logiciel libre commence à prendre de l'importance même au sein des entreprises et/ou gouvernements (OpenOffice dans les administrations françaises, Surcouf qui vend des ordinateurs avec Ubuntu, etc).

En temps qu'utilisateur de logiciels libres vous prêchez certainement leur utilisation à la place de logiciels propriétaires équivalents auprès de vos proches (qui sont pour la plupart des gens ayant une connaissance très limité de l'informatique et une appréhension démesurée dès que vous leur proposez de leur remplacer les outils propriétaires qu'ils connaissent). Bref, vous passez déjà assez de temps à essayer de les former à ces nouveaux outils (et à assurer la maintenance) en espérant qu'ils finiront aussi par prêcher la bonne parole et lutter contre le propriétarisme :)

 Mais vous avez peut-être envie de passer le cap supérieur en n'étant plus simplement un utilisateur du libre, mais aussi l'un de ses nombreux contributeurs. Vous avez certainement quelques connaissances dans un langage de programmation possédant un compilateur lui aussi libre (par exemple C ou C++). Prenons alors le cas où vous souhaitez développer une bibliothèque libre pour l'un de ces langages.

La première question à se poser est sous quelle licence allez vous partager les sources de votre bibliothèque ? En tant que bibliothèque libre, si elle rencontre un certain succès, elle sera amenée à être réutilisée, voir même améliorée, par d'autres développeurs. Et même si comme moi vous n'êtes pas un expert en droit, vous avez déjà entendu plusieurs noms de licences existantes pour les logiciels libres (licences GPL, licence BSD, licences Creative Common, licence CeCILL, etc.). Mais comment choisir celle qu'on utilisera pour notre bibliothèque ? Les nuances entre toutes ces licences peuvent être subtiles, pour ne pas dire invisibles, au néophyte. Par fainéantise (et car mon éditeur de texte me permet de rajouter automatiquement en entête de mes fichiers le jargon associé à la licence GPL, c'est celle-ci que j'ai choisi.. mais si vous êtes moins fainéant que moi, peut-être en choisirez vous une autre).

 Une fois la question de la licence réglée, il faut choisir un système sur lequel le développement de votre bibliothèque pourra se faire de manière collaborative (car si les sources sont partagées, vous pouvez espérer obtenir de l'aide de la part d'un autre développeur de logiciels libres). Pour ma part le choix fut encore plus rapide que pour le problème de la licence, car connaissant assez bien le logiciel libre de gestion de version Subversion et ayant un serveur à disposition, je l'ai retenu.

Un autre point important est la portabilité de la future bibliothèque : en effet en temps que logiciel libre, elle est amenée à être utilisée sur de nombreuses architectures différentes et du coup vous devez vous assurer que votre bibliothèque fonctionnera (ou du moins compilera) sur une machine qui n'est pas la votre et qui peut même être très différente de la votre ! Cette tâche très difficile est en partie gérée à votre place par un ensemble d'outils : les Autotools. Je dis en partie, car leur utilisation reste encore pour moi une tâche compliquée qui me demande beaucoup de temps pou obtenir le résultat attendu (à savoir d'être à peu près sûr que l'utilisateur de votre bibliothèque réussira à la compiler).

Bien, la partie la plus compliquée, mais aussi la plus intéressante dans la création d'une bibliothèque libre est la suivante : la conception. En effet, votre bibliothèque sera à terme – vous l'espérez – utilisée par de nombreux développeurs qui devront réussir à s'en servir sans vous demander de venir leur faire une présentation dans leur bureau. Ils devront même pouvoir lui rajouter des fonctionnalités sans avoir à modifier le code que vous avez écrit. Cette généricité et modularité n'est pas facile à obtenir et demande un réel effort de votre part. Il ne faudra pas seulement développer un outil uniquement pour l'objectif que vous avez, mais au contraire chercher perpétuellement comment séparer aux mieux tous les ingrédients dont vous avez besoin afin qu'ils puissent tous être utilisés séparément. Malheureusement je ne connais pas de solution ni d'outil miracle pour cette étape dans la réalisation d'une bibliothèque libre. Et seul l'utilisation abusive de papiers, stylos, tableaux et autres ustensiles de réflexion pourra vous aidez à réussir cette étape…

 Enfin une dernière étape, mais néanmoins indispensable, est la mise à disposition de votre bibliothèque au reste du monde ayant accès à la toile. Vous pouvez bien sûr juste déposer une tarball (make dist) de votre projet sur un site Web. Mais dans ce cas, le suivi des bugs; et le retour des utilisateurs de votre bibliothèque sera bien moindre que si vous leur offrez la possibilité de faire un rapport via une interface Web. Comme j'utilise subversion (svn) pour le développement de la bibliothèque, utiliser Trac semble être une bonne idée.

 Voilà je pense que ce billet est suffisamment long pour ne pas rajouter un tas de détails sur chacun des outils cités tout au long de ce billet. Je détaillerai peut-être un jour certains de ces outils, mais l'idée principale à retenir est que le développement de logiciels libres demande un surcoût non négligeable dans toutes les phases de réalisation, mais ce surcoût conduit à un produit d'une qualité bien supérieure.

En attendant j'aimerai améliorer mon classement sur Google ; Voici la mise à jour de ma page professionnelle Oudinet

 

Publié dans geek spirit | Laisser un commentaire

[Emacs] switch utf-8 latin-1

Voici un ptit billet qui est plus un mémo, car j'ai la facheuse tendance à écrire certains fichiers en latin-1 et d'autres en utf-8… et j'oublie à chaque fois la $*! de commande emacs pour switcher d'un encodage à l'autre !

Donc au lieu de la chercher sur le net à chaque fois, je me dis que au moins je serai où elle se trouve, et peut-être qu'après l'avoir écrite une fois ici, je m'en souviendrai (c'est beau de rêver :)

Donc pour changer l'encodage sous lequel Emacs sauvegardera ton fichier :

C-x Ret f (ou pour ceux qui préfère retenir un nom de fonction plutôt qu'une séquence de touches, il s'agit de la fonction set-buffer-file-coding-system qui est assez explicite mais à chaque fois je cherche la fonction (re)encode-buffer-file qui elle n'existe pas :(

Et pour ceux qui veulent aussi changer leur système de clavier :

C-x C-m C- (ou M-x set-input-method) (Je vous conseil latin-1-postfix pour ceux qui ont l'habitude d'utiliser des claviers sans accents mais sans être contre leur utilisation)

Voilà ce billet n'est donc pas très informatif, mais il aura l'avantage de m'être utile. Ce qui je vous l'avoue me suffit amplement :p

See ya.

P.S. : Juste pour être un jour premier sur la requête Johan. Et pourquoi pas avec les préférences françaises: Johan

Publié dans geek stuff | 5 commentaires

Enfin la CTI pour EPITA ?

Et oui, voici une rumeur très fraiche mais qui pour autant semble être déjà confirmée par des personnes au sein de l'école.

Depuis juillet 2003 (à moins que ce soit 1999 ?), et la première tentative de l'école d'obtenir ce titre tant convoité qui signifie la reconnaissance de l'Etat, et par la même occasion de l'enseignement supérieur, il aura fallu attendre 4 (ou 8) longues années pour obtenir un dénouement positif à cette histoire !

Maintenant les SupInfo et autres écoles du genre devront trouver un autre prétexte lors de leurs recrutements pour discréditer l'EPITA. Mais je leur fais confiance pour ça ;)

De plus, j'espère que maintenant la différence entre EPITA et EPITECH sera plus visible de l'extérieur. Car c'est tout de même agaçant d'être continuellement confondu !

PS: L'information importante de ce billet se trouve chez Johan Oudinet

Publié dans 42 | 6 commentaires

la table du futur

Qui a dit que Microsoft ne faisait que de la m**de ?

Je cherchais justement une table basse qui pourrait avoir une réelle utilité… et voilà que je trouve mon bonheur chez Bill : http://www.microsoft.com/surface/

Malheureusement mon anniversaire était hier, mais si certains d'entre vous veulent m'offrir quelque chose, et qu'ils ont 10000 dollars pour ça, et bien qu'ils ne se gênent pas ! :)

 

Vous pouvez consulter cette page : Johan Oudinet pour trouver comment me contacter.

Publié dans geek spirit | Laisser un commentaire

Delation Orange/Wanadoo

Voici un post résumant mes mésaventures avec mon futur-ex fournisseur d'accès Internet.

Tout commença le lundi 30 avril quand ma connexion Internet tomba subitement sans aucune raison apparente. Mon modem signalait qu'il n'arrivait plus à obtenir la synchronisation (donc un voyant qui clignote). Comme il y avait eu des coupures de courant récemment, j'ai d'abord pensé à un problème venant du modem… mais après vérification avec un autre modem, toujours pas de synchro. Donc un premier appel à la hotmail de Wanadoo, qui me dit d'essayer en changeant les filtres… bon c'est une raison possible, donc on essaye avec des filtres neuf, mais rien à faire. A partir de ce moment, je suis donc certain que le problème vient de ma ligne, et qu'il y a donc quelque chose qui ne fonctionne pas entre DSLAM et ma prise téléphonique.. Rappel donc de la hotmail pour qu'ils se bougent le cul et viennent me réparer ça le plus vite possible… hum.. vite chez eux = 10 jours !

Tout ça pour que le technicien nous disent qu'ils nous avaient changer de place (sans nous avertir et sans que nous le demandions) et qu'ils nous avaient mis sur une broche qui ne fonctionnait pas… et que donc il suffisait juste de débrancher un fil et le rebrancher ailleurs… Mais voilà, pour ça il fallait bouger ses fesses !

 Au final, si il y a bien une leçon à retenir de ces mésaventures, c'est que dès que vous êtes sûr que le problème ne vient pas de chez vous (ce qui pour le cas d'un problème de synchronisation revient à intervertir vos filtres et à tester avec un autre modem), il faut que vous harceliez la hotmail de votre FAI en leur expliquant bien que vous avez déjà fait les opérations nécessaires et que donc le problème vient de chez eux, et qu'ils ont intérêt à se bouger pour réparer ça vite avant que vous ne résiliez votre abonnement ! Car finalement, pour ma part, la lettre recommandée pour résilier mon abonnement chez Wanadoo/Orange est partie hier. En plus avec le service en ligne de La poste, il n'y a même plus besoin de se déplacer pour envoyer une lettre recommandée.

 

 Si vous n'avez pas le temps de lire tout ce billet, ou que vous êtes un bot, il vous suffit de suivre le lien suivant : oudinet johan

Publié dans hardware | Laisser un commentaire

30% pour la peur

Et voilà la fin du premier tour des élections est achevé. La plus grande surprise est qu'il n'y a pas eu de surprise, pour une fois, les sondages avaient raison.

Malgré le fait que contrairement à 2002, il y aura une réelle confrontation au second tour, j'ai bien peur que le résultat soit au final, pire qu'en 2002. Et que le président des 5 prochaines années soit bien pire que celui qui gouverna pendant 12 ans.

Mais bon, on pourra remercier les médias d'avoir brillamment réussi à apeurer la population pour leur faire croire que la France était devenu un pays de non droit où les bandits agissaient en toute impunité et que la seule manière d'y remédier était de voter pour un nain méchant qui nous promet de mettre un policier derrière chaque citoyen et de renvoyer tout individu ayant l'apparence d'un bandit…

Finalement, on est en droit de se demander si le droit de vote pour tous est légitime.. et si notre système de vote actuel ne peut être améliorer ?  En effet, en continuant ainsi, on finira très bientôt par élire des vedettes de cinéma pour s'occuper de notre politique. Et pourquoi pas faire passer un test à chaque citoyen pour savoir si il a la capacité de voter dans le sens où il est au courant un minimum du système en place et des réelles problèmes politque. Bien sûr, une telle idée pose le problème de la partialité des gens qui réalisent ce test.

Donc mon avis final est que le droit de vote pour tous est une hérésie à long terme, mais faire un système plus juste est très compliqué.

Pour finir par des choses plus joyeuses, rappelez vous que l'information principale de ce message est : Johan Oudinet

Publié dans geek spirit | 2 commentaires

globalwarming awareness2007

Connaissez vous le globalwarming awareness2007 ? Non ?

Et bien, je vais essayer de vous expliquer globalement son fonctionnement. Tout d'abord, il s'agit d'un concours de référencement qui se termine à la fin du mois. Vous devriez aussi savoir que cette plateforme de blog est un partenaire attentif du globalwarming awareness2007. En effet, elle sponsorise le site spoonylife.com en lui faisant un lien en bas de chaque page de cette plateforme : globalwarming awareness2007.

Finalement, si chaque membre de ce blog écrit un message en 2007 qui explique pourquoi il faut se méfier du globalwarming awareness et qu'en plus il fasse au moins un lien supplémentaire vers globalwarming awareness2007. Alors spoonylife.com qui est actuellement 3ème du concours aura des chances de l'emporter sur le fil ;)

 

Aller un dernier encouragement gratuit : globalwarming awareness2007

Bon j'espère que la densité du mot clef n'est pas globalement trop élevé pour qu'un moteur de recherche pense que nous cherchons à spammer ces crawlers en influencant le classement de la requete globalwarming awareness2007.

 C'est pourquoi, il suffira que vous reteniez l'information principale de ce message : Oudinet Johan

Publié dans 42 | Laisser un commentaire

Votez a gauche

Je viens de lire sur un forum, une discussion passionnante dans laquelle des gens en arrivent a la conclusion que la scolarisation obligatoire des enfants des l'age de 3 ans impliquerait qu'ils subiraient un endoctrinement du parti socialiste ! L'explication est donc la ! Retirons le droit de vote aux vieux qui sont trop influencés par les médias et donnons le droit de vote à nos chers chérubins de plus de 3 ans ;)

Finalement, ce n'est pas si difficile d'empêcher les abrutis de voter pour un nain :)

 

N'oubliez pas, bien sûr, l'information principale de ce message : Oudinet Johan

Publié dans geek spirit | Laisser un commentaire

Les yahourts à la cerise

N'avez vous jamais remarqué lorsque vous achetez des yahourts par lot de 12 ou 18, il y a toujours le parfum cerise ? Je connais peu de gens qui aime le yahourt à la cerise, et encore moins de gens qui en rafole ! Alors pourquoi aucune marque ne propose un lot de yahourts sans le goût cerise ? A mon avis le premier qui le fera, aura du succès, deviendra riche, et se promenera avec les plus belles femmes du monde… enfin ce dont je suis sûr c'est qu'il aura au moins un client fidèle (moi).

 

Mais surtout, n'oubliez pas l'information principale de ce message : Johan Oudinet 

Publié dans geek spirit | 3 commentaires

Internet

Pre.S: Cherche lecteur, ayant fait une fausse manip juste avant de poster un billet d'une taille considerable sur le fonctionnement d'Internet et ne voulant bien sur pas faillir au principe du DRY, je vous pris d'escuser la concision de ce billet qui ne fait que resumer celui que vous ne verrez probablement jamais.

 

Internet : c'est beau, on ne peut plus s'en passer, mais en meme temps c'est tellement grand qu'il faut tout rinventer pour reussir a s'en servir correctement.

 

Internet = Iceberg (i.e, la plupart des pages sont incaccessible depuis un moteur de recherche,  et donc inconnu de la plupart des gens – on parle de Deep Web)

 

Les gens ont plus ou moins reussi a estimer la taille reelle du Web, qui se constitue d'environ 550 milliards de pages (en comptant les pages inaccessibles). Si on compare ce nombre avec la taille de l'index de Google – 8 millards de pages – on se rend compte qu'on ne peut acceder qu'a une infime partie d'Internet et que les moteurs de recherche ont encore de la marge pour progresser :p 

Publié dans geek stuff | Laisser un commentaire