Initialiser les outils externes en arrière-plan au démarrage #43
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Initialiser les outils externes en arrière-plan au démarrage
Objectif
Initialiser le catalogue et le registre des outils externes au démarrage de Labfy Investigation sans bloquer l’interface GTK.
L’application doit pouvoir :
ToolCatalogdans leToolRegistry;Contexte
Les composants suivants existent déjà :
ToolRegistry;ToolCatalog;ToolProcess;ToolTask;BackgroundTask;TaskManager;TaskPanel.L’initialisation ne doit pas refaire leur travail. Elle doit seulement les orchestrer proprement.
Comportement attendu
Au démarrage :
ToolRegistryde l’application ;ToolCatalog;MISSINGpour les outils absents ;Exemple de résumé :
Contraintes
Gestion des résultats
Outil disponible et version détectée
Outil disponible mais version non détectée
L’erreur doit être enregistrée dans le compte rendu, sans rendre l’outil absent.
Outil absent
Annulation
La tâche doit passer dans l’état annulé sans modifier les outils qui n’ont pas encore été traités.
Architecture proposée
Créer un composant central :
API minimale proposée :
Le nom exact de l’API pourra être ajusté pendant l’implémentation si une structure plus propre apparaît.
Propriété des objets
Le ticket doit définir clairement :
ToolRegistry;TaskManager;ToolInitializer;Le
ToolInitializerne doit pas libérer les objets qui lui sont seulement prêtés.Intégration dans l’application
L’application devra posséder les services centraux nécessaires :
L’initialisation doit commencer après la création des services principaux, sans attendre son achèvement pour afficher la fenêtre.
Tests obligatoires
Créer des exécutables factices dans un dossier temporaire et contrôler le
PATHde test.Tester au minimum :
Critères d’acceptation
TaskPanel;AVAILABLEetMISSINGsont corrects ;makeréussit ;make testréussit ;git diff --checkne signale rien ;Hors périmètre
Ce ticket ne doit pas :