<Installation> <Les fichiers du site> <Les données du site> <Nos points forts> <Extensions envisagées>

Les données du site

Les informations suivantes permettent de vous faire une première idée de l'organisation des données manipulées par le site.


Introduction

Conformément au sujet du projet, les données sont toutes enregistrées en variables de SESSION.
Ce n'est que lorsque l'administrateur se rends dans la zone d'administration pour effectuer une sauvegarde que ces données sont enregistrées dans une base de données MySQL.
Etant donné que notre site repose largement sur des classes, les données sont encapsulées dans celles-ci et on manipule alors directement des instances de classes, et non des tableaux associatifs d'attributs.
Les classes qui enregistrent nos données sont CV et Offre. Les lettres de motivations sont encapsulées dans la classe CV et les lettres de propositions sont encapsulées dans la classe Offre.


Les variables de SESSION

Dès que l'utilisateur s'identifie depuis la page d'accueil, la page commun/main.php crée trois variables de session de facon à connaitre l'utilisateur depuis n'importe quelle page du site et à éviter de lui faire ressaisir ces informations :
  • $_SESSION['nom'] enregistre le nom de l'utilisateur
  • $_SESSION['email'] enregistre l'adresse email de l'utilisateur
  • $_SESSION['role'] enregistre le rôle (étudiant ou entreprise) de l'utilisateur
La saisie d'un CV s'effectue en 3 étapes successives, et le CV d'un étudiant n'est mis en ligne que lorsque son CV est complet.
Une première variable est créee afin d'enregistrer de manière temporaire le CV en cours de composition.
Une fois composé, le CV est ajouté à un tableau de CVs complets, à l'indice du nom de l'étudiant.
  • $_SESSION['monCv'] enregistre le CV composé par l'étudiant tant qu'il n'est pas complet. Un "alias" $monCv est également créé pour faciliter la programmation ($monCv=&$_SESSION['monCv']) (voir le fichier /include/etudiants.inc.php).
  • $_SESSION['CVs'] enregistre dans un tableau associatif tous les CVs complets des étudiants. Ce tableau est initialisé par le fichier /include/class_cv.php

Les offres, quant à elles, sont rattachées aux CVs à qui elles sont adressées :
Elles sont enregistrées dans l'attribut $mesOffres de la classe CV (un tableau associatif d'offres, indexées selon le nom de l'entreprise) et les destinataires de l'offre sont enregistrés dans l'attribut $destinataires de la classe Offre (un tableau de CVs).
On peut ainsi connaitre pour un CV l'ensemble des offres qui le concernent, et retrouver pour une offre ses destinataires.

Pour permettre aux entreprises de se constituer leur sélection de CVs, une variable de session leur est créée par le fichier /include/entreprises.inc.php.
  • $_SESSION['SEL'] mémorise dans un tableau associatif de CVs (indexé par noms d'étudiants) la sélection de l'entreprise.

Les tables de la base MySQL

Les données que l'on souhaite mémoriser lors d'une sauvegarde par un administrateur sont finalement :
  • Le tableau de CVs des étudiants, $_SESSION['CVs']
  • Pour chacun de ces CVs, les Offres qui les concernent (elles sont identifiées par leurs dates secondes).
  • Les administrateurs autorisés à se connecter à l'espace d'administration
Voici le shéma SQL que nous avons finalement adopté :

TABLE `CVs`
nom Nom de l'étudiant
prenom Prénom de l'étudiant
civilite Civilité de l'étudiant (M., Mme, Mlle)
situation Situation de l'étudiant (Célibataire, Marié)
naissance Date de naissance
lieunaissance Lieu de naissance
adresse Adresse
cp Code postal
ville Ville
tel N° de téléphone
email Adresse e-mail
lettre Nom de fichier de la lettre attachée (vide si aucune)
niveauexp Niveau d'experience
experience Experiences professionnelles
niveauform Niveau de formation
formation Formations
competences Compétences
contrat Type de contrat recherché
secteur Secteur d'activité
langues Langues maitrisées
complem Informations complémentaires


TABLE `Offres`
nom_etudiant Nom de l'étudiant destinataire de l'offre
nom_entreprise Nom de l'entreprise émettrice de l'offre
mail_entreprise Adresse email de l'entreprise
lettre Nom de fichier de la lettre de proposition de l'entreprise
date Date d'émission de l'offre


TABLE `Administrateurs`
login Login de l'administrateur
pwd Clé MD5 du mot de passe de l'administrateur