Comment contribuer à diaspora* ?

Cet article est la remise en ligne d’un ancien article paru sur le blog libre.

Pour donner suite à mon billet concernant le chat de diaspora*, je vais vous expliquer ici les très nombreuses façons que vous avez de contribuer au réseau sans forcément toucher à Ruby.

Mais faisons d’abord un point sur les technologies utilisées.

La technique

Côté serveur

Bien évidemment, côté serveur, c’est du Ruby et ça utilise le framework Ruby on Rails. Si vous ne connaissez rien à Ruby mais que vous souhaitez quand même contribuer à cette partie, vous pouvez commencer à l’apprendre sur le site officiel et vous y familiariser sur ce site sur lequel vous pourrez résoudre interactivement des exercices.

Les pages ne sont pas écrites en HTML/CSS classique. Le projet utilise un moteur de template appelé HAML et les feuilles de style sont écrites avec SCSS, un dialecte du CSS (mais du CSS pur reste parfaitement utilisable même si SCSS apporte beaucoup de fonctionnlités).

Côté client

Depuis juillet 2012, les core-devs s’appliquent à déporter une partie de la charge serveur vers le navigateur. Une partie du coeur de diaspora* est écrite en JavaScript et tend à s’étendre au détriment de la partie en Ruby.

Ce code repose principalement sur deux framework :

  • Backbone.JS qui est un framework fournissant un modèle de développement similaire à Rails (modèle MVC),
  • Handlebar.JS un moteur de rendu et un langage de template similaire à HAML pour ruby.

Les feuilles de styles sont là aussi écrites en SCSS. jQuery est beaucoup utilisé ainsi que la maintenant très célèbre bibliothèque Bootstrap de twitter.

Les tests unitaires

Pour assurer la qualité du code et empêcher l’apparition de bugs de régression, le code source possède un grand nombre de tests unitaires. Les tests pour la partie écrite en Ruby sont faits avec RSpec. La partie documentation du site liste un ensemble de liens qui constituent la doc du framework. Les tests qui portent sur la partie écrite en JS sont faits avec Jasmine. Les tests d’intégration sont réalisés avec Cucumber.

Quelques détails supplémentaires sont disponibles sur ces questions sur le wiki du projet à cette page.

Tout le reste

diaspora*, ce n’est pas que du code. Il est possible de contribuer à la technique sans toucher aux sources. La raison pour laquelle toutes les versions de diaspora* sont toujours préfixées par un 0 (la version actuelle — au 11 novembre 2014 — est la version 0.4.1.2) est que les core-devs considèrent  qu‘il n’est pas encore suffisamment facile de gérer (installer, administrer, mettre à jour, sauvegarder, modérer, etc…) une instance de diaspora*. Il y a de très nombreuses dépendances pour un serveur diaspora* en dehors de celles requises par Ruby. Voir par exemple ici. Si vous vous y connaissez bien en administration de serveur et en systèmes d’exploitation, vous pouvez toujours proposer des idées pour automatiser l’installation d’un serveur diaspora*.

Voilà, cette partie est un poil techique, je n’ai pas trop la place d’expliquer tous les termes utilisés, mais vous pouvez poser vos questions dans les commentaires.

Et si je ne suis pas technique ?

Il existe de nombreux autres moyens de contribuer à diaspora* sans toucher au code source.

Le prosélytisme

Faire du prosélytisme autour de vous est déjà d’une grande aide. Nombreux sont encore les journalistes — même spécialisés — persuadés que diaspora* est un projet mort et enterré ou bien un réseau mourrant remplis de terrorristes. Un réseau social qui se défend de lui-même en supprimant très rapidement — beaucoup plus rapidemment que Facebook ou Twitter, du reste — les comptes d’apologie du terrorisme ne fait pas vendre de papier. On préfère raconter l’histoire d’une utopie qui a mal tourné. C’est donc à nous, la communauté de le démentir avec les moyens à notre disposition.

Partir à la recherche de bugs en develop

Si vous avez le coeur vaillant, vous pouvez servir de crash-test pour les serveurs en develop. En France, il n’y a actuellement qu’un seul pod en develop : diaspora-frMise à jour : Les inscriptions sont désormais fermées sur ce pod. Néanmoins, si vous vous sentez vraiment (très) courageux, vous pouvez vous inscrire sur un pod en develop non-français. Vous pouvez retrouver la liste ici. l est généralement déconseillé de s’y inscrire à cause du risque d’instabilités, au profit de Framasphère* mais si vous vous sentez l’âme d’un aventurier, vous pouvez partir à la recherche des bugs vicieux et des problèmes d’affichage qui sont légion en develop.

Pour ceux qui ne sont pas à l’aise avec l’anglais, vous pouvez vous contenter de signaler le bug en postant en public :

  • un résumé du bug,
  • les circonstances de la découverte,
  • les moyens de reproduire le problème,
  • votre identifiant diaspora*,
  • votre navigateur avec la version et les extensions actives,
  • une ou plusieurs captures d’écran,
  • le tag #bug.

Pour ceux qui ont un compte github, vous pouvez vous-même poster des issues sur le dépôt officiel.

Écrire sur le wiki

Vous pouvez également aller contribuer au wiki. Il existe des pages à mettre à jour. Le simple fait de les signaler est déjà d’une grande aide pour éviter que des utilisateurs inexpérimentés se retrouvent face à des problèmes non-répertoriés qui sont simplement dûs à des problèmes de version.

Pour ceux qui parlent plusieurs langues, il est vital de faire le plus de traduction de pages possible. La plupart des pages est écrite en anglais, mais tout le monde ne maitrise pas l’anglais. En particulier, un grand nombre de pages reste à traduire en Français.

S’investir dans la communauté

Si vous souhaitez contribuer à la technique quand-meme, mais que vous ne savez pas par quoi commencer, vous pouvez toujours venir régulièrement sur IRC. Plusieurs canaux sont dédiés à diaspora* sur le serveur freenode.net. Beaucoup de core-devs sont présents sur le canal #diaspora. Le canal #diaspora-dev est moins utilisé pour discuter mais est connecté en permanance à github. Toutes les modifications sur le dépot officiel y sont postés. Vous pouvez donc y suivre l’évolution du code source en temps réel sans avoir besoin de visiter github. Sur diaspora*, vous pouvez aussi suivre le compte commits@social.mrzyx.de qui reposte aussi ces commits.

Pour les anglophobes, une petite communauté s’est formée sur le canal #diaspora-fr. Ça raconte plus souvent des blagues que ça ne parle de code, mais nous n’hésitons jamais à aiguiller les nouveaux. Suivre ce canal aussi souvent que possible vous permettra de vous tenir au courant de ce qu’il se passe au sujet de diaspora*.

Toutes les décisions concernant les fonctionnalités à implémenter et l’organisation de la communauté sont prises sur Loomio.

Que vous choisissiez de suivre Loomio, IRC ou les deux pensez toujours avant de poser une question à vérifier sur github ou Loomio si elle n’a pas déjà été posée.

Voilà, vous êtes désormais prêts à contribuer à diaspora* ! Nous n’attendons plus que vous !

Note : Merci à Fla pour sa relecture attentive de ce billet ! Fla, tu roxx ! :-*

(Sinon, SpF et dada sont des gens sympas ! :D)

Aucun avis pertinent dans Comment contribuer à diaspora* ?

Laisser un commentaire

indique des champs obligatoire.