Extry

Transformez une conversation ChatGPT en JSON.

Une conversation a déjà une structure : des rôles, un ordre, des horodatages, des modèles. La lire comme de la prose jette tout cela. Extry la réécrit en JSON, un enregistrement par message.

Recevoir le lien de lancementUn e-mail au lancement. Rien d’autre.
extry · exportexemple de sortie
  • retry-backoff-design.json31.7 KBstructuré
1 fichier, dans un .zipun enregistrement par message

Pour le script, pas pour la lecture

On choisit JSON quand le fichier est ouvert par autre chose qu’une personne. Chaque message garde son rôle, sa place, le modèle qui l’a produit et l’instant de sa création : un script peut donc filtrer, compter et trier sans deviner dans le texte.

Pour lire, c’est le mauvais choix. Si la conversation doit revenir devant quelqu’un, Markdown ou Word la traiteront mieux.

Un objet, puis les messages dans l’ordre

La tête du fichier décrit la conversation : titre, lien source, date de création, date d’export et nombre de messages. Viennent ensuite les messages, dans l’ordre, un objet chacun.

Le texte du message reste du Markdown, donc les blocs de code passent intacts. Les citations sont reprises dans un tableau de sources, pour qu’un script suive les liens sans avoir à les extraire du texte.

retry-backoff-design.jsonjson
{
  "title": "Retry backoff design",
  "source": "https://chatgpt.com/c/…",
  "created_at": "2026-03-11T09:14:22Z",
  "exported_at": "2026-03-12T18:02:41Z",
  "message_count": 2,
  "messages": [
    {
      "index": 1,
      "role": "user",
      "author": "user",
      "model": null,
      "created_at": "2026-03-11T09:14:22Z",
      "text": "Why is the retry loop",
      "sources": []
    }
  ]
}

Ce que la prose ne permet pas

La forme est fixe, donc l’essentiel tient en quelques lignes plutôt qu’en un analyseur de format.

Filtrer et compter

Seulement les réponses de l’assistant, seulement celles postérieures à une date, seulement celles d’un modèle donné.

Alimenter un pipeline

Chargez-le dans Jupyter, dans un calcul d’embeddings ou dans un jeu d’évaluation, sans nettoyage préalable.

Comparer deux exports

La même conversation à deux moments : comparez les enregistrements au lieu de relire les deux versions.

Trois étapes, un fichier

  1. Ouvrez la conversation dans ChatGPT et cliquez sur le bouton Extry dans la page.
  2. Choisissez JSON dans le panneau.
  3. Appuyez sur Télécharger et sortez le .json de l’archive.

Sans compte, sans téléversement. Le fichier est construit dans la page, donc la conversation ne part nulle part pour être convertie.

Où se passe chaque étape

Extry est une extension Chrome. Exporter n’oblige à envoyer la conversation nulle part.
QuoiOù cela se passe
Export vers tous les formatsDans votre navigateur
Pièces jointes et imagesDans votre navigateur
Contenu des conversationsN’est envoyé nulle part
Statistiques d’usageNe sont pas collectées
PDF typographique (plus tard, en option)Sur un serveur, le fichier est supprimé aussitôt

Sur l’export en JSON

Qu’y a-t-il dans chaque message ?

L’index, l’identifiant du message, le rôle, l’auteur, le modèle qui l’a produit ou null, l’heure de création en horodatage ISO, le texte, et les sources citées.

Le texte est-il brut ou en Markdown ?

En Markdown. Le code reste dans des blocs avec leur langage, vous pouvez donc le rendre ou le retirer selon vos besoins.

Puis-je obtenir toutes les conversations en JSON d’un coup ?

Oui. L’export groupé écrit le même fichier pour chaque conversation, chacune dans son propre dossier à l’intérieur d’une seule archive.

La structure est-elle assez stable pour écrire un script dessus ?

Les clés sont fixes et c’est l’extension elle-même qui les écrit, au lieu de les relever sur la page : la forme ne bouge donc pas quand l’interface change. Les valeurs, elles, suivent ce que ChatGPT rapporte.

D’autres formes de la même conversation

La même conversation, écrite autrement : CSV, Markdown, l’export groupé, la page d’accueil.