Tweekers' Blog

Aller au contenu | Aller au menu | Aller à la recherche

Balise - tweekers

Fil des billets

Tweekers : le réseau social Open Source - 1: Cahier des charges

Ce billet est la continuation directe du précédent ( Comment aider la communauté du Libre ? ) où j'exposais l'idée un site communautaire pour faciliter le développement des logiciels Open Source.
J'ai eu plusieurs commentaires encourageants qui ont confirmé que l'idée valait la peine qu'on s'y penche dessus. Aujourdh'ui marque donc la première étape de développement qui est la publication de la première version du cahier des charges.

Télécharger le cahier des charges (format ODF, 10 pages)

Ce projet est aussi l'occasion de tester un autre modèle de développement, que je n'ai pas vraiment eu l'occasion de rencontrer parmi les logiciels Open Source : Tout est rendu public avant même que la moindre ligne de code soit écrite. On saute l'étape Cathédrale et on passe directement au Bazaar. Je ne met pas tout mes espoirs dans cette méthode de développement, mais je pense qu'elle peut être une solution envisageable pour concevoir des projets de taille conséquentes.
Cette méthode de développement aura au moins l'avantage de rendre les documents d'élaboration du projet public (cahier des charges, maquettes, schéma de BDD...), contraremenent à ce que j'avais critiqué par le passé en disant que la disponibilité du code source seul n'était pas suffisant pour encourager les contributeurs a participer.
Rien qu'en exposant l'idée de base dans le précédent billet, j'ai eu des commentaires qui ont mis le doigt sur des points importants sur lesquels je ne m'était pas attardé et j'espère que la publication du cahier des charges permettra a tout le monde d'exprimer ses idées sur le développement du projet.

Et maintenant ?


Une feuille de route préliminaire figure a la fin du document, la prochaine étape est la publication de maquettes d'écrans prévue pour prévue ce vendredi. Je prendrais en considération toutes les participations. Et pas besoin d'être un expert d'Inkscape pour apporter sa contribution, une maquette griffonée sur un vieux bout de papier peut aussi bien faire l'affaire. (Et si vous n'avez pas de scanner, un appareil photo est bien suffisant). Ce n'est pas un concours de design, le but est uniquement de structurer les pages de l'application.

Vos avis m'intéressent


Vous pouvez me faire part de vos remarques sur les commentaires de ce blog, ou en utilisant mon adresse mail / jabber : strycore@gmail.com . J'ai reçu plusieurs propositions pour aider au développement dans les commentaires du billet précédent, sachez juste que vous n'avez pas besoin de compétences de développement a ce stade de l'application et donc que la contribution est ouverte a tout le monde.

Comment aider la communauté du Libre ?

J'étais sur le point d'écrire un long billet sur ce que je perçois comme un problème majeur dans la communauté du Logiciel Libre. Sur le fait que de nombreuses personnes sont la uniquement par la haine du logiciel propriétaire, non pas par amour du libre; sur la passivité de certains membres qui ont pourtant un potentiel plus qu'intéressant; sur la mauvaise image qui est donnée au logiciel libre a cause de quelques membres zélés; sur l'hermétisme de la contribution et du développement et ainsi de suite...
Et puis non, ça n'avance a rien mis a part gagner des ennemis et insulter des gens qui ont pourraient être de précieux atouts dans l'avancée du libre.
Cela n'empèche pas que je trouve la situation presque désespérée, que je serai presque tenté de quitter définitivement cette communauté s'il y avait quelque part une meilleure alternative.
Malgré la souffrance provoquée par la pollution du Libre, je garde toujours un certain espoir de voir les choses s'améliorer si quelques personnes arrivent a canaliser les trolleurs et autres beaux parleurs pour les pousser vers quelque chose de plus constructif.
J'ai demandé la suppression de mon compte sur les forums d'Ubuntu-fr tout en étant parfaitement conscient que cela n'arrangerais rien au problème, c'est juste histoire de dire : "Je ne veux pas être associé avec ces quelques personnes qui sont en train de détruire ce que j'aime".

Dénoncer le problème ne le résoudra pas, ce qu'il faut c'est trouver des solutions qui feront que le problème n'aura plus aucune raison d'exister. Pour cela il faut prendre plusieurs choses en considération :

  • Le Logiciel Libre n'est pas en danger, il est la pour rester, et il est protégé par des licences extrêmement bien conçues. Je perçois toute personne qui tente de protéger le libre des "griffes" de Microsoft ou d'Adobe comme quelqu'un qui n'a pas confiance dans le Libre.
  • Les sociétés de logiciels propriétaires doivent être perçues comme des concurrents, pas comme des ennemis. La concurrence est quelque chose de sain et nécessaire a l'évolution (il peut aussi y avoir de la concurrence au sein du Logiciel Libre). La concurrence ne se fait pas avec des plaintes, ou des combats pseudo politico-philosophiques, mais en construisant des produits supérieurs. La philosophie du Libre est très bonne, j'y adhère complètement, mais un logiciel est un produit technique, pas une réligion , tout ce qu'on lui demande c'est de bien faire son travail.
  • Dans beaucoup de cas, on ne se préoccupe pas assez de la liberté N°1 : celle d'étudier le programme, je dirais même que cette liberté est bafouée a l'heure actuelle. Tout logiciel libre (même un projet énorme) doit être accessible a toute personne voulant s'y intéresser. Malheureusement les logiciels libres sont trop souvent maintenus par une équipe définie (ou une seule personne dans beaucoup de cas) et les contributions, ou même la simple compréhension d'un projet est très difficile d'accès.
  • Les systèmes d'exploitation libres ne sont pas encore prêt pour le grand public, il y a encore de nombreux points ou l'ergonomie mérite d'être améliorée. Certains disent "Linux ça se mérite, il faut apprendre et ne pas être assisté", je réponds à cela : "Ayez au moins la bonne foi d'avouer que vos programmes sont mal conçus, c'est le but premier d'un ordinateur que d'assister un humain". Lorsque nous demandons a un utilisateur non informaticien de taper des commandes dans un terminal, c'est une insulte faite aux systèmes GNU/Linux modernes et montre l'incapacité de la communauté à produire de bons scripts et des interfaces intuitives.
  • Les innovations faites dans le milieu du logiciel propriétaire doivent être suivies de prêt. Si le Logiciel Libre surpasse le propriétaire dans de nombreux domaines (pour les serveurs notamment), il reste a la traine dans bien d'autres notamment l'audio, la vidéo, le jeu vidéo, etc...
  • Certaines avancées logicielles présentes dans le domaine propriétaire sont totalement hors de portée pour des développeurs seuls, ou même une petite équipe. On avance souvent l'argument que les projets ambitieux sont le fruits de grosses sociétés avec beaucoup de moyens financiers mais je ne croit pas que ce soit le point crucial a la réussite de ces projets. Ce qui permet de mener a terme ces projets, c'est la structure fournie par une grosse société. La communauté du libre pourrait représenter une formidable force de travail, mais il manque quelques éléments fédérateurs, des outils permettant une meilleure gestion. Ne jamais oublier qu'un projet, aussi gros soit il est le fruit de plusieurs êtres humains, les membres de la communauté du libre n'ont aucune raison d'être moins doués. Aujourd'hui pour concevoir un logiciel digne de ce nom, travailler seul n'est plus une option.


Si tout ces éléments sont pris en considération, alors le Logiciel Libre et sa communauté cesseront d'être la risée du monde propriétaire, et sera perçu comme un concurrent a part entière. Pour l'instant, 1% de part de marché dans le domaine du desktop reste insignifiant pour être considéré avec sérieux.

Proposition de réseau social

Comme certain ont pu le remarquer, ce blog est une annexe du site que j'ai débuté il y a quelques années et qui n'a jamais vraiment décollé: Tweekers. J'ai poussé le vice jusqu'a donner comme sous titre "Plateforme de conception et d'architecture logicielle collaborative" alors que depuis le début je suis l'unique contributeur au site. Le site est plus ou moins a l'abandon et j'y poste de temps a autre quelques trucs et astuces concernant la programmation et l'administration. J'ai ajouté il y a peu de temps une section Documentation qui vise a répertorier et classifier les nombreuses documentations de projets libres mais c'est à peu prêt tout ce qu'il y a de nouveau sur ce site (Il me semble même que les inscriptions sont impossibles suite a l'ajout d'un antispam expérimental, personne n'a relevé le problème c'est dire le succès énorme du site).
Pourtant des le départ, le but était clair : a chaque problème sa solution, et le but du site était de la trouver, qu'il s'agisse d'une simple option de configuration sur Apache jusqu'a la conception entière d'une application.
J'ai utilisé ce site comme excuse pour apprendre le PHP et j'ai parfaitement conscience qu'il est buggé, que son code est à jeter a la poubelle, il n'en reste pas moins que l'idée de départ est toujours bonne et doit être gardée.
Il faudrait reconstruire ce site mais en mettant en avant le coté social du site. Il est hors de question de refaire un outil existant, surtout après la libération du code de Launchpad, qui est a mes yeux, la meilleure forge existante. Tweekers ne doit pas être une forge, ni un wiki, ni un forum, mais un réseau social axé sur l'étude de code et la conception de projets. Ce réseau social doit permettre de regrouper les personnes par domaine d'intérêts et de compétences.
Pour donner quelques exemples :

  • Peter a un concept génial pour un nouveau jeu vidéo, il publie l'idée sur son profil, 10 personnes sont intéressées. Steven a quelques connaissances de SDL propose de contribuer et d'écrire des tutoriaux, Hugues trouve que ce projet est l'occasion pour apprendre l'OpenGL, Georges cherchais a faire de nouvelles créations sur Blender, José a déja écrit un jeu vidéo et propose de réutiliser des morceaux de code de sa création, etc...
  • Jaqueline en a assez d'un bug très irritant qui n'a pas été résolu depuis des années. Le bug est répertorié sur Launchpad mais le programme est plus ou moins maintenu. Elle fait par du problème sur son profil. Dave est un autre utilisateur du programme et propose une analyse du code, il trouve le fichier qui pose problème mais n'a pas les connaissances pour résoudre le bug. Georges est un pro du C++ mais n'a pas beaucoup de temps a passer sur ce bug, mais cela tombe bien, on lui met devant les yeux la partie du programme a corriger, quelques minutes plus tard il soumet un patch (qui est automatiquement posté sur Launchpad). Dino applique le patch sur les sources, compile et construit un paquet qu'il publie sur son PPA.


Comme je l'ai bien fait comprendre, je ne comptes pas me lancer dans la refonte de ce projet tout seul, je cherche des personnes qui pensent que ce projet peut aboutir a un résultat intéressant. Pour information je compte développer le site avec le framework Symfony, probablement avec l'ORM Doctrine (je suis au beau milieu de mon autoformation a Symfony et j'ai commencé avec Propel, toutefois Doctrine semble être plus utilisé), et la librairie jQuery . Le site sera dans déplacé chez TuxFamily dans un premier temps (n'oubliez pas d'apporter votre soutien financier a TuxFamily !). A partir du moment ou j'aurais quelques volontaires, je mettrai a disposition le plus vite possible une première version du cahier des charges et pourrais organiser une réunion sur Jabber. Je précise qu'aucune connaissance n'est exigée tant que vous êtes motivés pour apprendre.

Lancement de Open Source Developer Network

Dans le précédent billet, j'exposais certaines difficultés que le développeur novice peut avoir lors d'une première approche dans le monde du logiciel libre.
Une des difficultés est de savoir ou trouver la documentation, car si l'on me dit RTFM je répondrais : WFP ? (Which F**king Paragraph ?).
L'autre rengaine courante est GIYF (Google Is Your Friend), et bien pas vraiment a vrai dire. Google est surtout très fort pour indexer tous les forums, toutes les mailings list, tous les blogs et s'il est facile de trouver des personnes qui ont le même problème que celui posé, il l'est déjà moins de trouver la bonne réponse.
Voila où OSDN (déformation du nom d'un célèbre site de documentation, d'un éditeur logiciel pas très apprécié dans les parages) rentre en jeu.
OSDN, ce n'est rien de bien compliqué techniquement : Un peu de HTML, et d'Ajax mais c'est surtout un travail de recherche et de classification. Cette page vise a regrouper toutes les pages de documentation de tous les langages et toutes les technologies Open Source. Oui, rien que ça... et la page n'a même pas un jour qu'elle commence déjà à être assez fournie.
La page comporte un moteur de recherche qui ira chercher uniquement sur le site en cours de consultation. (ou sur google.com/linux si aucune documentation n'est affichée)
Bien entendu je suis ouvert a toutes les suggestions, n'hésitez pas a m'envoyer dans les commentaires ou par mailavec le formulaire dédié les liens vers les documentations que vous jugez essentielles. Et ne soyez pas limités aux documentations officielles non plus, un bon tutoriel peut avoir sa place.
Aussi, si vous jugez l'organisation de l'arborescence inappropriée a certains endroits, n'hésitez pas a le signaler.
J'espère que cette page Web sera aussi utile pour vous qu'elle l'est déjà pour moi ;)

Abandon de MediaWiki pour Tweekers

Le principe du site Tweekers se rapproche grandement d'un Wiki avec quelques fonctionnalités en plus (état d'avancement des articles). C'est pourquoi j'avais décidé de partir sur une nouvelle base pour le site en utilisant le moteur MediaWiki utilisé sur Wikipedia pour ne citer que le plus important. Après avoir testé MediaWiki sur un serveur local j'ai rencontré plusieurs obstacles : Le premier est a considérer plus comme un défi, il s'agit de rajouter au moteur mediawiki les fonctions nécessaires au fonctionnement de Tweekers, ainsi qu'une bonne dose de customisation des feuilles de styles CSS (ne voulant pas faire un autre Wikipedia-like de plus sur le net). Le fait de contribuer pas le biais de plugins et de skins CSS est une chose interessante mais le 2ème obstacle rencontré m'a fait abandonner l'espoir d'utiliser MediaWiki (pour l'instant). Tweekers est hébergé sur Free ,qui est a ma connaissance le seul hébergeur gratuit, proposant PHP et SQL sans pubs. Free est un bon hébergeur mais comporte des limites : S'il est possible d'installer DotClear qui fait tourner ce blog ou un forum Invison Power Board , il ne peut pas en faire de même avec MediaWiki. La dernière version nécessite PHP5, Free n'offre que PHP4. Idem pour les version requises pour MySQL, Free est a la traine. Tant pis, j'ai abandonné l'idée d'utiliser la dernière version de MediaWiki et je me suis dirigé vers la 1.6 (encore maintenue contre les bugs de sécurité) . L'installation se passe un peu mieux : les versions de PHP / MySQL sont suffisantes mais je dois faire face a d'autres problèmes. Ce wiki fait appel a des fonctions Unix normalement présentes sur tout serveur (On comprends mieux si on cite la fonction diff qui compare 2 fichiers et affiche els différences, chose qui dans un wiki est indispensable pour l'historique). Bref je ne doute pas que les serveurs Free disposent de ces fonctions mais pas au niveau des abonnés. Je suppose que ceux ci fonctionnent dans un environnement restreint (chroot) et ne dispose que des commandes minimales. Je n'ai pas cherché plus loin , si je dois contribuer a l'évolution d'un logiciel libre, je tiens a le faire dans de bonnes conditions en utilisant la dernière version (d'ailleurs MediaWiki est passé en 1.8 hier). Pour l'instant retour au site d'origine et mise a jour prévue pour ce soir avec l'apparition de news.

Premier billet

Ca fait quelques temps que l'idée me trotte dans la tête : tiens si j'ouvrais un blog ?
Donc voila c'est fait. Au menu du logiciel libre, de la musique, des news a propos de mes sites qui n'avancent pas et plus encore. Plus en détail voici les sites sur lesquels je travaille actuellement :

  • Tweekers : Aide et astuces en informatique
  • Strycore : Activisme contre la DADVSI , les DRM et ce genre de mauvaises choses, musiques alternatives , partage de musique
  • MyMDB : Partage de vidéothèques entre cinéphiles
Ainsi que d'autres projet non commencés : un site de recettes de cuisines, et deprexim.com le site deprexim.

Mis a part ces sites je parlerais aussi de mes découvertes sur Linux et particulièrement la distribution Ubuntu qui a réussi a me faire abandonner Windows.