Informations générales de développement numérique.

Informations MEZOTICAM - Activités générales : Plus de masque, mais restons vigilants. Les contraintes sanitaires obligent à un ralentissement des développements. | Guerre en Ukraine : Un conflit qui mène à une pénurie alimentaire et informatique. | Cybersécurité : La guerre en Ukraine nous montre combien il est important de renforcer la sécurité informatique.
Chiffre 1Chiffre 6Chiffre 3Chiffre 1Chiffre 2Chiffre 1
depuis le 15/05/2009
Lundi 4 Juillet 2022 | Saint Florent

 Créer un livre d'or

Élaboration d'un livre d'Or

À quoi peut servir un livre d'or ? C'est la première question qui peut venir en tête. La réponse est assez simple. À la manière des commentaires accompagnant des articles, il est possible de faire que les internautes puissent donner leur sentiment sur l'ensemble du site. Tant d'un point de vue esthétique, que concernant son contenu.

Le livre d'or n'a pas besoin d'une allure sofistiquée, par contre, des éléments essentiels sont incontournables.

Protocole

En toute simplicité, il s'agit de donner accès à une page que l'on peut agrémenter de textes de présentation, afin de mettre en valeur son site.

L'internaute n'a pas forcément envie de vous lire plus que nécessaire, mais cet accueil pourrait l'influencer.

Plusieurs principes peuvent être utilisés, mais le choix multiple aide la décision.

Le meilleur emplacement s'avère être le bas de page, en même temps que les mentions légales et le contact.

Formulaire de saisie

Le formulaire reste une partie de programmation importante, car contient l'algorithme pour intercepter les choix de l'internaute.

Éléments incontournables :

  • Un identité
      Loggin, Prénom ou Nom
  • Un courriel
      Devra être unique
  • Un sujet
      Proposer 3 ou 4 thèmes du site
  • Le texte
      Essentiel
  • La date & l'heure
      Le jour en cours

Un livre d'or étant signé qu'une seule fois par une personne, le courriel unique permet de vérifier l'existence de la personne dans le livre. Dans ce cas, une nouvelle proposition est rejetée.

La disposition doit tenir compte de la logique qui invite à se présenter successivement. Qui on est par son identité, puis son courriel. Vient ensuite le sujet et le texte que l'on propose. La date étant une saisie automatique, non maîtrisée par l'internaute.

Nous utiliserons dans cet exemple,

  deux balises
    <input>...</input>
  une balise
    <select>...</select>
  et une balise
    <textarea>...</textarea>

Note

Cliquez l'onglet 'Affichage' pour voir le résultat.

Sauvegarde du livre d'or

Dans les cours, nous abordons l'utilisation de la base de données, élément essentiel pour conserver les informations recueillies. Le langage SQL offre suffisament d'outils pour une bonne gestion, en toute sécurité.

Pour commencer, il s'agit de créer une table nommée (par exemple) livreor avec les champs appropriés. Dans notre cas, nous choisissons : identite, courriel, sujet, texte et date. Ne pas oublier le champs qui permet d'indexer le tout (Dans notre exemple ID_livre).

Pour chaque champs, il faut en définir le type. Ainsi, les données sauvegardées recevront les bonnes valeurs :

CREATE TABLE IF NOT EXISTS livreor (
ID_livreINT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
identiteVARCHAR(125) NULL,
courrielVARCHAR(250) NOT NULL,
sujetENUM('sujet1','sujet2','sujet3') NOT NULL DEFAULT 'sujet1',
texteTEXT NOT NULL,
dateFicheDATETIME NOT NULL,
PRIMARY KEY(ID_livre)
) ENGINE = InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci

Ainsi, nous avons là une fiche pour chaque personne désirant laisser son avis dans le livre d'or. Le champs ID_livre étant auto incrémenté, les fiches s'ajouteront automatiquement. De plus il ne sera pas nécessaire de faire des mis à jour, ce qui simplifie la gestion de cette table.

Il est aussi possible de conserver l'IP du visiteur, avec la variable d'environnement $_SERVER, bien que cela ne soit forcément nécessaire.

Note

Cliquez l'onglet 'Exemples' pour voir l'utilisation de cette table.

Afficher le contenu du livre d'or

Il est important que chaque internaute puisse se retrouver dans le livre. La page proposera donc, sous forme de liste, une succession de fiches représentant chaque personne ayant signée le livre. Une liste inverse allant de la dernière en date vers la première. Le formulaire se trouvera juste au-dessus de cette liste. Et pour faire bonne mesure, il faudra prévoir une pagination permettant de n'avoir que cinq ou dix fiches, afin de ne pas surcharger la page.

Des exemples pour la présentation du livre

La mise en page du contenu du livre dépend évidemment du style du site. Néanmoins, il est impératif que la fluidité soit privilègiée.

Préparation PDO

<?php
  $laTable = new PDO('mysql:dbname=' . SQLBASE . ';charset=utf8;host='.SQLHOTE, SQLUSER, SQLPASSE);
  $laTable->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  $laTable->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
?>

Ce script dans un fichier à part permet de l'inclure n'importe où cela s'avère nécessaire. (exemple: preparation.php)

Le script PHP pour la sauvegarde

<?php
include 'preparation.php';

if(isset($_POST)){
extract($_POST);
 $dateFiche = date('Y-m-d H:i:s');
if(!empty($texte)){
   $Requete = "INSERT INTO livreor SET identite = ?, courriel = ?, sujet = ?, texte = ?, dateFiche = ?";
  try{
   $acces = $laTable->prepare($Requete);
   $acces->execute([$identite, $courriel, $sujet, $texte, $dateFiche]);
  }
  catch(Exception $e){
   die("Erreur modification: " . $e->getMessage());
  }
 }
}
?>

Cet deuxième script dans un autre fichier, que l'on pourrait appeler enregistre.php. Son utilisation est lié au formulaire.

Le script PHP pour la lecture

<?php
include 'preparation.php';

$Requete = "SELECT*FROM livreorDESCdateFiche";
$acces = $laTable->prepare($Requete);
$acces->execute([$identite, $courriel, $sujet, $texte]);
while($ligne = $acces->fetch()){
  <div class="ficheAvis">
    echo $ligne->identite . "<br>";
    echo $ligne->courriel . "<br>";
    echo $ligne->sujet . "<br>";
    echo $ligne->texte . "<br>";
  </div>
}
?>

Tandis que ce troisième script pourrait être appelé lecture.php, et serait utilisé au moment de l'affichage de l'article concerné.

Évidemment, il faut prévoir pour chaque fiche un cadre avec un style défini, afin de bien les distinguer. Chaque champs prenant la place qui lui revient pour une bonne présentation.

Il est préférable de mettre le formulaire de saisie, pour une nouvelle fiche, au-dessus des fiches existantes.