Calendrier


Calendar, destinée aux exploitants de centrales hydroélectriques.
L’objectif de ce projet était de fournir un journal de bord interactif permettant de saisir, consulter et gérer les tâches de maintenance quotidiennes réalisées sur les installations.

L’application a été entièrement développée en PHP , avec SQL pour la gestion et la persistance des données dans une base relationnelle.

Modélisation de la base de données – Projet Calendar

Objectif

Cette base de données permet de stocker les interventions de maintenance planifiées ou réalisées au sein d’un calendrier destiné à des exploitants de centrales hydroélectriques.

Structure de la table Events

ChampTypeDescription
IdINT Identifiant unique auto-incrémenté de l’événement
IntervenantVARCHAR(255)Nom de la personne en charge de l’intervention
ObjectVARCHAR(255)Objet ou thème de la tâche (ex : inspection turbine)
TodoTEXTDescription des actions prévues
DoneTEXTRésumé des actions effectuées
Start_dateDATETIMEDate et heure de début de l’événement
End_dateDATETIMEDate et heure de fin de l’événement
AstreinteBIT (0/1)Indique si l’événement a lieu pendant une astreinte
JourneeBIT (0/1)Indique si l’intervention s’étend sur la journée entière

Exemple de Code 

Objectif

Cette base de données permet de stocker les interventions de maintenance planifiées ou réalisées au sein d’un calendrier destiné à des exploitants de centrales hydroélectriques.

config.php — Configuration de la base de données

Ce fichier initialise la connexion à la base de données via PDO :

L’interdiction de l’émulation des requêtes préparées

Connexion locale : phpCopierModifier$host = '127.0.0.1:3307'; $db = 'matthieu lopes'; $user = 'scada'; $pass = 'root';

Deux environnements sont prévus (local et distant), ce qui rend le projet portable et facilement déployable.

Le DSN est construit dynamiquement pour adapter l’encodage (utf8mb4) : phpCopierModifier$dsn = "mysql:host=$host;dbname=$db;charset=$charset";

Les options de PDO assurent :

Une gestion stricte des erreurs (ERRMODE_EXCEPTION)

Un mode de récupération clair (FETCH_ASSOC)

event.php — Affichage dynamique d’un événement

Ce fichier récupère un événement spécifique à partir de son id passé en paramètre URL ($_GET['id']).

Structure :

  • Inclusion des fichiers nécessaires (bootstrap, config, Events.php, header)
  • Initialisation de la classe Events avec la connexion $pdo
  • Récupération sécurisée de l’événement avec : phpCopierModifier$eventId = (int) $_GET['id']; $event = $events->find($eventId);

Affichage conditionnel :

Le fichier affiche ensuite toutes les informations pertinentes si elles existent :

  • Objet, usine, intervenant
  • Date de début, date de fin
  • Heure de mise en service et heure d’appel (si disponibles)
  • Statut : en cours, accompli, astreinte, journée

Utilisation de DateTime pour afficher proprement les dates/horaires et de isset() pour ne jamais afficher des données vides.

Compétences démontrées:

Protection contre les injections (via h() / htmlspecialchars())

-Connexion PDO sécurisée (local & distant)

-Affichage conditionnel des données (optimisation UX)

-Manipulation de dates avec DateTime

-Architecture PHP modulaire et claire

Protection contre les injections (via h() / htmlspecialchars())

Rendu – Projet EasyFood

Compétences: