Skip to content

Importer des données JSON dans une investigation

Osintracker permet d'importer des entités et des relations dans une investigation existante à partir de fichiers CSV ou JSON. Cette fonction est accessible depuis le panneau d'information de l'investigation.

Accéder à l'import

  1. Ouvrez votre investigation
  2. Assurez-vous qu'aucun élément n'est sélectionné pour afficher le panneau d'information
  3. Ouvrez le menu ⋮ du panneau → section Entités et relations, puis choisissez Importer .json ou Importer .csv

Le menu ⋮ se trouve en haut du panneau d'information de l'investigation (panneau latéral droit, rien de sélectionné). JSON et CSV sont deux entrées Importer distinctes — chacune marquée par son format.

Format JSON

Le format JSON permet d'importer entités et relations en un seul fichier.

Structure du fichier

json
{
  "entities": [ ... ],
  "relations": [ ... ]
}

Structure d'une entité

json
{
  "id": "identifiant-unique",
  "typeId": "id-du-type-d-entite",
  "value": "valeur principale de l'entité",
  "colorNum": "2",
  "comments": "Notes sur cette entité",
  "countryCode": "FR",
  "critical": false,
  "creationDate": 1700000000000,
  "nodeSize": "M",
  "progress": "question",
  "rating": "2"
}
ChampTypeObligatoireDescription
idstringOuiIdentifiant unique
typeIdstringOuiID du type d'entité (depuis le Sélecteur de types / Types d'entités)
valuestringOuiValeur principale affichée
colorNumstringNonNuméro de couleur (1–8)
commentsstringNonNotes libres
countryCodestringNonCode pays ISO 2 lettres
criticalbooleanNonMarque comme critique
creationDatenumberNonTimestamp ms depuis epoch
nodeSizestringNon"S", "M" ou "L"
progressstringNonBadge : "done", "exclamation", "false-positive", "question", "stop", "wait"
ratingstringNon"0" à "3"
editionDatenumberNonTimestamp ms de la dernière modification
positionobjectNon{ "x": number, "y": number } — position du nœud sur le graphe
urlstringNonURL associée
imagestringNonURL de l'image affichée sur le nœud
imageDisplaybooleanNonAffiche ou non l'image sur le nœud
customIconstringNonIdentifiant d'icône personnalisée

Structure d'une relation

json
{
  "id": "identifiant-unique-relation",
  "originId": "id-entite-source",
  "targetId": "id-entite-cible",
  "label": "Texte de la relation",
  "critical": false,
  "bidirectional": false,
  "creationDate": 1700000000000,
  "rating": 2,
  "source": "Source de l'information",
  "comments": "Notes sur cette relation"
}
ChampTypeObligatoireDescription
idstringOuiIdentifiant unique
originIdstringOuiID de l'entité source
targetIdstringOuiID de l'entité cible
labelstringNonÉtiquette affichée sur l'arête
criticalbooleanNonRelation critique (rouge)
bidirectionalbooleanNonDouble sens
creationDatenumberNonTimestamp ms
ratingnumberNon0 à 3
sourcestringNonOrigine de l'information
resourcestringNonRessource / référence
colorNumstringNonNuméro de couleur (1–8)
editionDatenumberNonTimestamp ms de la dernière modification
commentsstringNonNotes libres

Les champs temporels startDate, endDate, startTime et endTime (timestamps numériques) sont également acceptés.

Identifiants en doublon

L'id de chaque entité et relation importée doit être unique et absent de l'investigation.

  • Si un id importé existe déjà dans l'investigation, ou apparaît deux fois dans le même fichier, l'import est bloqué et l'assistant affiche une erreur pour chaque conflit — rien n'est importé tant que ce n'est pas résolu.
  • Utilisez des identifiants neufs et uniques (par exemple des UUID) pour les nouveaux éléments.

Réimporter une investigation entière est différent : l'import d'investigation .osintracker gère automatiquement les conflits d'identifiants en important une copie indépendante avec des IDs réattribués. Voir Import & Export.

Format CSV

Le CSV permet d'importer entités et relations séparément (deux fichiers distincts).

La délimitation par virgules (,) est recommandée. Le délimiteur est détecté automatiquement, donc les fichiers séparés par des points-virgules ou des tabulations fonctionnent généralement aussi.

Les colonnes booléennes (critical, bidirectional) acceptent true / false (ainsi que yes / 1).

Colonnes pour les entités

ColonneObligatoireDescription
idOuiIdentifiant unique
valueOuiValeur principale
typeIdOuiID du type (via le sélecteur de types)
colorNumNonNuméro de couleur
creationDateNonTimestamp ms
criticalNontrue / false
editionDateNonTimestamp ms
ratingNon0 à 3
countryCodeNonCode pays ISO 2 lettres
nodeSizeNonS, M ou L
progressNonBadge (voir les valeurs progress JSON)
commentsNonNotes

Colonnes pour les relations

ColonneObligatoireDescription
idOuiIdentifiant unique
originIdOuiID entité source
targetIdOuiID entité cible
creationDateNonTimestamp ms
editionDateNonTimestamp ms
labelNonÉtiquette
criticalNontrue / false
bidirectionalNontrue / false
colorNumNonNuméro de couleur
ratingNon0 à 3
startDateNonDate de début
endDateNonDate de fin
sourceNonSource
resourceNonRessource / référence
commentsNonNotes

Les lignes auxquelles il manque une colonne obligatoire (id, value/typeId pour les entités, originId/targetId pour les relations) sont ignorées, et l'assistant indique combien ont été écartées.

Trouver les IDs de types

Pour connaître le typeId d'un type d'entité, utilisez le sélecteur de types accessible depuis :

Menu principal → Sélecteur de types

Sélectionnez le ou les types souhaités (Ctrl+Clic pour sélectionner plusieurs), puis copiez le texte généré pour l'utiliser dans vos fichiers CSV ou JSON.

Guide utilisateur Osintracker