BuddyPress en mode pas-à-pas – Episode 5

Episode 5 : à la découverte de la version 1.7.

Au cours de nos 4 précédents épisodes nous avons appris à apprivoiser les différents composants de BuddyPress. D’abord en créant un annuaire d’utilisateurs, en permettant ensuite à ces derniers de pouvoir se mettre en relation et d’interagir entre eux à l’aide de messages privés.

Nous avons poursuivi en mettant en place de nouvelles zones au sein de notre blog afin de proposer à nos membres de se regrouper et d’échanger au sein de micro communautés.

Lors de notre dernier épisode nous avons enfin activé les composants Activités et Site tracking, ajoutant ainsi un lieu centralisant tout le dynamisme de notre blog pour proposer à nos membres un flux global des actualités de notre site.

Aujourd’hui, je vous propose de découvrir la prochaine version majeure de BuddyPress : la version 1.7. Il est grand temps de se familiariser avec elle dans la mesure où la version beta2 de cette dernière vient d’être propulsée par l’équipe des core developers sur BuddyPress.org. Et pour plonger dans cette magnifique version, nous allons simuler un upgrade de la config que nous avons mis sur pied au cours des 4 premiers tutoriels de cette série.

 buddypress_tuto-part5

 

Simulation d’un upgrade

D’abord, nous avons besoin de récupérer la prochaine version de BuddyPress. On a plusieurs choix pour ce faire :

1) utiliser le trunk du plugin sur le repository officiel de WordPress (c’est le lien inclus dans l’article annonçant la beta2)

2) utiliser le trunk de l’environnement de développement de BuddyPress en récupérant une archive zip de ce dernier.

3) utiliser le trunk de l’environnement de développement de BuddyPress à l’aide de subversion.

wpformation-tuto5-step01

 

 

S’agissant des 2èmes et 3èmes choix, ils présentent l’avantage de contenir la toute dernière version du plugin. En effet, si des bugs ont été corrigés, nous n’avons pas besoin d’attendre la publication d’une nouvelle version pour profiter de ces corrections. Si vous n’êtes pas habitué à subversion, vous pouvez vous concentrer sur la partie gauche de l’image ci-dessus. Autrement, la partie droite illustre l’utilisation de subversion. Personnellement je préfère cette troisième méthode pour récupérer la toute dernière version de BuddyPress, dans la mesure où il est très simple par la suite depuis son terminal de récupérer les dernières modifications en faisant un simple “svn up” :)

wpformation-tuto5-step02

 

Une fois que vous avez rapatrié les différents fichiers de la 1.7 selon la méthode de votre choix, et avant de remplacer le contenu de notre répertoire /wp-content/plugins/buddypress, nous allons procéder à une sauvegarde de notre base de données. Avant toute installation de plugin ou avant tout upgrade je vous conseille vivement de prendre la bonne habitude de récupérer un dump de votre base. On ne sait jamais ce qui peut se produire ;)

On a sauvegardé notre base de données, on vient d’écraser les anciens fichiers de l’extension par les tous derniers, il est temps de voir l’impact de cet upgrade sur notre communauté. Si vous vous rendez sur le front de votre blog, vous ne remarquerez pas d’évolution spectaculaire à priori. Tout fonctionnera comme auparavant : ce qui est rassurant !

 

Management des groupes depuis l’administration WordPress

La première évolution que vous remarquerez lorsque vous passerez dans votre back office WordPress, c’est l’arrivée d’un nouveau menu “Groups”.

wpformation-tuto5-step03

 

Vous verrez qu’en tant qu’Administrateur d’une communauté, ce nouvel outil va vous simplifier la vie. Jusqu’à présent, la gestion des groupes se faisaient uniquement du côté front. C’est bien entendu toujours le cas afin de permettre à vos membres qui sont administrateurs de groupe de pouvoir continuer à gérer leurs groupes.

Toutefois, lorsque l’administrateur de la communauté souhaitait modérer la création des groupes ou ajuster les groupes existants, il devait rechercher les groupes, entrer dans chacun d’entre eux, activer l’onglet d’administration pour éventuellement les supprimer ou modifier leurs settings etc..

Avec la 1.7, cette modération est énormément simplifiée.

wpformation-tuto5-step04

 

Une fois le menu Groups de votre administration WordPress activé, vous atteignez la liste de vos groupes. Par défaut, cette liste est réglée pour afficher 20 groupes. En activant les options de l’écran, vous pouvez augmenter ce nombre et éventuellement personnaliser les informations à afficher dans la liste telles que le nombre de membres, le niveau de visibilité du groupe, sa description ou encore la date des dernières activités de chacun d’entre eux.

Ensuite, grâce aux différents liens de l’entête, vous pouvez filtrer les groupes affichés selon leur niveau de visibilité. A côtés de chaque lien, vous trouverez entre parenthèses leur nombre.

 

C’est vraiment pas mal, mais le meilleur est à venir !!!

 

Juste en dessous de ces liens ou encore sous la liste des groupes, vous constaterez l’existence d’une liste déroulante intitulée “Actions groupées”. Et là c’est carrément génial pour modérer la “création sauvage” de groupe ou pour simplement faire du ménage si vous n’avez pas autoriser vos membres à créer des groupes ;)

A l’aide des cases à cocher qui précède le nom de chaque groupe, vous pouvez sélectionner les groupes à supprimer et utiliser l’action groupée de suppression pour effacer d’un click les groupes indésirables ou obsolètes :)

Il est également possible d’afficher le détail d’un groupe particulier afin de gérer ses paramètres tels que son nom, sa description, sa visibilité, la capacité des membres à inviter d’autres membres ou encore l’activation d’un forum de groupe.

wpformation-tuto5-step05

 

Enfin, au sein de ce nouvel environnement, l’administrateur peut vraiment gérer les membres du groupe, de l’ajout d’un membre, en passant par sa promotion sur un rôle plus important dans le groupe jusqu’à sa suppression.

La faculté pour l’administrateur de simplement ajouter des membres est une vraie avancée. En effet, jusqu’à présent pour devenir membre d’un groupe masqué par exemple, il était nécessaire d’avoir été invité par un membre du groupe et donc cela nécessitait un lien de “friendship” entre les deux personnes. Aujourd’hui, l’administrateur est en mesure de directement peupler tout type de groupe.

Pour cela, il suffit qu’il commence à taper l’identifiant du membre à ajouter depuis le champ “Add New Members” et un autocomplete lui proposera les utilisateurs qui matchent.

wpformation-tuto5-step06

 

Pour gérer le rôle du membre, la liste déroulante “Group Role” est à la disposition de l’administrateur de la communauté pour promouvoir, bannir ou sortir le membre du groupe.

wpformation-tuto5-step07

 

Maximisation de la compatibilité de BuddyPress avec tout thème WordPress !!

wpformation-tuto5-step08

Tout simplement fabuleux et magique !

 

Voici un “irritant” de nombreux utilisateurs qui disparaît. Jusqu’à présent pour profiter de BuddyPress, il était nécessaire d’utiliser le thème inclus au plugin à savoir BP Default. Or lorsqu’on a choisit son thème WordPress, on y tient et on a envie de le garder. Alors, il y avait bien entendu la solution du plugin BP Template Pack ou encore la solution de se retrousser les manches pour se créer un thème enfant de BP Default, ou pour finir la possibilité d’opter pour un thème BuddyPress (free ou premium).

Avec la version 1.7, tout thème WordPress qui respecte le moteur de templating de WordPress sera interfacé de manière optimale par BuddyPress. Je reviendrai sur ce que j’ai mis en italique dans quelques lignes.

Comme illustré plus haut, nous allons changer le thème de notre configuration exemple pour twentytwelve et s’extasier quelques secondes devant le magnifique travail de l’équipe des développeurs de BuddyPress. Sans aucune manipulation supplémentaire, le contenu communautaire de BuddyPress s’interface admirablement dans notre thème :)

wpformation-tuto5-step09

 

Petite précision, il n’est pas obligatoire de profiter de cette nouvelle fonctionnalité !! On a vu au tout début de ce tutoriel que sans toucher à notre thème (qui était à l’origine BP Default), tout fonctionnait parfaitement.

En fait, BuddyPress s’adapte à votre thème. S’il s’aperçoit qu’il s’agit de BP Default ou d’un thème enfant de celui-ci, il continuera à se comporter comme auparavant. Si BuddyPress constate que vous avez activé un thème qui n’a rien à voir avec BP Default alors il enclenchera son mécanisme de maximisation de compatibilité.

 

Quelques conseils par rapport aux thèmes spécialisés BuddyPress ou aux thèmes premium :

1/ Si vous aviez un thème spécialisé BuddyPress qu’il soit gratuit ou premium, et si vous constatez un comportement étrange de votre thème telle que la publication en double des activités, c’est que votre fournisseur n’a pas effectué la légère évolution qui est nécessaire pour ce type de thème. Vous pourrez lui tirer une oreille et le renvoyer sur ce lien ;)

2/ Plus grave, même si ça a très peu de chance de se produire étant donné que notre configuration active l’intégralité des composants BuddyPress, certains thèmes s’amusent à injecter des contenus BuddyPress en dur dans leurs templates. Or si le thème en question ne vérifie pas que le composant est activé avant d’afficher son contenu, il y a un risque de “white screen of death”. Si suite à une nouvelle installation de BuddyPress 1.7 (en cas d’upgrade vous vous en seriez aperçu plus tôt en fait), vous constatez ce comportement par rapport à votre thème spécifique BuddyPress, vous pourrez tirer les 2 oreilles, cette fois-ci, de votre fournisseur et le renvoyer sur le codex de BuddyPress.

3/ Enfin certains thèmes premium détournent le moteur de templating de WordPress pour en utiliser un autre (par exemple : latte). Et dans ce cas, le contenu BuddyPress ne s’affichera pas du tout !! Mais ne vous inquiétiez pas, vous pouvez corriger en créant un template qui respecte le moteur de templating de WordPress dans ce thème et que vous appellerez “buddypress.php”.

Pour terminer ce chapitre dédié à la compatibité avec les thèmes WordPress, nous avons également besoin de nous inquiéter des éventuels plugins BuddyPress que nous aurions pu activer.

Voici un magnifique challenge pour les auteurs de plugins : profiter de ce mécanisme pour faire en sorte que nos plugins s’interfacent également de manière optimale avec tout thème WordPress.

En attendant, il est possible qu’au moment de la release de la 1.7 certains d’entre eux ne soient pas “BP Theme Compat” ready. Aussi avant d’envisager d’activer un autre thème que celui que vous utilisiez avec vos plugins, je vous invite à vérifier que ces extensions ont fait le nécessaire.

Pour cela c’est très simple, ouvrez le répertoire du plugin dans un éditeur de texte type textmate ou sublime text et faites une recherche dans tous les fichiers sur ce texte : bp_setup_theme_compat. Si la recherche ne vous retourne aucune occurrence, c’est que le plugin n’est pas prêt. Pour information, depuis début février, un article du codex de BuddyPress explique comment rendre compatible son plugin à cette nouvelle fonctionnalité de BuddyPress.

La maximisation de la compatibilité de BuddyPress avec tout thème est véritablement l’évolution majeure de la version 1.7 ! Mais attendez quelques secondes avant de foncer télécharger la bêta, ce n’est pas fini :)

 

Profiter de la dernière version de bbPress pour motoriser les forums de groupe.

Le composant historique que BuddyPress utilise pour motoriser ses forums de groupe est une version “old school” de bbPress (la 1.0). Si on va faire un tour dans le back end menu réglages BuddyPress sur l’onglet des composants activés, vous remarquerez l'existence d’un lien “retired”.

wpformation-tuto5-step10

 

Lorsque vous cliquez sur ce lien, vous remarquerez que BuddyPress vous propose d’utiliser la toute dernière version de bbPress pour motoriser vos forums de groupe. Toutefois, comme nous avons pu le remarquer, notre site fonctionne parfaitement avec les anciens forums de groupe comme illustré ci-dessous, nous avons donc le choix ;)

wpformation-tuto5-step11

 

En même temps, la prochaine version de bbPress est vraiment superbe, et je ne pouvais décemment pas en rester là dans ce tutoriel ! Alors, nous allons prendre quelques lignes pour nous y intéresser. D’abord, elle apporte un environnement de modération dedié aux forums dans votre administration WordPress, ensuite, elle propose un éditeur wysiwig pour vos topics et leurs réponses, enfin et surtout, elle permet aux auteurs de topics ou aux répondants de s’abonner aux topics afin de recevoir un email lors de la publication de nouveaux éléments.

La version cible pour BuddyPress 1.7 est selon moi la version 2.3 de bbPress qui est actuellement en betâ2. Il y a fort à parier que ces deux versions majeures vont être “released” à peu près au même moment. Pour ce tutoriel, j’ai opté pour la version trunk qui contient les derniers correctifs apportés à l’interfaçage de bbPress avec BuddyPress 1.7. Vous pouvez la récupérer en utilisant subversion ou en téléchargeant la version trunk de l’environnement de développement de bbPress. Veillez bien à ce que les fichiers de l’extension soient dans le répertoire /wp-content/plugins/bbpress.

Une fois qu’on a notre plugin en place et avant de l’activer, nous allons faire une nouvelle sauvegarde de notre base de données car nous allons procéder à la migration de nos forums de groupe BuddyPress “old school” pour cette toute dernière version de bbPress ;)

wpformation-tuto5-step12

 

Comme illustré ci-dessus, nous commençons par désactiver les forums de groupe de la page des composants BuddyPress. Ce qui aura pour effet de désactiver tous les forums de nos groupes temporairement. Nous pouvons désormais activer la version 2.3 de bbPress et paramétrer ses premiers réglages.

wpformation-tuto5-step13

 

Une fois activée, un “welcome screen” nous explique les dernières avancées réalisées dans cette version avec un chapitre notamment dédié à BuddyPress. En nous rendant dans les réglages WordPress, sous menu Forums, nous pouvons personnaliser les options de bbPress en veillant notamment à ce que bbPress se charge de motoriser les forums de groupe de BuddyPress.

Il nous reste à migrer nos forums de groupe. Pour cela, il suffit d’aller dans le menu Outils de l’administration WordPress et d’activer le sous menu “Forums”. Ensuite, depuis l’onglet “Import Forums”, nous renseignons les éléments de notre ancienne configuration bbPress 1.0.

wpformation-tuto5-step14

 

Nous lançons la procédure de migration en validant. Un affichage nous informe de l’avancée de cette dernière qui peut selon le nombre de vos forums/topics prendre un certain temps.

wpformation-tuto5-step15

 

Une fois que vous atteignez le message “Repair any missing informations : Continue”. Cliquez sur le lien pour atteindre l’onglet “Repair forums” afin de rétablir notamment toutes les informations liées à vos anciens contenus et surtout la relation entre les groupes BuddyPress et les forums importés. Si vous avez un doute, cochez toutes les options ;)

wpformation-tuto5-step16

 

Une fois cette dernière étape de la migration effectuée, si vous vous rendez dans l’administration des Forums depuis le menu Forums de l’administration WordPress, vous allez retrouver votre contenu rattaché à un forum parent “Group Forums”.

“The last touch” consistera à éventuellement créer un menu depuis la rubrique Apparence de votre administration WordPress pour afficher la page générale des forums. Cela peut être notamment intéressant si vous prévoyez de créer des forums indépendants des groupes BuddyPress, car en effet c’est désormais possible !!!

wpformation-tuto5-step17

 

Tada! Vous avez terminé une superbe migration et désormais vos forums de groupe sont motorisés par la toute dernière version de bbPress :) Comme auparavant, vous pouvez le cas échéant désactiver le forum d’un groupe depuis sa page d’admin de groupe sur le front end ou depuis la nouvelle interface d’administration des groupes de BuddyPress dans le back end.

wpformation-tuto5-step18

 

Les autres évolutions de BuddyPress 1.7

Nous venons de voir les nouveautés les plus spectaculaires de cette 1.7, il y en a d’autres telles que:

  • l’ajout d’un niveau de visibilité des informations de profil réservé aux administrateurs de la communauté,
  • la possibilité de réorganiser d’un simple drag and drop les options d’un champ de profil de type radio ou checkbox
  • un travail d’optimisation des performances des requêtes liées aux utilisateurs avec l’introduction de la nouvelle class BP_User_Query qui permet par exemple à un site de 100 000 membres de voir son temps de chargement des pages de membres divisé par 10.
  • la disparition de l’installation Wizard que nous avions abordé lors de notre premier tutoriel. L’activation et le paramétrage du plugin s’en trouvant fortement simplifiés et accélérés.
  • enfin, pour les nouvelles installations, 2 composants seulement seront activés par défaut : les activités et les profils étendus.

S’agissant de ce dernier point, vous comprenez peut-être mieux pourquoi dans cette série de tutoriel, j’ai activé les composants les uns après les autres :)

Envie de voir la 1.7 en live ? Je vous propose de découvrir la fabuleuse communauté de Stéphane (@4h18) qui l’utilise : http://parlonsblog.com. Profitez en pour vous inscrire et lui passer une mention pour le féliciter de son intégration de la 1.7 et de bbPress 2.3 de ma part ;)

 

Voilà qui termine notre série “BuddyPress en mode pas à pas”. J’espère que vous aurez apprécié cette pentalogie, il ne me reste plus qu’à vous souhaiter :

wpformation-tuto5-step19

 

A propos de l'auteur iMath : Amoureux de WordPress et de BuddyPress depuis 2010, je m'amuse à créer des extensions pour ces deux fabuleux outils. Vous pouvez me retrouver sur mon site iMathi.eu, sur Twitter ou Google+.

A propos de l'auteur...

WPFormation

Fabrice Ducarme, formateur WordPress je suis éditeur, auteur et fondateur du site WP Formation.com. Conférencier lors des WordCamp Paris 2013 & 2015 ainsi qu'au WP Tech Nantes 2014, je vous propose plus de 400 articles & tutoriaux à propos de WordPress, mes trucs & astuces mais aussi des coups de gueule...

13 commentaires pertinents à ce jour ;)

  • Fabrice dit :
    , je tenais à être le premier commentaire de ce tuto qui conclut magistralement la série BP pas-à-pas, afin de te remercier pour le temps et l’investissement que tu as passé à la rédaction de cette série référence sur BuddyPress.

    Lorsque tu m’as annoncé la 1ère fois que le tuto BP (à l’origine il ne devait y en avoir qu’un;) était trop long et que tu préférais le scinder en plusieurs parties, je n’aurais pas osé imaginer un tel niveau de détails, de qualité et de précision…

    La communauté WordPress/BuddyPress progresse grâce à des gens comme toi, merci pour tout ce que tu donnes…

    Ps/See you soon in Paris Buddy ;)

  • imath dit :
    Salut ,

    « you’re very welcome ». J’ai pris énormément de plaisir à réaliser ces différents tutoriels, merci à toi de m’avoir proposé de mettre en valeur BuddyPress à l’aide de ces derniers sur WP Formation (et pour ce commentaire super sympa) ;)

    A+ IRL sur Paris !!

  • AurelienT dit :
    Hello!
    J’ai essayé plusieurs tentatives, je me suis dis recommence tu as du louper une étape. Mais sans résultat positif.
    Tout vas bien jusqu’à la mise en place de bbpress 2.3, et a partir de la, quand je fais l’import, rien ne vas plus!
    L’import, je l’ai stopé, parce que 45 minutes pour 1 forum test avec 1 topic (il y a avait des centaines de lignes écrites), pour moi c’était pas très normal.(je précise que je ne mets pas le nez dans le code)
    Du coup retour en arrière. Je verrai cela plustard!
    J’attendrai que tous les test beta soient terminé et que mon thème buddy (Mingle) soit mis à jour par son auteur. En espérant que cela vienne vite!
    Même si la mise en place de ce tuto n’a pas été une réussite pour moi.
    Encore merci pour tous ces pas à pas.
  • imath dit :
    Salut Aurélien,

    Effectivement, dans mon enthousiasme, j’ai oublié de préciser que les versions beta sont « à priori » faites pour être testées sur des environnements de dev ;) Il s’agit de se préparer pour ces deux prochains fabuleux releases.

    S’agissant de ta difficulté, je pense qu’il doit y avoir une information qui est mal renseignée dans le formulaire d’import. Je n’ai pas détaillé ce dernier. Il faut notamment bien renseigné :
    le type de plateforme > bbPress1
    le serveur de base de données > localhost (généralement)
    le port > 3306 (généralement)
    le nom de la base de données
    l’utilisateur mysql qui a les droits sur cette base de données (avec son mdp) et pour finir le prefix des tables de l’ancienne version de bbPress. (pour une config standard il s’agit de wp_bb_ , mais il est possible que pour des raisons de sécurités tu aies choisi un autre préfix).
    La plupart de ces informations sont disponibles dans le wp-config.php.

    A+

  • Malorie dit :
    Bonjour,

    Tuto très détaillé, merci pour ce partage! Perso, je ne me suis pas encore mis à BuddyPress mais avec ce que tu viens de publier je vais les essayer…pourquoi pas à commencer avec la dernière version? J’attends également de voir d’autres retours également.

  • Guénaël dit :
    je dois gérer un site que je viens de mettre en place pour une structure.
    Je souhaiterais cacher mon compte d’Administrateur à la vue de tous, car il apparait dans « les membres », ce que je ne veux pas.
    Si tu as une info à ce sujet, je suis preneur. Merci
    Guénaël
  • Guénaël dit :
    J’ai oublié de préciser, que j’ai mis en place BuddyPress….j’ai essayé S2Members, mais en anglais (pas facile à comprendre)
  • Jecko dit :
    Bonjour,

    J’adore votre site et le tuto est très bien expliqué. Toutefois, j’ai une question concernant Buddydrive. J’arrive à créer les utilisateurs et les dossiers, malheureusement pour moi quand je mets un fichier tel qu’un PDF et je me connecte avec un compte bêta-testeur. Le lien est mort. Quelqu’un aurai-il une idée d’où cela vient ?

  • l0lb0y dit :
    Bonjour.
    Voilà c’est mon premier commentaire sur ton site qui est plus que fabuleux et pour ça je met un J’AIME sur ton site.

    Mais je viens vers toi car ta connaissance sur buddy press semble atteindre son apogée. j’ai suivi tes conseils depuis le début de ce tuto jusqu’à la fin et tu parle de l’intégration de bbpress qui à mon sens est très bien fait. Le seul petit problème est qu’il me fait planter les rôles de chacun de membre en les faisant passer « d’abonnés » à « participants » et rendant impossible la lecture de mes articles sur mon site. Aurais-tu une solution à mon petit problème???

  • WP Formation dit :
    Bonjour, merci et welcome !
    Concernant BuddyPress, le vrai spécialiste c’est iMath que tu peux retrouver, ainsi que d’autres amoureux de BP, sur l’excellent site http://bp-fr.net/. Tu y trouveras des forums et des topics qui pourront certainement venir à bout de ce petit problème ;)
  • l0lb0y dit :
    Super et rapide j’adore merci du conseil je vais y aller de suite. Tu mérites bien une pub sur mon petit site si cela ne dérange pas bien sur???

    Continue comme ça !!!

  • WP Formation dit :
    Avec plaisir ;)
  • Alexis dit :
    Merci pour ces premiers pas pour Buddypress. Je compte l’utilisé pour l’un de mes projets. C’est assez laborieux en fonction de mon niveau actuel mais bon je ferais avec.
    Merci encore j’espère qu’il y en aura d’autres des tutos :p.

    Bien cordialement

Tweet43
Share7
Share
Buffer1