Mise à jour de la documentation de la base de données : normalisation des noms de tables et des champs, ajout de précisions sur les valeurs possibles pour les statuts.

This commit is contained in:
2025-01-08 15:57:23 +01:00
parent 28e04568f8
commit 7e643c3f90

View File

@@ -1,57 +1,56 @@
# Résumé des éléments de la base de données
## Table Projets
## Table `projects`
Contient la liste des projets.
- id: int (clé primaire, auto-incrémentée et unique)
- nom: string (nom du projet, obligatoire)
- description: string (description du projet, optionnelle)
- date_debut: date (date de début du projet, optionnelle)
- status: int (statut du projet, obligatoire)
- Valeurs possibles: 0 (en cours), 1 (terminé), 2 (annulé)
- launched: bool (indique si le projet est lancé, obligatoire, par défaut à false)
- `id`: int (clé primaire, auto-incrémentée et unique)
- `name`: string (nom du projet, obligatoire)
- `description`: string (description du projet, optionnelle)
- `start_date`: date (date de début du projet, optionnelle)
- `status`: int (statut du projet, obligatoire)
- Valeurs possibles: 0 (brouillon), 1 (en cours), 2 (terminé), 3 (annulé)
## Table Mesures
## Table `measurements`
Contient l'ensemble des mesures effectuées pour un projet donné.
Il peut y avoir plusieurs mesures pour un même projet.
Chaque mesure doit avoir un id incrémenté par rapport à la dernière mesure.
Chaque mesure contient un timestamp, un chemin vers un fichier image, une mesure de température et une mesure d'humidité.
Chaque mesure doit avoir un `id` incrémenté par rapport à la dernière mesure.
Chaque mesure contient un `timestamp`, un chemin vers un fichier image, une mesure de température et une mesure d'humidité.
Chaque mesure doit préciser si elle a été effectuée ou non (car le fichier image est généré par la caméra donc lorsque la mesure est ajoutée, le fichier n'existe pas encore).
- id: int (clé primaire, auto-incrémentée et unique)
- id_projet: int (clé étrangère vers la table Projets)
- timestamp: datetime (date et heure de la mesure)
- chemin_image: string (chemin vers le fichier image, optionnel)
- temperature: float (mesure de température, optionnelle)
- humidite: float (mesure d'humidité, optionnelle)
- effectuee: bool (indique si la mesure a été effectuée, obligatoire, par défaut à false)
- `id`: int (clé primaire, auto-incrémentée et unique)
- `project_id`: int (clé étrangère vers la table `projects`)
- `timestamp`: datetime (date et heure de la mesure)
- `image_path`: string (chemin vers le fichier image, optionnel)
- `temperature`: float (mesure de température, optionnelle)
- `humidity`: float (mesure d'humidité, optionnelle)
- `completed`: bool (indique si la mesure a été effectuée, obligatoire, par défaut à false)
## Table Videos
## Table `videos`
Contient l'ensemble des vidéos générées par partir des images des mesures d'un projet donné.
Il peut y avoir plusieurs vidéos pour un même projet.
Il doit être possible de contenir la liste des id des mesures utilisées pour générer la vidéo.
Il doit être possible de contenir la liste des `id` des mesures utilisées pour générer la vidéo.
Il doit être possible de contenir le chemin vers la vidéo générée.
Il doit contenir le timestamp de la première image de la vidéo et le timestamp de la dernière image de la vidéo.
Il doit contenir le `timestamp` de la première image de la vidéo et le `timestamp` de la dernière image de la vidéo.
Il doit contenir le nombre d'images utilisées pour générer la vidéo.
Il doit contenir les paramètres de la vidéo (résolution, durée) :
Il doit contenir les paramètres de la vidéo (`résolution`, `durée`):
- resolution: string (résolution de la vidéo, optionnelle)
- duree: int (durée de la vidéo en secondes, déduite soit de la durée de la vidéo, soit du nombre d'images et du nombre d'images par seconde)
- fps: int (nombre d'images par seconde, optionnelle)
- `resolution`: string (résolution de la vidéo, optionnelle)
- `duration`: int (durée de la vidéo en secondes, déduite soit de la durée de la vidéo, soit du nombre d'images et du nombre d'images par seconde)
- `fps`: int (nombre d'images par seconde, optionnelle)
Il doit contenir le statut de la vidéo (en cours de génération, terminée, annulée).
- id: int (clé primaire, auto-incrémentée et unique)
- id_projet: int (clé étrangère vers la table Projets)
- id_mesures: string (liste des id des mesures utilisées pour générer la vidéo)
- chemin_video: string (chemin vers le fichier vidéo, optionnel)
- timestamp_debut: datetime (date et heure de la première image de la vidéo)
- timestamp_fin: datetime (date et heure de la dernière image de la vidéo)
- nb_images: int (nombre d'images utilisées pour générer la vidéo)
- resolution: string (résolution de la vidéo, optionnelle)
- duree: int (durée de la vidéo en secondes, optionnelle)
- fps: int (nombre d'images par seconde, optionnelle)
- status: int (statut de la vidéo, obligatoire)
- `id`: int (clé primaire, auto-incrémentée et unique)
- `project_id`: int (clé étrangère vers la table `projects`)
- `measurement_ids`: string (liste des `id` des mesures utilisées pour générer la vidéo)
- `video_path`: string (chemin vers le fichier vidéo, optionnel)
- `start_timestamp`: datetime (date et heure de la première image de la vidéo)
- `end_timestamp`: datetime (date et heure de la dernière image de la vidéo)
- `image_count`: int (nombre d'images utilisées pour générer la vidéo)
- `resolution`: string (résolution de la vidéo, optionnelle)
- `duration`: int (durée de la vidéo en secondes, optionnelle)
- `fps`: int (nombre d'images par seconde, optionnelle)
- `status`: int (statut de la vidéo, obligatoire)
- Valeurs possibles: 0 (en cours), 1 (terminée), 2 (annulée)