Les Livres d'Or Nouvelle Génération

L A D O C

[Histoire] [Comment ça marche] [A vous!]

Un peu d'histoire...

"Les Livres d'Or" est l'évolution (logique?) de mon premier programme en perl. Il date de 1996 et permet à des visiteurs de laisser des messages sur une page HTML. Les premières versions ressemblaient à un Livre d'Or classique mais il a rapidement évolué vers quelque chose de plus fun, avec l'envoi de mail, des formulaires avec des humeurs, un envoi de mail automatique au webmaster, etc.

Au début, comme je bossais chez un ISP il n'y a pas de problèmes pour l'hébergement, mais maintenant que j'occupe un poste un peu plus commercial (expert avant-vente), c'est moins évident. Avec d'autres potes qui ne pouvaient plus profiter de l'hébergement fourni par leur école (ben oui, il faut bien en sortir un jour!), nous avons monté une asso : DSPNet (Développement de Sites Personnels sur le Net) qui aide les particuliers et les assos à développer leur site et trouver un hébergeur voire les héberger.

J'ai donc essayé de reprendre le programme pour en faire quelque chose de plus "présentable" mais le code était vraiement infect... Pas moyen de retrouver mes billes et encore moins de le faire évoluer. Alors pour la première fois depuis longtemps je me suis mis à réfléchir avant de coder (c'ést pourquoi je dis "depuis longtemps" ;o) ). J'ai donc commencé à concevoir un modèle où tous les livres seraient génériques et où chaque utilisateur pourrait avoir plusieurs livres (en différentes langues éventuellement). J'ai donc commencé à coder ce programme en repartant de l'ancien, puis une version bricolée, puis avec des morceaux anciens et nouveaux.... Puis j'ai tout éffacé et recommencé de zéro ! :o)

Suite à la naissance de ma fille (septembre 1999), j'ai pris quelques jours de congé et j'ai terminé le programme en une semaine. Je dois dire un grand merci à ma petite famille (elle se reconaitra :o) ) de m'avoir permis de me concentrer là-dessus :o)

Comment ça marche ?

(il faut que je retrouve le dessin que j'avais fait...)

En fait la plus grosse partie du programme est "conf.pl", c'est à dire le programme qui sert à configurer les livres. Cette partie n'est accessible qu'aux utilisateurs authentifiés. "lo.pl" est la partie qui est appellée depuis les livres et qui gère les messages et "admin.pl" est la partie qui gère les utilisateurs.

Conf.pl

Ce programme lit :

Ces données sont envoyées à un formulaire, et lorsque l'utilisateur le valide, tous les fichiers de l'utilisateur sont réécris (y conpris les livres d'Or).

Lo.pl

Ce programme insère les messages dans les livres d'or, il a donc besoin des fichiers de config de l'utilisateur et des livres génériques.

Admin.pl

Ce programme gère la liste d'attente des demandes des livres d'or et permet d'ajouter/modifier/supprimer des utilisateurs.

Les livres génériques

Ce sont des sortes de template, mais en un peu plus fin puisque la gestion des messages intère une sorte de language qui permet d'afficher ou non certains champs.

Exemple : fr1.html (première version française).

Tous les champs à modifier sont placés entre +++! et !+++ . Ces valeurs sont définies dans un fichier qui n'est pas accessible à l'utilisateur mais qui peut évoluer. Tout est suffisament générique pour ne pas avoir à le modifier.

Les "prototypes" (enfin moi j'appelle ça les prototypes parceque je n'avais pas d'autre idée sur le moment :o) ) :

Chaque champ est séparé par une tabulation. Dans l'odre : nom, type, valeur par défaut, description. Exemple :

BIENVENUE SCALAR Bienvenue... Message de bienvenue

Autre exemple plus complexe (un champ par ligne) :

(nom) NEWMSGINTRO
(type) SCALAR
(valeur par défaut) +++!nickname$MANDATORY$TEXT!+++ (+++!email$OPTIONAL$EMAIL$email!+++ +++!url$OPTIONAL$URL$Page!+++)
(description) Ligne de présentaion de chaque nouveau message.

Comme on le voit dans cet exemple, de nouveaux champs apparaissent à l'intérieur des prototypes. En fait ce sont eux qui prendront les valeurs saisies par le visiteur.

Les champs séparés par des "$" sont :

A vous de jouer !

Hep! Vous là! Oui, vous qui lisez ces lignes! J'ai besoin de vous ! :o)

Il est possible de créer à l'aide du principe décrit (ou presque) ci-dessus de nouveaux livres en d'autres langues, avec des présentations complètement différentes! Si vous avez l'habitude de concevoir des sites, votre aide pourrait m'être très utile ! Kirin (membre de DSPNet ;o) ) a fait une version anglaise (kr2.html) mais vous pouvez faire la vôtre vous aussi. N'hésitez pas à me demander !

Ecrivez à lo@dspnet.fr.eu.org

Merci d'avance !

Retour


Livres d'Or Nouvelle Génération © Bépé 1996-1999