Contenu et structuration de la base de données


Structuration de la base de données


Nature des informations contenues dans la base


Charte graphique et liens entre les pages


Tables MySQL


Requêtes MySQL


Sommaire cahier des charges










Structuration de la base

Haut de page
















Nature des informations contenues dans la base de données


Informations concernant les animations :

  • Intitulé de l'animation

  • Descriptif
    Ce champ est destiné à donner des informations sur le contenu de l'animation proposée.

  • Dates de programmation de l'animation
    Certaines activités naturalistes sont programmées à une date fixe, d'autres sont proposées sur une période (animations destinées aux scolaires, toute l'année par exemple, ou destinées au grand public : découverte des sites au printemps et en période estivale)

  • Thèmes

  • Informations pratiques
    Ce champ devrait permettre aux organisateurs de communiquer, par exemple, des informations sur le lieu de RDV fixé pour l'animation, ou des conseils sur l'équipement à prévoir...

  • Tarif
    Champ en format texte destiné à communiquer les informations sur le coût de l'animation.
    Le choix du format texte est destiné à apporter une plus grande souplesse pour les organisateurs. Il existe en effet différents tarifs en fonction des animations, tarifs adulte, enfant, adhérents ou gratuité totale.
    Dans le cas des animations destinées aux scolaires : tarif pour une classe sur une durée donnée...


  • Contact




Informations concernant les associations organisatrices :

  • Nom de l'organisateur

  • Coordonnées (adresse, ville, code postal, téléphone, fax, mail, site internet)

  • Informations Diverses
    Ce champs est destiné aux associations organisatrices souhaitant communiquer des informations complémentaires, jours et heures des permanences par exemple.

  • Login et code d'accès



  • Haut de page
















    Charte graphique


    Pages types

    La page type de la partie base de données du site actuel est caractérisée par une couleur de fond bleu ciel (code couleur "#f0f8ff"), dans le haut de la page, un bandeau bleu marine (code couleur "#3300CC") accueille le logo du comité Randonnées et nature en Bretagne, pour bien souligner le lien qu'il y a entre cette base de données et l'association. Dans ce bandeau apparait en blanc l'intitulé de la base de données :
    "Base de données des animations proposées par Randonnées et nature en Bretagne"

    Les deux bleus utilisés dans la page correspondent aux couleurs de l'oiseau stylisé sur le logo de l'association.
    la page type est enfin caractérisée par la couleur de liens bleue "#3300CC" (pour les liens déjà ou non visités) et la couleur de lien rouge pour les liens activés ou "survolés".


    Feuilles de styles et bibliothèques php


    Deux feuilles de style gèrent l'apparence graphique de la partie base de données : Une bibliotheque php prend en charge une partie du contenu des fichiers php





    Liens entre les pages et navigation



    Haut de page












    Tables mysql



    La table animation :

    CREATE TABLE animation (
    id int not null auto_increment,
    intitule text not null,
    descriptif text not null,
    infopratiques text,
    contact text not null,
    tarif text not null,
    debut date not null,
    fin date not null,
    public text not null,
    ref_organisateur int not null,
    PRIMARY KEY(id),
    FOREIGN KEY (ref_organisateur) REFERENCES organisateur
    );


    La table organisateur :

    CREATE TABLE organisateur (
    id int not null auto_increment,
    login text not null,
    code_acces int not null,
    nom text not null,
    adresse text not null,
    ville text not null,
    postal int not null,
    tel int not null,
    fax int,
    mail text,
    site text,
    ref_departement int not null,
    PRIMARY KEY(id),
    FOREIGN KEY (ref_departement) REFERENCES departement
    );


    La table thème :

    CREATE TABLE theme (
    id int not null auto_increment,
    nom text not null,
    PRIMARY KEY(id)
    );


    La table département :

    CREATE TABLE departement (
    id int not null,
    nom text not null,
    PRIMARY KEY(id)
    );


    La table intermédiaire animathème :

    CREATE TABLE animatheme (
    id int not null auto_increment,
    ref_animation int not null,
    ref_theme int not null,
    PRIMARY KEY (id),
    FOREIGN KEY (ref_animation) REFERENCES animation,
    FOREIGN KEY (ref_theme) REFERENCES theme














    Haut de page












    Requêtes Mysql





    La requete du formulaire de recherche : recherche.php



    $requete=SELECT intitule, descriptif, infopratiques, contact, tarif, debut, fin, public, departement.nom, theme.nom
    from TABLE animation, theme, departement, animatheme, organisateur
    WHERE debut>="$jours1-$mois1-$annee1"
    AND fin<="$jours2-$mois2-$annee2"
    AND public="$public"
    AND departement.nom="$departement"
    AND theme.nom="$theme"
    AND animation.ref_organisateur=organisateur.id
    AND organisateur.ref_departement=departement.id
    AND theme.id=animatheme.ref_theme
    AND animation.id=animatheme.ref_animation

    Explications



    • "$jours1-$mois1-$annee1" et " $jours2-$mois2-$annee2" permettent de déterminer un intervalle de temps pour la recherche des animations. Ces deux variables seront précisées par l'utilisateur dans le formulaire de recherche. Ces deux variables seront mises en relation avec les attributs début et fin de la table animation.

    • "$public" permet de rechercher les animations en fonction de leur public. Cette variable sera précisée en utilisant le bouton "radio" du formulaire de recherche. Le choix du public sera donc exclusif: l'animation concernera soit les scolaires, soit le grand public. La variable" $public" sera mise en relation avec l'attribut public de la table animation.

    • "$theme" permet de rechercher les animations en fonction de leurs themes. Cette variable sera précisée par l'utilisateur en selectionnant un ou plusieurs themes dans la liste déroulante du formulaire de recherche. Elle sera mise en relation avec l'attribut nom de la table theme. Dans la mesure où une animation peut avoir plusieurs themes et où un theme peut correspondre à plusieurs animations, on fera ici appel à la table intermedaire "animatheme". "theme.id=animatheme.ref_theme" et "animation.id=animatheme.ref_animation" sont les expressions qui font la jointure entre la table animation et la table theme.

    • A cela, il faudra encore rajouter une autre condition : le département. Avant d'utiliser le formulaire de recherche, les utilisateurs devront cliquer un département sur une carte sensible de la Bretagne. En cliquant, les utilisateurs donneront une valeur à la variable "$departement". Cette variable sera mise en relation avec l'attribut nom de la table departement. "animation.ref_organisateur=organisateur.id" et "organisateur.ref_departement=departement.id" sont les expressions qui font la jointure entre la table animation et la table organisateur, puis entre la table organisateur et la table departement.





      La requête du formulaire de saisie d'une animation : "Ajouter.php"

      Les seules informations qui seront saisies dans ce formulaire seront relatives à une animation. et seront stockées dans deux tables :
      • $Intitulé, $annee1-$mois1-$jour1, $annee2-$mois2-$jour2, $descriptif, $infopratiques, $tarif, $contact, , public, ref_organisateur ==> dans la table animation
      • theme1, theme2 ==>dans la base theme
      $requete="INSERT INTO animation VALUES (' ', '$intitule', '$annee1-$mois1-$jour1', '$annee2-$mois2-$jour2'', '$descriptif'', '$infopratiques', '$tarif', '$contact', '$public', '$ref_organisateur')";

      L'animation sera liée à un organisateur par le l'attribut ref_organisateur.
      Dans la mesure ou, avant l'ajout d'une nouvelle animation, l'organisateur est identifié par son login et mot de passe, l'animation sera de fait liée à son organisateur. L'information sur ce lien (entre table organisateur et table animation ) ne sera donc pas saisie dans le formulaire " ajouter.php " : un lien caché depuis le formulaire d'identification permettra de préciser l'identifiant de l'organisateur.



      $requete="INSERT INTO theme VALUES ('$theme1')"; if ($theme2 != '') { $requete="INSERT INTO theme VALUE ('$theme2')"; }

      Un premier thème sera obligatoirement sélectionné dans ce formulaire pour caractériser l'animation et permettre sa recherche. Un second thème, facultatif, pourra compléter le premier pour une recherche plus fine (animations qui concernent plusieurs thèmes à la fois). Nous attendons un retour de l'association à ce sujet pour éventuellement ajouter la possibilité " de choisir un troisième thème (facultatif)





      La requête du formulaire de saisie d'un nouvel organisateur : "organisateurs.php"


      Les seules informations qui seront saisies dans ce formulaire seront relatives à un organisateur et seront stockées dans la table organisateur

      Ce formulaire ne sera accessible que pour la personne chargée de superviser la base de données. Dans un premier temps, ce formulaire va nous permettre d'enregistrer dans la base toutes les informations concernant les organisateurs. Il permettra par la suite d'ajouter un organisateur (dans l'hypothèse de la création d'une nouvelle section locale par exemple)
      Ce formulaire permettra de stocker les informations suivantes dans la table organisateur :


      $requete="INSERT INTO organisateur VALUES ('','$nom','$adresse','$ville','$postal','$tel','$fax','$mail','$site', '$login', '$code_acces', $ref_departement')";





      La requête du formulaire de saisie des thèmes : formulaire "themes.php"

      (non encore créé)

      Les informations qui seront saisies dans ce formulaire seront stockées dans la table theme et permettront d'alimenter le menu déroulant des thèmes proposés à la fois pour l'indexation des animations au moment de la saisie et pour la recherche.

      Ce formulaire ne sera accessible que pour la personne chargée de superviser la base de données. Dans un premier temps, ce formulaire va nous permettre d'enregistrer la liste des thèmes. Il permettra par la suite à Randonnées et nature en Bretagne d'ajouter de nouveaux thèmes
      Ce formulaire permettra de stocker les informations suivantes dans la theme :


      $requete="INSERT INTO theme VALUES (' ', '$nom')";














    Haut de page