Catégories
Web

Un site membres WordPress, gratuitement et sans coder (ou presque)

« Cherche site WordPress permettant de partager, de façon privée, des infos entre membres »

Expression de besoins

Extranet, site d’association, site familial, projet de bande de potes, … Les outils web permettent parfois de faire ce qu’on veut à moindre effort. Dans d’autres cas, la solution semble impossible à identifier pour le quidam, et elle est souvent très décourageante à mettre en œuvre. Et pourtant, il y a plus d’une option.

En voici une qui n’est pas révolutionnaire mais tellement simple : toute la partie membres dans un site distinct géré par .htaccess et .htpassw + WordPress + BuddyPress.

Pour les non-initiés, ça sonne barbare, mais ce n’est pas si compliqué pour qui est un peu dégourdi et à l’aise avec le web. Il s’agit de simplifier autant que possible le site WordPress final pour que le CMS reste facile à intégrer et à maintenir. C’est l’objet de cet article, entre présentation solution et tutoriel, en espérant que cela vous aide à créer le site membres dont vous avez besoin.

La genèse : pas de plugin WordPress correspondant aux critères

Et voilà donc l’origine de cet article : un besoin de site web, avec des fonctionnalités de type réseau social en accès restreint, sans budget et avec peu de ressources, administré par Mme et M. Toutlemonde.
Pas très réaliste à première vue…

Autre motivation pour écrire cet article : avoir fait de nombreuses recherches, exploré plusieurs pistes sans être tombé sur celle que j’ai finalement adopté.

Recherche d'extension sur WordPress.org pour un site membres privé
Pas d’extension mouton à cinq pattes dans les extensions de WordPress.org – c’est de la caricature mais je ne vous l’apprends pas, les gens sont difficiles

La plupart des articles que j’ai lu

  • concernent d’autres besoins : paywall et souscription, communauté ouverte et visible de tous, e-commerce, …
  • ou impliquent des développements, et donc demandent plus d’attentions à chaque mise à jour (trop pour une équipe de non-professionnels du web).
  • Il y a aussi des solutions « magiques », certaines sont bonnes, mais ce que j’entrevoyais me semblait inadapté, trop fragile, ou un peu trop cher

Le bon sens aurait voulu que le projet soit abandonné, ou que les ambitions soient revues à la baisse. Et c’est peut-être une question à vous poser si vous avez suivi le même cheminement que moi. Mais je me suis un peu obstiné à chercher comment conserver l’idée très alléchante du CMS WordPress avec un espace membres protégé et communautaire.

Prérequis avant d’installer un WP

Pensez sérieusement aux fonctionnalités que vous attendez avant de commencer à installer quoi que ce soit, et réfléchissez aux conséquences de vos choix. Prenez le temps de définir votre projet, d’arbitrer, de décider. C’est beaucoup plus efficace que de suivre le premier tuto venu et de s’apercevoir après quelques heures que ce n’est pas très adapté.

Pour le reste, vous n’aurez pas besoin de faire beaucoup plus que si vous installiez un site WordPress auto-hébergé. Il vous faudra toutefois un peu de temps, étant donné les fonctionnalités déployées.

Pourquoi et comment WordPress ?

Le choix s’est très vite porté sur WordPress. Les intérêts sont multiples et je ne les listerai pas ici. Il y a de nombreuses alternatives : outils collaboratifs, applis fréquemment installées sur les smartphones des unes et des autres, autres CMS, … Mais aucune ne semblait en mesure de remporter autant de suffrages que WordPress.

Bien entendu, un mix d’extensions WordPress peuvent répondre au besoin, mais il faudrait les faire dépendre les unes des autres … Pas gagné en termes de gestion, de compatibilité, de stabilité. J’ai donc opté pour la solution la plus basique possible, limitant le risque de voir tout cassé à la première mise à jour.

Un aperçu de la solution :
WordPress + BuddyPress + .htaccess

Faire un site communautaire n’est pas ce qu’il y a de plus simple.
Mettre en place des restrictions d’accès en fonction des contenus et du contexte (connecté / pas connecté) n’est pas très évident non plus.
Associer les deux, c’est trois fois plus agaçant.

Les compromis se sont donc portés sur :

  • la séparation des contenus destinés au public et aux membres, grande simplification du dispositif côté admin mais pas idéal côté utilisateur
  • la priorité du fonctionnel sur l’esthétique, pour des raisons de ressources et de maintenance avant tout (vous avez peut-être plus de moyens, n’hésitez à faire mieux !)

On obtient donc la recette suivante

  • 2 sites distincts pour simplifier la gestion et dissocier « brutalement » les contenus publics (accessibles à tous) des contenus privés (accès restreints pour les membres)
  • Utilisation de WordPress en limitant les extensions et thèmes installés, là aussi pour simplifier la gestion et la maintenance
  • Utilisation de BuddyPress, la brique communautaire essentielle, principale dérogation à la règle précédente
  • Utilisation décomplexée du fichier .htaccess, et de son cousin souvent connu sous le nom de .htpasswd
  • Et c’est à peu près tout

Si vous êtes vieille ou vieux briscard(e) du web, vous verrez facilement les attraits et limites de cette solution : ça devient assez léger, les règles de gestion sont les plus simples possibles, mais on est pas au niveau de Facebook ou Spotify en termes d’expérience utilisateur. Il a bien fallu faire des compromis.

Logo WordPress

Présentation plus détaillée pour un site membres WordPress privé

L’idée de base était plus compliquée : inclure une partie privée dans un site WordPress, avec des fonctionnalités attendues (messagerie entre les membres, groupes de discussions, … ). Un plugin d’espace membre wordpress gratuit, complet, stable, réellement privé, facile à prendre en main pour les futurs contributeurs et utilisateurs, abordable pour une petite structure sans moyens ? Pas trouvé malgré mes recherches.

Et là, l’évidence parut, limpide comme le nez au milieu du visage : en créant 2 sites distincts, la gestion des accès et de la non-indexation pourrait être réglée d’un coup de baguette magique, à l’aide de quelques lignes dans le fichier .htaccess.

L’installation WordPress

Les paramétrages WordPress en eux-mêmes ne méritent pas d’abuser de votre temps : rien de particulier à signaler par rapport à une autre installation WordPress. Un thème a été installé sans conséquence sur le fond.

Les seules extensions installées : BuddyPress (détaillé juste après) et The Events Calendar, une extension particulièrement efficace pour afficher un calendrier. Avec une intégration en widget ou dans une page dédiée, chaque événement est détaillé dans son propre article et peut être importé dans un Google Agenda ou un iCal. Je n’ai aucune affiliation mais quand même, il faut le dire quand ça marche – et en plus The Events Calendar est gratuit !

L’installation BuddyPress

BuddyPress, c’est un plugin WordPress qui permet de créer une sorte de réseau social : les membres inscrits ont leur profil d’utilisateur, échangent des messages privées, peuvent créer et administrer des groupes, voir le flux d’activités, …

Logo BuddyPress

Je ne vais pas détailler l’installation de BuddyPress ici. Si vous êtes un peu perdus en l’installant, il y a de très nombreux articles sur le sujet, prenez le temps de trouver le bon et lisez-le entièrement. C’est assez simple quand on a compris la logique des composants BuddyPress.

Petite recommandation : tous les composants BuddyPress ne sont pas forcément nécessaires. N’activez que ce dont vous aurez besoin, pour ne pas créer de confusion.
Pensez bien aux règles que vous avez défini dès le départ : les membres doivent-ils pouvoir gérer des groupes, peuvent-ils gérer les notifications, quels sont les champs de profil à créer ?

Le fichier .htaccess et son cousin

Le fichier .htaccess sert à gérer les paramétrages des fichiers hébergés sur un serveur, mais il est aussi redoutable pour faire planter un site. Il faut donc faire des sauvegardes et vérifier si le site est toujours accessible après avoir ajouté une ligne.

Le premier usage du fichier .htaccess, dans le cas présent, est de bloquer l’accès à ceux qui ne s’identifient pas. Pour cela, on utilise un .htpasswd, mécanique relativement simple à appliquer quand on suit les consignes d’un tutoriel comme http://www.infowebmaster.fr/tutoriel/securiser-dossier-htpasswd.

Logo Apache

Le second usage du fichier .htaccess sera lié à la sécurisation du site : fichiers WordPress, listage des répertoires, hotlinking, … autant fermer toutes les portes à double tour quand on n’a pas envie de passer ses week-ends et soirées à pester contre les piratages de spammeurs mal intentionnés.

Le fichier .htaccess a d’autres utilités, notamment pour améliorer le temps d’affichage et de chargement des pages. Idéalement, vous aurez déjà trouvé des guides de référence sur le .htaccess, comme https://wpformation.com/htaccess-wordpress/, https://wpmarmite.com/htaccess-wordpress/ ou encore la référence sans doute ultime https://httpd.apache.org/docs/current/fr/howto/htaccess.html.

Avant de se lancer : lister les besoins et les ressources disponibles

J’y reviens parce qu’il s’agit, à mon avis, d’un sujet vraiment important et d’un talon d’Achille très répandu sur le web.

Je vous conseille de définir votre projet rigoureusement, d’anticiper les accès des membres, le parcours et les différents cas de figure (de l’inscription à la désinscription en passant par les connexions et profils multiples). Prenez le temps de lister les fonctionnalités que vous attendez, le processus de création des comptes membres, si certains contenus doivent être visibles de tous, quels pouvoirs doivent être attribués aux membres, …

Il faudra aussi déterminer de quelles ressources vous disposerez. Êtes-vous capable de gérer la mise en place et la maintenance d’un site de ce genre ?
Déploiement WordPress, paramétrages BuddyPress, gestion de la sécurité, blocage des robots d’indexation, … même en visant la simplicité, il faut avoir une certaine familiarité avec le web pour ce genre de projet. Ne sous-estimez pas la tâche, ne la surestimez pas non plus : lancez-vous si vous n’avez pas peur de faire planter votre site !

Par J-Michotey

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.