Sélectionner et intégrer les propositions DNS dans l’enquête #78

Closed
opened 2026-07-22 12:07:27 +02:00 by fy59 · 0 comments
Owner

Sélectionner et intégrer les propositions DNS dans l’enquête

Description :

Objectif

Permettre à l’utilisateur de sélectionner explicitement les propositions issues d’une résolution DNS, puis de les intégrer dans l’enquête après confirmation.

Aucune proposition ne doit être enregistrée automatiquement.

Fonctionnement attendu

Après l’étape « Préparer l’intégration », afficher chaque proposition DNS avec :

  • une case de sélection ;
  • la cible interrogée ;
  • le propriétaire de l’enregistrement ;
  • le type DNS ;
  • la valeur proposée ;
  • le type d’entité Labfy correspondant ;
  • l’état de validation de la proposition.

L’utilisateur doit pouvoir :

  • sélectionner ou désélectionner chaque proposition ;
  • sélectionner ou désélectionner toutes les propositions ;
  • annuler l’intégration ;
  • confirmer l’intégration des seules propositions sélectionnées.

Correspondances initiales

Les correspondances minimales sont :

  • A → entité adresse IPv4 ;
  • AAAA → entité adresse IPv6 ;
  • CNAME → entité nom de domaine ;
  • NS → entité nom de domaine ;
  • PTR → entité nom de domaine.

Les types non encore pris en charge, comme MX, TXT, SOA, SRV ou CAA, restent visibles mais ne peuvent pas être sélectionnés.

Persistance

Lors de la confirmation :

  • seules les propositions sélectionnées et compatibles sont enregistrées ;
  • les entités existantes ne sont pas dupliquées ;
  • les valeurs sont normalisées avant la recherche et l’insertion ;
  • l’opération est transactionnelle ;
  • un échec ne doit laisser aucune intégration partielle ;
  • le graphe et la sidebar sont actualisés après succès.

Traçabilité

Chaque entité intégrée doit pouvoir être reliée au contexte de la recherche DNS :

  • cible interrogée ;
  • outil utilisé ;
  • type d’enregistrement ;
  • valeur brute obtenue.

Si le schéma actuel ne permet pas cette traçabilité proprement, l’intégration doit être limitée et le besoin de migration documenté avant toute modification du schéma.

Sécurité et contrôle utilisateur

  • Aucune écriture avant confirmation.
  • Une proposition non prise en charge ne peut pas être intégrée.
  • Une proposition invalide est signalée clairement.
  • Fermer la fenêtre équivaut à annuler.
  • Aucun outil externe supplémentaire n’est exécuté pendant l’intégration.

Critères d’acceptation

  • Les propositions DNS sont affichées individuellement.
  • Chaque proposition compatible peut être sélectionnée.
  • Les types non pris en charge sont visibles mais désactivés.
  • Une sélection globale est disponible.
  • Une confirmation est requise avant toute écriture.
  • Seules les propositions sélectionnées sont intégrées.
  • Les doublons ne créent pas de nouvelle entité.
  • L’écriture est transactionnelle.
  • Le graphe et la sidebar sont actualisés après succès.
  • Annuler ou fermer la fenêtre ne modifie pas SQLite.
  • Les nouvelles fonctions publiques respectent les commentaires Doxygen.
  • Les règles de correspondance et de validation possèdent des tests.
  • Tous les tests du projet passent.
# Sélectionner et intégrer les propositions DNS dans l’enquête Description : ## Objectif Permettre à l’utilisateur de sélectionner explicitement les propositions issues d’une résolution DNS, puis de les intégrer dans l’enquête après confirmation. Aucune proposition ne doit être enregistrée automatiquement. ## Fonctionnement attendu Après l’étape « Préparer l’intégration », afficher chaque proposition DNS avec : - une case de sélection ; - la cible interrogée ; - le propriétaire de l’enregistrement ; - le type DNS ; - la valeur proposée ; - le type d’entité Labfy correspondant ; - l’état de validation de la proposition. L’utilisateur doit pouvoir : - sélectionner ou désélectionner chaque proposition ; - sélectionner ou désélectionner toutes les propositions ; - annuler l’intégration ; - confirmer l’intégration des seules propositions sélectionnées. ## Correspondances initiales Les correspondances minimales sont : - `A` → entité adresse IPv4 ; - `AAAA` → entité adresse IPv6 ; - `CNAME` → entité nom de domaine ; - `NS` → entité nom de domaine ; - `PTR` → entité nom de domaine. Les types non encore pris en charge, comme `MX`, `TXT`, `SOA`, `SRV` ou `CAA`, restent visibles mais ne peuvent pas être sélectionnés. ## Persistance Lors de la confirmation : - seules les propositions sélectionnées et compatibles sont enregistrées ; - les entités existantes ne sont pas dupliquées ; - les valeurs sont normalisées avant la recherche et l’insertion ; - l’opération est transactionnelle ; - un échec ne doit laisser aucune intégration partielle ; - le graphe et la sidebar sont actualisés après succès. ## Traçabilité Chaque entité intégrée doit pouvoir être reliée au contexte de la recherche DNS : - cible interrogée ; - outil utilisé ; - type d’enregistrement ; - valeur brute obtenue. Si le schéma actuel ne permet pas cette traçabilité proprement, l’intégration doit être limitée et le besoin de migration documenté avant toute modification du schéma. ## Sécurité et contrôle utilisateur - Aucune écriture avant confirmation. - Une proposition non prise en charge ne peut pas être intégrée. - Une proposition invalide est signalée clairement. - Fermer la fenêtre équivaut à annuler. - Aucun outil externe supplémentaire n’est exécuté pendant l’intégration. ## Critères d’acceptation - [x] Les propositions DNS sont affichées individuellement. - [x] Chaque proposition compatible peut être sélectionnée. - [x] Les types non pris en charge sont visibles mais désactivés. - [x] Une sélection globale est disponible. - [x] Une confirmation est requise avant toute écriture. - [x] Seules les propositions sélectionnées sont intégrées. - [x] Les doublons ne créent pas de nouvelle entité. - [x] L’écriture est transactionnelle. - [x] Le graphe et la sidebar sont actualisés après succès. - [x] Annuler ou fermer la fenêtre ne modifie pas SQLite. - [x] Les nouvelles fonctions publiques respectent les commentaires Doxygen. - [x] Les règles de correspondance et de validation possèdent des tests. - [x] Tous les tests du projet passent.
fy59 closed this issue 2026-07-22 12:07:44 +02:00
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: fy59/labfy-investigation#78
No description provided.