labfy-investigation/docs/tickets/closed/TICKET-003.md
grayTerminal-sh 2bd29e6208 arbo
2026-07-13 13:57:25 +02:00

1.2 KiB

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 :

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);