Forums et espaces privés

by GF on 2 March 2007

Un des problèmes majeurs que rencontrent les webmasters qui ont construit leurs sites autour d’un système de forums tel que vBulletin ou Invision Power Board est de créer une passerelle entre ces forums et un nouvel espace privé qu’ils comptent mettre en place. La problématique est la suivante, elle se résume en trois points: 1) le site entier est basé sur l’inscription des utilisateurs à un forum, cette inscription détermine leurs droits d’accès à certaines informations ; 2) on souhaite ajouter au site un logiciel PHP développé de manière indépendante du système de forums (c’est-à-dire que ce n’est pas un plugin ou un add-on pour les forums) ; 3) on veut protéger l’accès aux données de ce logiciel, mais on ne veut pas demander aux utilisateurs de créer un nouveau compte, différent de celui qu’ils utilisent pour se connecter aux forums. Dans ce cas, comment procéder ?

La plupart du temps, on choisira une solution de facilité: soit installer ou développer un add-on ou plugin pour le système de forums, qui utilise le même mode d’identification des utilisateurs que ce forum soit, au contraire, développer un logiciel totalement autonome qui nécessite une seconde procédure d’identification de la part des utilisateurs.

Les deux possibilités ont des inconvénients majeurs. Pour ce qui est de la première, elle présente l’inconvénient d’être très difficilement réalisable et de constituer un casse-tête pour le webmaster à la moindre mise à jour du système de forums. Il faudra en effet très probablement réécrire une bonne partie du code si l’éditeur du forum décide de modifier la procédure d’identification des utilisateurs. Or, ce genre de choses, particulièrement sensibles aux questions de sécurité, font l’objet de modifications fréquentes. Quant à la seconde possibilité, elle présente également une difficulté énorme. Cette fois, le problème ne se pose plus pour le webmaster mais pour les utilisateurs. Ceux-ci devront créer deux comptes, avec login et mot de passe: le premier pour les forums, le second pour le nouveau logiciel. Il y a de quoi alimenter la confusion dans leurs esprits, surtout s’ils ne sont pas familiers de l’informatique et des technologies du web. De plus, deux mots de passe, c’est deux fois plus de risques d’oubli !

Il faut donc trouver une solution intermédiaire: conserver les droits d’accès accordés aux utilisateurs selon leur appartenance à tel ou tel groupe dans les forums, tout en construisant un système suffisament indépendant du logiciel des forums.

La solution que j’ai trouvée est la suivante: utiliser des forums invisibles de redirection pour transmettre un mot de passe au système de protection du nouveau logiciel. On procède en plusieurs étapes.

1) Créer un forum invisible de redirection. C’est-à-dire un forum qui présente deux caractéristiques: premièrement, il n’est pas présenté dans la liste des forums ; on ne peut y accéder qu’en connaissant son adresse exacte (URL). Deuxièmement, il ne contient aucun message: quand on appelle son adresse (URL) depuis un navigateur, le logiciel des forums redirige automatiquement le visiteur vers une adresse spécifiée par le webmaster. vBulletin permet cela depuis longtemps.

2) Assigner des droits à ce forum. La seconde étape consiste à assigner des droits au forum, c’est-à-dire à définir quels groupes d’utilisateurs auront accès à ce forums et quels groupes n’y auront pas accès. vBulletin et tous les logiciels de forums avancés permettent cela. Si l’utilisateur appartient à un groupe qui bénéficie de l’accès, il sera redirigé vers l’adresse définie par le webmaster, comme expliqué plus haut. S’il ne bénéficie pas de l’accès, une page d’erreur générée par le logiciel du forum s’affichera. S’il n’est pas connecté, une page lui demandera son nom d’utilisateur et son mot de passe pour les forums, et vérifiera ensuite s’il appartient à un groupe qui possède des droits suffisants pour accéder au forum de redirection.

3) Transmettre un mot de passe par redirection. Le forum de redirection redirige le visiteur vers une adresse définie par le webmaster. Cette adresse peut très bien comporter des éléments de requête GET. Par exemple: …com/logiciel/index.php?pass=ok.

4) Récupérer le mot de passe dans le logiciel. Il suffit ensuite de récupérer la requête GET dans le logiciel en PHP. Pour reprendre l’exemple précédent, il suffira d’écrire quelques lignes, du genre: if(isset($_GET['pass']) and $_GET['pass'] == ‘ok’) { // valider l’identification } else { // refuser l’accès }.

5) Organiser le tout depuis la page d’accueil du logiciel. A ce stade, on peut insérer un lien vers l’adresse du forum invisible sur la page d’accueil du logiciel. Ainsi, le visiteur qui actionnera ce lien tentera d’accéder au forum de redirection qui contient la clé pour s’identifier au logiciel. S’il fait partie d’un groupe qui possède suffisament de droits, le forum de redirection le renverra directement vers le logiciel qui, en vertu du code décrit ci-dessus, le considèrera comme identifié et connecté. S’il n’est pas connecté aux forums, il devra se connecter avant de pouvoir accéder au logiciel.

Cette méthode répond au problème exposé en introduction. Elle fonctionne parfaitement et a été appliquée avec succès -et de manière totalement transparente pour les utilisateurs- sur une base de données développée en PHP et jointe à un forum vBulletin 3.0.X.

En pratique, il faudra cependant veiller à protéger le mot de passe contenu dans la requête GET. Dans l’exemple ci-dessus, ce mot de passe (“ok”) est transmis en clair, ce qui est contre toute notion de sécurité. Mais rien n’empêche, au prix de quelques efforts, de chiffrer ce mot de passe pour sécuriser la procédure: PHP gère très bien et très simplement le MD5 et le SHA1.

{ 6 comments… read them below or add one }

Bqbftzev December 13, 2008 at 18:02

Thanks!,

Reply

zepunisse April 21, 2009 at 10:56

Como estas :P ! Je lit pas mal le forum souvent… mais là je choisit de me connecter pour vous demander c’est quoi le site web au juste du magasine de decouvertes plein-air . J’ai entendu par la bande qu’il y avait plusieurs d’aventures à se partager sur ce site..! Merci!!

Reply

GF April 22, 2009 at 14:22

quel magasine de découvertes plein-air ? euh… et quelle aventures ?

PS: estoy bien ;)

Reply

Valmy June 15, 2011 at 16:25

Thank you for this wonderfull blog

Reply

Pascalz00 July 18, 2011 at 3:05

Bonjour,

Je ne sais pas si je suis au bon endroit de http://www.valhalla.fr pour poster ma question mais comme je n’ai pas tellement l’habitude des forums, pardon d’avance si c’est n’est pas dans ýòîò que je devais poster.

Voilà mon probleme. J’ai absolument besoin d’avoir un site web pour l’entreprise que je suis en train de monter mais je n’ai pas les moyens de me payer un site 2000 ou 3000 euros.

Donc pourriez-vous me conseiller des logiciels de creation de site internet gratuit pour que j’essaye de me debrouiller ou, au pire, des agences web qui pourraient faire mon site pour vraiment pas cher ?

Merci pour votre aide.

Reply

GF July 18, 2011 at 10:30

Bonjour,

Il n’y a pas vraiment d’endroit sur valhalla.fr pour poser une telle question. Ici est donc aussi bien qu’ailleurs.

Bien. Commençons par le commencement : il y a plusieurs manières de faire un “site web”, et plusieurs outils différents. Aussi, la première question à se poser est celle de savoir quel type de site vous voulez faire.

Pour faire simple, on peut distinguer 3 types de sites :
1) Les sites statiques : les pages contiennent des informations (textes, images, vidéos…) fournies par l’auteur du site, mais elles ne permettent pas aux visiteurs d’apporter du contenu ;
2) Les sites dynamiques : les pages contiennent des informations fournies par l’auteur du site, et permettent aux internautes d’apporter du contenu (comme ce blog: vous apportez vos commentaires) ;
3) Les sites complexes : certaines parties sont statiques et d’autres dynamiques, mais les parties dynamiques ont une fonction particulière. Par exemple, Gmail est un site complexe : les internautes apportent du contenu, mais c’est pour envoyer des courriers électroniques ; la fonction particulière de Gmail est donc d’être un programme de messagerie électronique. Un autre exemple classique est celui des sites marchands avec une boutique virtuelle.

Pour réaliser un site appartement à la catégorie n°3, il faut de solides compétences en programmation Web. Si c’est ce que vous voulez, il vous faudra recourir aux services d’une entreprise (et ce sera cher). En revanche, les sites appartenant aux catégories n°1 et n°2 sont parfaitement réalisables par des particuliers sans grande connaissance des technologies Web. Heureusement, pour promouvoir les services fournis ou les produits vendus par une jeune entreprise, un site 1 ou 2 est largement suffisant.

Sites de type 1 (statiques).

Pour réaliser un site purement statique, il suffit de créer des pages et de les mettre en ligne. C’est vraiment très simple. Tout ce qu’il faut, c’est :
1) un logiciel pour créer les pages ;
2) un hébergeur ;
3) le contenu (ce qui peut poser problème : il faudra veiller à utiliser des images libres de droits ou créer ses propres images, par exemple).

Logiciel

Voyons d’abord le logiciel. Il existe une multitude de logiciels pour créer des pages Web. Ce que vous recherchez c’est un logiciel du type “WYSIWYG” : cela signifie “What You See Is What You Get”, autrement dit “Ce que vous voyez est ce que vous obtenez”, car le logiciel affiche le résultat à l’écran et écrit le code source pour vous (ce qui est plus facile pour un néophyte que d’écrire le code source lui-même).

Il existe 2 types de logiciels WYSIWYG :
1) ceux qui vous présentent des modèles de pages que vous n’avez plus qu’à remplir, avec des thèmes graphiques préfabriqués. Avantages: avec un logiciel de ce type, vous pouvez faire un site entier en une demi-journée ; en outre, ces logiciels sont peu chers. Inconvénient: il sera difficile, voire impossible, de sortir de la voie tracée par le logiciel et de personnaliser votre site (autrement dit, vous ne pourrez pas faire ce que le logiciel ne vous permet pas de faire) ;
2) ceux qui vous présentent une page blanche et vous aident à la remplir. Avantage: liberté totale dans la conception du site. Inconvénients: il vous faudra une plus grande connaissance technique (pas de site entier en une demi-journée : il fous faudra déjà 2 ou 3 jours pour comprendre comment tout cela fonctionne !), certains de ces logiciels sont chers.

Logiciels de type 1 :
- Pour Mac, je recommande RapidWeaver (RealMac Software, approx. 60 euro, http://www.realmacsoftware.com/rapidweaver/). Il existe aussi Apple iWeb, mais il me semble que celui-ci est en fin de vie.
- Pour Windows, il existe Virtual Site Designer (CoffeeCup, approx. 50 euro, http://www.coffeecup.com/designer/), Artisteer (approx. 120 euro, http://www.artisteer.com/), XSitePro (je ne connais pas ce logiciel, et le site ne me met pas en confiance… il faudrait chercher des témoignages d’utilisateurs sur le Web avant d’acheter : http://www.xsitepro.com/), et certainement d’autres (faire une recherche sur Google).

Logiciels de type 2 : le meilleur est certainement Adobe Dreamweaver (Mac/PC, payant, très cher : http://www.adobe.com/products/dreamweaver.html). Pour Windows uniquement, Microsoft Expression Web se défend (PC, cher, http://www.microsoft.com/expression/products/Web_Overview.aspx), comme NetObjects Fusion (PC, 200 euro approx., http://netobjects.com/). 1stPage semble correct, sans toutefois jouer dans la même catégorie (PC, http://www.evrsoft.com/1stpage3.shtml). Enfin, il existe des outils gratuits comme Kompozer (PC/Mac, http://kompozer.net/) qui peuvent convenir pour débuter.

Je vous recommande de choisir un logiciel de type 1 pour créer les premières pages rapidement, quitte à utiliser par la suite un logiciel de type 2 pour créer des pages plus complexes et peaufiner le tout.

Hébergeur

Il vous faut ensuite un hébergeur. Pas besoin d’avoir les yeux plus gros que le ventre au début : un petit plan d’hébergement, pas cher, conviendra parfaitement. Ce qui est le plus cher, dans l’hébergement, c’est la bande passante ; or, celle-ci est consommée par les visiteurs. Il faut donc, au moment de la conception du site, veiller à optimiser le poids des pages (par exemple, compresser les images) puis, par la suite, acheter plus de bande passante à mesure que le nombre de visiteurs augmente.

Vous n’aurez pas besoin de PHP ou de serveur MySQL pour un site statique.

Valhalla.fr est hébergé depuis plusieurs années par Celeonet (http://www.celeonet.fr) qui me donne entière satisfaction. Vous pouvez vous en tirer à moins de 10 euro par mois avec un hébergement parfaitement convenable.

Il existe bien sûr d’autres hébergeurs de qualité, à vous de choisir : OVH (http://www.ovh.com/), Amen (http://www.amen.fr/), 1&1 (http://www.1and1.fr), etc.

Sites de type 2 (dynamiques).

Comme pour les sites de type 1, il vous faut un logiciel et un hébergeur. Les hébergeurs cités ci-dessus conviennent parfaitement à l’hébergement de sites dynamiques (PHP et MySQL sont nécessaires). En revanche, les logiciels changent.

Pour les sites de type 1, le logiciel est installé sur votre ordinateur et vous l’utilisez pour créer des pages, c’est-à-dire des fichiers au format HTML, que vous mettez ensuite en ligne sur les serveurs de votre hébergeur. Pour les sites de type 2, c’est différent : le logiciel est installé sur les serveurs de l’hébergeur, et c’est lui qui se charge de créer les pages.

Je vous mets en garde dès à présent : les sites de type 2 semblent a priori plus faciles à réaliser que les sites de type 1, mais ce n’est pas le cas. En effet, dans le cas des sites de type 1, le débutant trouvera la prise en main des outils difficile mais, une fois cette difficulté passée, il n’y en aura pas d’autre. Au contraire, s’agissant des sites de type 2, la prise en main est aisée, mais les difficultés surgissent par la suite, lorsqu’il s’agit de personnaliser le site. Les sites de type 2 ne sont pas plus difficiles à réaliser, mais la difficulté est ailleurs.

Voyons donc les logiciels. Comme pour les sites de type 1, il en existe deux catégories : ceux qui prennent tout en main, et ceux qui vous offrent une plus grande liberté mais qui sont aussi plus difficiles à utiliser.

Tous les logiciels dont je parle ici sont gratuits. Cependant, il existe pour certains logiciels des “thèmes graphiques” payants, que l’on peut trouver sur le Web. Tous ces logiciels ont aussi une communauté francophone d’aide : recherchez le nom du logiciel sur Google pour la trouver.

Dans la première catégorie, ceux qui prennent tout en main, je vous propose le grand classique WordPress (http://wordpress.org/), qui est utilisé pour valhalla.fr. C’est de mon point de vue le meilleur choix à faire si l’on veut obtenir un site rapidement, facilement et pas cher. Une bonne alternative est Nucleus (http://www.nucleuscms.org/), mais il est moins populaire (ce qui signifie qu’il y aura moins de monde pour répondre à vos éventuelles questions sur les forums). Une recherche sur Google vous permettra de trouver d’autres alternatives.

Vous pourriez par exemple créer un blog avec WordPress, comme valhalla.fr, mais avec des paramètres un peu différents : 1) commentaires des utilisateurs interdits ; 2) pages organisées hiérarchiquement et thématiquement, plutôt que chronologiquement. Vous auriez ainsi l’équivalent d’un site statique, mais avec la possibilité de créer certaines zones dynamiques (par exemple : ré-ouvrir les commentaires sur certaines pages). Vous pourriez aussi installer, outre WordPress, un logiciel de forum qui permettrait aux internautes et à vos clients de discuter et de poser leurs questions. Voici 3 logiciels de forum gratuits et simples : SimpleMachines (http://www.simplemachines.org/), PunBB (http://punbb.informer.com/) et PhpBB (http://www.phpbb.com/). Notez bien que rien ne vous interdit de créer un site statique de type 1, et de rajouter un forum par la suite.

Dans la deuxième catégorie, il y a le ténor Joomla (http://www.joomla.org/), l’outsider Xoops (http://xoops.org/) et le français SPIP (http://www.spip.net/fr). Ces logiciels permettent à des milliers de sites, petits, moyens ou énormes de fonctionner. Par exemple, les sites des administrations françaises sont réalisés avec un logiciel dérivé de SPIP. Ces logiciels ont un potentiel immense, mais ils sont plus difficiles d’utilisation que ceux de la première catégorie.

Que choisir : première ou deuxième catégorie ? Cela dépend de ce que vous envisagez pour le futur de votre site. Si vous désirez créer un site rapidement et facilement afin d’offrir à votre entreprise une vitrine sur le Web, les sites de la première catégorie sont le meilleur choix. En revanche, si vous prévoyez d’étendre par la suite votre site en ouvrant par exemple une boutique en ligne ou un service après-vente en ligne, les logiciels de la deuxième catégorie sont préférables (ils sont plus “évolutifs”).

Au final, voici mon conseil :
1) Achetez un mois d’hébergement chez un hébergeur français ;
2) Essayez différents logiciels de sites dynamiques type 2 avec cet hébergeur (en priorité, WordPress et Joomla) et voyez si cela vous convient ;
3) Essayez ensuite les versions de démonstration (donc, sans rien acheter) des logiciels qui permettent de réaliser des sites statiques type 1 ;
4) Faites votre choix : achetez tel ou tel logiciel type 1, ou lancez-vous dans la configuration/personnalisation de votre site type 2.

Reply

Leave a Comment

Previous post:

Next post: