Une galerie des possibles Ă©volutions de #BuddyPress

Publié le

par

Galerie de l’évolution - Jardin des plantes
Galerie de l’évolution – Jardin des plantes, photo de imath sur Unsplash

Cher blog personnel, ma dernière publication remonte Ă  bien longtemps ! Jusqu’Ă  prĂ©sent, je me suis contentĂ© de tenir ta copie de WordPress Ă  jour et de rĂ©pondre aux rares visiteur·se·s qui t’utilisent parfois pour me contacter. Pour ma dĂ©fense, ma vie professionnelle a sensiblement Ă©voluĂ© : depuis 2 ans je suis « responsable Â» d’une Ă©quipe et le management de femmes et d’hommes dans la vraie vie est certes passionnant mais aussi très prenant (surtout au dĂ©but).

Toutefois, ce silence ne signifie pas l’abandon de mon hobby : la contribution Ă  WordPress. J’ai simplement fortement rĂ©duit la voilure pour me concentrer sur le projet open source qui, selon moi, a le plus besoin de mon d’aide : BuddyPress, l’extension de WordPress qui ajoute des fonctionnalitĂ©s communautaires Ă  la plateforme de publication la plus utilisĂ©e sur Internet.

Et justement, Ă  ce propos, j’ai pensĂ© que tu pouvais, cher blog, m’aider Ă  partager les Ă©volutions que j’estime importantes Ă  apporter Ă  l’extension avec ses contributeur·rice·s, ses utilisateur·rice·s finaux·ales et les dĂ©veloppeur·euse·s de thèmes ou d’extensions qui intègrent une dĂ©pendance Ă  BuddyPress.

Un peu comme une jeune pousse essayerait d’obtenir des fonds d’investisseurs providentiels, mon objectif est de les sensibiliser sur la nécessité d’investir une partie de leur temps libre et de leur surplus d’énergie pour s’engager à contribuer à ce projet open source.

Vous êtes tou·te·s fortement invité·e·s à contribuer à BuddyPress

Un projet open source comme BuddyPress est maintenu par une équipe de volontaires plus ou moins réguliers. À la différence des logiciels payants qui peuvent rémunérer des développeur·euse·s, des opérateur·rice·s de support, des traducteur·rice·s ou encore des rédacteur·rice·s de documentation, ce sont ces volontaires qui remplissent ces différents rôles, bénévolement, pour assurer la maintenance du projet BuddyPress.

En tant que « lead developer Â» de cette extension, je suis l’un d’entre eux, bien entendu. Mon influence sur le code source de BuddyPress est simplement plus directe en raison de mon pouvoir « d’Ă©criture sur / d’administration de Â» ses dĂ©pĂ´ts SVN et Git. Cette position me pousse Ă©galement Ă  Ă©normĂ©ment participer Ă  l’animation des cycles de dĂ©veloppement du projet ainsi qu’Ă  la communication des actualitĂ©s de l’extension sur son site officiel et son blog d’information traitant plus particulièrement de l’Ă©volution de son code source. Après quelques semaines Ă  occuper le rĂ´le, j’ai très vite compris que, pour bien le remplir, il Ă©tait important de d’abord penser Ă  la continuitĂ© de la subsistance maintenance du projet et d’agir en sa faveur.

Evolution du nombre de contributeurs depuis la première version majeure de BuddyPress

Le graphique ci-dessus montre l’évolution du nombre de contributeur·rice·s aux versions majeures de BuddyPress. La ligne étoilée précise le nombre de contributeur·rice·s moyen au fil de ces versions : elle s’établit à 47 contributeur·rice·s. La toute première version de BuddyPress tire cette moyenne vers le haut de 5 unités. Depuis la version 6.0, nous avons modifié notre manière de compter les contributions : nous prenons en compte le travail de traduction de l’extension effectué depuis la plateforme de traduction de WordPress, et les auteurs des tickets SVN ou d’issues GitHub partagés sur nos dépôts. L’avantage de cette pratique est d’encourager les utilisateur·rice·s avancé·e·s à signaler des anomalies ou à traduire l’extension et de reconnaître leurs apports. Pour réellement comparer l’effort contributif entre la version 10.0 et la version 3.0 par exemple, il s’agit de ne prendre en compte que les auteur·e·s de patches convertis en modifications de code source, c’est à dire 12 personnes pour la 10.0 contre 57 pour la 3.0.

Cette diminution de l’effort contributif, l’équipe le constate également lors de la publication des pré-versions. C’est un moment hyper important pour nous puisqu’il s’agit de nous assurer que nos travaux sur une version majeure n’ont pas généré de régression par rapport aux configurations de nos utilisateur·rice·s finaux·ales. Durant ces périodes dédiées aux bêta-tests, nous avons de moins en moins (pour ne pas dire aucun) de signalements et ce malgré avoir rendu disponible une extension permettant de simplifier la participation des utilisateur·rice·s.

Il est impératif d’inverser la tendance

  • C’est pourquoi il m’arrive assez frĂ©quemment de demander aux rappoteur·euse·s d’anomalies de proposer des patches pour partager leur correctif et amorcer un engagement plus fort dans leur participation au maintien durable de l’extension.
  • C’est pourquoi nous avons intĂ©grĂ© l’environnement de dĂ©veloppement @wp/env Ă  la version de dĂ©veloppement de l’extension.
  • C’est pourquoi nous avons mis en place une passerelle entre nos dĂ©pĂ´ts SVN et GitHub en vue d’encourager la contribution via des « Pull Requests Â».

Rappelons-nous qu’à la diffĂ©rence des logiciels payants qui peuvent mettre Ă  contribution l’argent que leurs utilisateur·rice·s leur fournissent afin d’amĂ©liorer leur code, leur support, leur documentation, leur traduction, etc., BuddyPress – projet libre et gratuit – a quant Ă  lui besoin de l’énergie et du temps d’une partie de ses utilisateur·rice·s pour faire plus que signaler des amĂ©liorations potentielles ou des anomalies : il s’agit de contribuer ou de faire contribuer Ă  leur concrĂ©tisation ou Ă  leur rĂ©solution.

Si nous sommes trop peu d’utilisateur·rice·s à nous engager, nous risquons de ne plus être en mesure d’assurer le maintien des services offerts par BuddyPress de manière pérenne auprès de l’ensemble des utilisateur·rice·s. Impensable.

0,02% pour le futur !

Si WordPress suggère que 5% des ressources des organisations devraient être dédiées à l’investissement contributif, je pense que si sur les 200 000 installations actives de l’extension, 0,02% des utilisateur·rice·s l’ayant activé réservaient quelques heures par semaine de leur temps libre sur ces domaines de contribution, nous garantirions à l’ensemble un maintien de l’extension dans la durée.

Page de BuddyPress sur le répertoire des extensions de WordPress.org

Ce niveau de contribution me paraît tout à fait atteignable, il correspond à 42 personnes en moyenne, nombre que nous avons atteint 1 fois sur 2 dans l’histoire des versions majeures de BuddyPress.

Avec 0,02% des utilisateur·rice·s également contributeur·rice·s : la documentation de BuddyPress serait à jour.

Si j’ai naturellement tendance Ă  considĂ©rer le verre Ă  moitiĂ© rempli, le dernier appel Ă  la contribution que l’Ă©quipe du projet a lancĂ© au sujet de la rĂ©vision de fond en comble de la documentation de l’extension a suscitĂ© tellement peu d’enthousiasme que ce verre m’apparaĂ®t aujourd’hui bien vide. Avec David et Varun, nous avons essayĂ© de porter Ă  bout de bras l’effort requis pour amĂ©liorer cette documentation avant que notre motivation, devant le dĂ©sert contributif, ne s’étiole progressivement. J’avais mĂŞme mis sur pied un site avec les extensions et le thème du site documentaire de WordPress pour prĂ©parer la migration de notre codex.

Nous ne renonçons cependant pas à cette nécessaire évolution de notre documentation et espérons pouvoir obtenir de l’aide pour progresser significativement sur ce sujet.

Avec 0,02% des utilisateur·rice·s également contributeur·rice·s : BuddyPress serait en passe d’utiliser l’API de réécriture des URL de WordPress pour gérer ses liens permanents.

Il s’agit d’un besoin fondamental pour BuddyPress sur lequel nous essayons de progresser depuis 9 ans. Remplacer la manière dont BuddyPress génère et interprète ses URL par celle utilisée par WordPress nous procurera à toutes et tous des bénéfices importants :

  • pour les utilisateur·rice·s finaux·ales :
    • l’extension pourra ĂŞtre utilisĂ©e avec le rĂ©glage par dĂ©faut des liens permanents de WordPress
    • toutes les URLs de BuddyPress pourront ĂŞtre personnalisĂ©es, ce qui pour les sites s’adressant Ă  des utilisateur·rice·s localisé·e·s dans des pays dont la langue n’est pas l’anglais sera très apprĂ©ciable.
  • pour les dĂ©veloppeur·se·s d’extensions ou de thèmes BuddyPress : la gĂ©nĂ©ration et l’interprĂ©tation des URL BuddyPress gagnera en rapiditĂ©, en fiabilitĂ©, en extensibilitĂ© et surtout deviendra complètement conforme avec les meilleures pratiques en matière de dĂ©veloppement WordPress.

PlutĂ´t que de brutalement intĂ©grer ce changement dans le cĹ“ur de BuddyPress, nous avons choisi de le rendre disponible dans l’extension « BP Rewrites Â». Ce faisant, nous espĂ©rons progressivement influencer les dĂ©veloppeur·se·s d’extensions ou de thèmes BuddyPress pour qu’ils·elles mettent Ă  jour leur code car nous souhaitons prĂ©server l’expĂ©rience des utilisateur·rice·s finaux·ales d’incompatibilitĂ©s potentielles.

Page de BP Rewrites sur le répertoire des extensions de WordPress.org

Rappelons-nous que l’intérêt de toutes et tous nécessite un plus fort investissement de certaines et certains. Or avec 20 installations actives, nous ne pouvons pas être assuré·e·s que la majorité des extensions dépendant de BuddyPress se comportent sans régression suite à l’intégration de ce changement majeur dans le cœur de BuddyPress. Nous avons a minima besoin de vérifier que 1000 installations actives se comportent sans anomalies.

Avec 0,02% des utilisateur·rice·s également contributeur·rice·s : des media pourraient être prochainement générés par les membres de votre communauté.

Comment se fait-il qu’une extension visant à ajouter des fonctionnalités communautaires à WordPress ne propose toujours pas un composant de partage de media ?

Un reproche récurrent exprimé par une partie de nos utilisateur·rice·s.

Nous y travaillons et essaierons de franchir une première Ă©tape dans ce domaine Ă  l’occasion de la prochaine version majeure de l’extension (la 11.0.0). Évidemment, nous irions beaucoup plus vite si une partie plus importante des utilisateur·rice·s (les 0,02%) s’engageait et contribuait Ă  la construction de ce composant.

Capture d’Ă©cran de la page d’administration des media communautaires

Ce composant sera publiĂ© dans un « Add-on Â» de BuddyPress (une extension exclusivement dĂ©pendante de WordPress et de BuddyPress) pour laisser le choix aux utilisateur·rice·s de continuer Ă  utiliser les très bonnes extensions qui ont comblĂ© ce manque depuis des annĂ©es s’ils·elles le prĂ©fèrent.

Avec 0,02% des utilisateur·rice·s également contributeur·rice·s : nous pourrions rapidement profiter d’un formulaire d’ajout d’activités reposant sur l’API des blocs de WordPress.

Imaginez le territoire des possibles !

Nous pourrions profiter de cette API pour permettre d’ajouter des blocs gérant l’intégration de media, de sondages, de liens, …, et le tout d’une manière standardisée.

Capture d’Ă©cran d’un prototype de formulaire d’ajout d’activitĂ©s

Nous pourrions enrichir le fonctionnement du composant des activités en permettant par exemple de planifier des publications tout comme c’est possible de le faire avec les articles de blog de WordPress.

Avec 0,02% des utilisateur·rice·s également contributeur·rice·s : nous oserions finalement nous lancer dans la création d’un thème BuddyPress utilisant des gabarits de bloc.

L’édition complète des sites WordPress devient progressivement possible depuis la version 5.9 de la plateforme de publication sur internet. Cette fonctionnalité portée par le projet Gutenberg vous permet de personnaliser l’apparence de la plupart des zones frontales de votre site lorsque vous utilisez un thème compatible.

Dans la version 10.0.0, nous avons ajouté le support de cette nouvelle « espèce » de thèmes en nous assurant de présenter vos contenus communautaires de la même manière qu’avec les thèmes classiques de WordPress.

Et si, demain, cette possibilitĂ© de personnalisation de l’apparence se propageait jusque dans les zones frontales de votre site que BuddyPress dĂ©die Ă  votre communautĂ© ?

Avec 0,02% des utilisateur·rice·s Ă©galement contributeur·rice·s… Ă€ nous tout·e·s de participer Ă  la construction des prochaines fonctionnalitĂ©s et au maintien des existantes !

Si certain·e·s des utilisateur·rice·s de BuddyPress sont initimidé·e·s par un saut dans l’univers de la contribution open source – car j’imagine que nous sommes tou·te·s convaincu·e·s de l’intĂ©rĂŞt de contribuer puisque c’est ce qui nous assure du maintien durable de l’extension que nous utilisons pour gĂ©rer notre communautĂ© sous WordPress – je les invite Ă  lire cet article que j’avais publiĂ© en dĂ©cembre 2017. Ils·elles pourront y dĂ©couvrir ce qu’ils·elles peuvent apporter et ce qu’ils·elles peuvent apprendre de leur engagement. 

Vous êtes tou·te·s bienvenu·e·s dans la tribu de contribution à BuddyPress, un projet libre, humain et ouvert.

Vous aurez simplement besoin de crĂ©er un compte sur WordPress.org, de l’associer au Slack de la communautĂ© WordPress et de rejoindre le canal #BuddyPress un mercredi soir sur 2 pour discuter avec l’Ă©quipe lors de nos rĂ©unions de dĂ©veloppement. D’ailleurs la prochaine est dans quelques heures.

À très bientôt !