Framasoft : du code libre pour des projets libres – Interview de Quentin

Aujourd’hui, tout le monde a le cloud à la bouche. C’est vrai que ne rien installer et avoir un logiciel collaboratif à portée de main, c’est pratique… Mais nous sommes de plus en plus nombreux à nous inquiéter de savoir où passent nos données…. qui gère les serveurs… comment être autonomes… Le Framacloud est né avec Framapad, un service connu et utilisé par de nombreuses personnes. Aujourd’hui, Framadate connait aussi un grand succès comme alternative libre aux « doodles ». Mais il existe d’autres services qui n’attendent que votre utilisation, vos retours, votre participation.

Tous les projets Framasoft, qu’ils soient culturels, cloudesques, logiciels ou les trois, demandent des lignes de code… Bien sûr, les salariés ainsi que des bénévoles enrôlé-e-s de force dans l’association mettent les mains dans la source. Mais, encore une fois, l’apport de la communauté est essentiel. C’est pourquoi Framasoft a ouvert un dépôt GitHub. Afin que chacun-e puisse étudier, reproduire, modifier et diffuser du code que nous créons ensemble… Mais laissons Quentin nous le présenter.

— Pouhiou

Framablog : Dis-moi, c’est quoi un GitHub ? A quoi cela peut-il servir pour le développeur en herbe ? La codeuse volontaire ?


Quentin : Je ne vais pas m’embêter et je vais reprendre la définition de Wikipédia : GitHub est un service web d’hébergement et de gestion de développement de logiciels, utilisant le programme Git. En fait, c’est un site web où les développeurs du monde entier peuvent héberger le code source de leurs applications et ainsi le partager s’ils le veulent avec le reste du monde. Chaque membre de GitHub peut faire des propositions pour de nouvelles fonctionnalités, ouvrir des bogues, les corriger et les soumettre au projet initial. Il peut également copier le projet pour travailler sur une copie de celui-ci. On appelle cela un « fork ».

Pour le développeur en herbe ou la codeuse volontaire, cela permet de lire du code écrit par d’autres, de pouvoir le modifier et ensuite, d’en faire part à l’équipe qui développe le projet. Celle-ci peut alors commenter ce qu’a fait ce nouveau développeur et lui dire ce qui est bien et ce qui n’est pas bon dans son code. C’est ainsi que l’on apprend… C’est également comme cela que se créé une communauté autour d’un logiciel, que ce dernier s’enrichit et devient de plus en plus stable. Toutes les contributions sont bénéfiques !

Mais un code, c’est pas un peu personnel ? Je veux dire, c’est facile de mettre le nez dans un projet développé par quelqu’un d’autre ?

Ce n’est pas toujours facile en effet de se plonger dans le code de quelqu’un d’autre, surtout s’il est mal documenté, comprend trop peu de commentaires… il ne faut donc pas hésiter à poser des questions, ni craindre de commettre des erreurs ! Les développeurs sont aussi là pour expliquer le fonctionnement de leur logiciel.

Chez Framasoft, le code n’a rien de personnel puisqu’il est développé soit par les bénévoles, soit par les salariés de Framasoft, il est donc normal qu’il soit mis à la disposition de tous.

Framablog : Du coup quelle est la meilleure méthode pour participer à l’amélioration d’un projet Frama présent sur GitHub ?

Il y a plusieurs façons de participer à un projet Frama, je vais aller de la plus basique (mais non la moins importante) à la plus complexe :

  1. Dire merci. Oui, c’est tout bête, mais quand on utilise un logiciel libre qui nous plaît, il est très facile d’écrire un petit courriel pour dire merci. Ça ne coûte rien, ça fait plaisir à entendre et ça motive encore plus…
  2. Remonter des bogues : c’est également quelque chose de simple, mais ce n’est pas souvent fait. Lorsque vous apercevez un problème sur l’une des applications Framasoft, n’hésitez pas à ouvrir un bogue (rubrique “Issues”) dans GitHub (si vous avez un compte sur ce site) ou tout simplement à nous contacter par courriel pour nous faire de votre problème
  3. Proposer des améliorations : vous avez une idée pour améliorer les applications Framasoft, alors proposez-la (de la même façon qu’au point 2). Pour cela, il faut être un petit peu développeur c’est vrai, mais vous pouvez nous aider en corrigeant les bogues, en apportant votre savoir-faire sur tel ou tel langage, en codant une nouvelle fonctionnalités… Il vous suffit de « forker » les projets Framasoft présents sur GitHub, modifier le code et faire ce que l’on appelle un Pull request :  il s’agit une demande d’intégration du nouveau code soumis par le développeur dans l’application.

En conclusion, il n’y a pas de meilleure méthode pour participer, elles sont toutes intéressantes et permettent d’améliorer les applications.

Framablog : Quels sont les projets Frama disponibles sur notre dépôt Github ? Il y en a d’autres qui vont s’y loger bientôt ?

Donc sur GitHub, Framasoft est représentée par l’équipe Framasoft : si vous ouvrez le lien, vous voyez toutes les applications dont le code source est partagé avec la communauté.

On y trouve a par exemple le code source de Framapad ainsi que celui de Framadate.

…mais aussi d’autres projets qui sont principalement utilisés en interne dans l’association comme Gesdon qui comme son nom l’indique, nous permet de gérer les dons et l’envoi des reçus fiscaux. Pour le moment, il n’y a que quelques applications dont nous partageons le code source. Nous souhaitons bien sûr partager le maximum, mais le manque de temps ne nous a pas encore permis d’organiser et d’ajouter le code source d’autres applications.

Vous en voulez encore ? Découvrez aussi celles-ci :

Framacalc : Framacalc est à Framapad ce que Calc est à Writer. Il s’agit donc d’un tableur en ligne collaboratif. Même s’il est pour l’instant moins complet que Framapad, Framacalc est tout à fait fonctionnel et vous permettra de travailler à plusieurs et en temps réel sur une feuille de calcul.

Framindmap : Besoin de faire un brainstorming ? Framamind est l’outil qu’il vous faut. Avec sa prise en main intuitive, il vous permettra de structurer vos réflexions pour en faire une superbe carte heuristique. Choisissez les positions de vos idées, les couleurs, et repartez avec vos idées mises au clair, sous forme d’image ou de fichier exportable, que vous pourrez toujours importer plus tard, pour le modifier et le compléter.

Gégé (rien que pour le lulz) : S’il y a un outil du Framaverse qu’on a fait en se disant : « ce pourrait être un délire sympa de le faire », c’est bien celui-ci. L’idée est venue est voyant une démo sur le site de Mozilla (). Et si on faisait pareil avec les personnages de Gee ? Il a suffit de quelques personnalisations du CSS par Bouts et Gégé, le Générateur de Geektionerd, était né. L’outil, simple d’utilisation permet de créer simplement, sans talent de dessinateur, ses BD de Geektionerd en proposant des jeux de mots tellement pourris que même Gee n’aurait pas pu les écrire.