labfy-investigation/docs/tickets/closed/TICKET-003.md
2026-07-12 20:15:49 +02:00

57 lines
1.2 KiB
Markdown

# Ticket #003
## Titre
Créer le module `Investigation`.
## Objectif
Créer l'objet métier représentant une enquête ouverte par Labfy Investigation.
Le module doit rester indépendant de GTK et de l'interface graphique.
## Responsabilités
Le module doit :
- mémoriser le chemin racine de l'enquête ;
- construire le chemin de la base de données modèle ;
- exposer ces chemins en lecture seule ;
- gérer proprement sa mémoire ;
- vérifier qu'un chemin d'enquête est exploitable.
## Hors périmètre
Ce ticket ne doit pas :
- ouvrir SQLite ;
- créer la base de données ;
- modifier l'arborescence de l'enquête ;
- afficher de message GTK ;
- gérer les preuves ou les entités.
## Dépendances
- libc ;
- GLib uniquement si nécessaire pour la gestion des chaînes et chemins.
Aucune dépendance GTK ou SQLite.
## API attendue
Le module doit permettre un usage proche de :
```c
Investigation *investigation = NULL;
investigation = investigation_new("/chemin/vers/enquete");
if (investigation == NULL)
{
/* Gestion de l'erreur */
}
const char *root_path = investigation_get_root_path(investigation);
const char *database_path = investigation_get_database_path(investigation);
investigation_free(investigation);