Alternative Notion / GUIDE DE MIGRATION
Données à migrer depuis Notion
Que vous exportiez vos données vous-même ou que vous fassiez appel à un prestataire, ce guide détaille chaque type de données présent dans vos workspaces Notion, comment les extraire et ce qui nécessite une attention particulière avant de changer d'outil.
LES DONNÉES
Ce que nous migrons depuis Notion
Quitter Notion ne signifie pas perdre vos données. Voici les types de données que SmartBooster analyse, extrait et migre vers votre logiciel sur mesure.
Bases de données et schéma
Structure complète de chaque base : noms de propriétés, types de champs, options des listes déroulantes et configuration des vues. Migré vers un schéma SQL relationnel avec correspondance de chaque propriété.
Entrées et valeurs
Toutes les pages de chaque base avec leurs valeurs de propriétés, y compris les champs texte, nombre, date, case à cocher, sélection simple et multiple.
Relations entre bases
Les propriétés Relation d'une base vers une autre deviennent des clés étrangères et jointures SQL dans le nouveau logiciel. Les relations bidirectionnelles sont converties en tables de jointure.
Rollups et formules
Les propriétés Rollup (agrégats sur des relations) et Formula (calculs) ne sont pas exportables telles quelles : leur logique est analysée et recréée en code applicatif ou en requêtes SQL.
Fichiers et médias
Les fichiers uploadés dans les entrées Notion sont accessibles via l'API avec leurs URLs temporaires. Ils sont téléchargés et ré-hébergés sur le stockage cible pendant la migration.
Contenu des pages
Les blocs de contenu à l'intérieur des pages (paragraphes, titres, listes, tableaux) sont exportables en Markdown. Les pages de documentation peuvent être conservées dans Notion ou converties selon vos besoins.
Exporter vos données depuis l’interface Notion
Avant tout développement, Notion permet d’exporter le contenu d’un workspace en CSV et en Markdown depuis l’interface. C’est la première étape pour auditer vos données.
Comment exporter depuis l’interface Notion
Dans les Paramètres du workspace, section Paramètres, cliquez sur Exporter l’espace de travail. Notion génère une archive ZIP contenant :
- Un fichier CSV par base de données
- Un fichier Markdown par page et sous-page
Points d’attention avec l’export interface :
- Les relations n’apparaissent que comme du texte : le CSV d’une base contient le nom de l’entrée liée, pas son identifiant. Les liens entre bases ne sont pas conservés.
- Les rollups et formules sont exportés avec leur valeur calculée : la logique n’est pas exportée, seulement le résultat au moment de l’export.
- Les fichiers ne sont pas inclus dans l’export ZIP : seuls les noms ou URLs des fichiers apparaissent dans le CSV.
- Les vues et filtres ne sont pas exportés : seules les données brutes sont incluses, pas la configuration des vues (kanban, calendrier, galerie).
Ce que l’export CSV ne couvre pas
Pour une migration complète, l’export CSV seul ne suffit pas. L’API Notion est nécessaire pour récupérer les identifiants des relations, les fichiers avec leurs URLs de téléchargement et le contenu structuré des pages.
Schéma de bases de données
Le schéma de chaque base est récupéré via GET /databases/{database_id}. Cet endpoint retourne
les propriétés (nom, type, configuration des options pour les sélections) et les métadonnées
de la base. SmartBooster analyse ce schéma pour construire le modèle de données cible avant
d’extraire les entrées.
Types de propriétés et correspondances SQL
| Type Notion | Correspondance cible |
|---|---|
title, rich_text, email, url, phone_number | VARCHAR ou TEXT |
number | DECIMAL ou INT |
date | DATE ou DATETIME |
checkbox | BOOLEAN |
select | ENUM ou table de référence |
multi_select | Table de jointure |
people | Référence vers la table utilisateurs |
files | Migré vers stockage fichiers |
relation | Clé étrangère ou table de jointure |
rollup | Recréé en logique applicative ou requête SQL |
formula | Recréé en méthode de modèle ou calcul en base |
created_time, last_edited_time | Timestamps à conserver pour l’historique |
Entrées (pages de base de données)
Les entrées sont extraites via POST /databases/{database_id}/query. Notion retourne 100
entrées par page maximum. Pour les bases volumineuses, la migration est paginée via le
paramètre start_cursor retourné dans chaque réponse.
Le rate limit de 3 requêtes par seconde est la contrainte principale de l’extraction Notion. Une base de 10 000 entrées nécessite au minimum 100 requêtes de query, auxquelles s’ajoutent les requêtes pour les fichiers et les relations.
Relations entre bases
Les propriétés relation permettent de lier des entrées de deux bases différentes. Dans
l’API, chaque propriété relation d’une entrée contient la liste des IDs des entrées liées
({ "id": "uuid-de-l-entrée-liée" }).
Lors de la migration :
- Relation one-to-many : une clé étrangère est ajoutée dans la table enfant
- Relation many-to-many : une table de jointure intermédiaire est créée
Les UUIDs Notion sont remappés vers les IDs auto-incrémentés du nouveau schéma en deux passes : d’abord les entrées sans dépendances, ensuite les entrées liées.
Si vous exportez manuellement : le CSV ne conserve pas ces identifiants. Il faut réimporter les données table par table en recréant les liens manuellement, ce qui est faisable sur de petits volumes mais très fastidieux au-delà de quelques centaines de lignes avec des relations croisées.
Rollups et formules
Ces propriétés sont calculées côté Notion et ne représentent pas des données stockées. Elles ne sont pas exportables directement.
- Rollup : agrégat (somme, compte, moyenne, min, max) sur les valeurs d’une propriété d’une base liée. Recréé via une requête SQL d’agrégation avec jointure.
- Formula : calcul basé sur d’autres propriétés de la même entrée. Recréée en méthode de modèle ou en colonne calculée en base de données.
C’est l’étape qui demande le plus d’analyse et d’échanges avec votre équipe : certaines formules complexes nécessitent une décision sur leur recréation dans le nouveau logiciel.
Fichiers et médias
Les propriétés files et media retournent des URLs temporaires générées par Notion.
Ces URLs ont une durée de validité limitée à une heure : la migration des fichiers
doit être réalisée dans la foulée de l’extraction des entrées.
SmartBooster télécharge chaque fichier pendant la migration et le ré-héberge sur le stockage cible (S3, Clever Cloud Object Storage ou tout autre système compatible).
Points d’attention :
- Les fichiers uploadés directement dans Notion sont concernés. Les fichiers hébergés ailleurs et intégrés via URL ne sont pas migrés (seule l’URL est conservée).
- Les noms de fichiers et types MIME sont conservés.
Si vous exportez manuellement : les fichiers ne sont pas inclus dans l’archive ZIP de Notion. Il faut les télécharger un par un depuis l’interface ou via l’API, ce qui peut représenter un volume de travail significatif sur un workspace avec beaucoup de fichiers joints.
Contenu des pages (blocs)
Le contenu textuel à l’intérieur des pages Notion est structuré en blocs. Il est
accessible via GET /blocks/{page_id}/children. Chaque bloc a un type (paragraph,
heading_1, bulleted_list_item, image, table…) et un contenu au format rich_text.
Les pages de documentation (wiki, runbooks, processus) peuvent être :
- Conservées dans Notion si votre équipe continue à utiliser Notion pour la documentation
- Converties en Markdown via l’export interface et intégrées dans le nouveau logiciel
- Archivées si le contenu n’est plus actif
Ce qui nécessite une décision avant la migration
Certains éléments ne peuvent pas être migrés automatiquement :
- Les automations Notion (boutons, rappels) : déclencheurs et actions sont recréés en logique applicative (jobs planifiés, événements métier)
- Les vues configurées (kanban, calendrier, galerie, timeline) : recréées comme des vues de l’interface sur mesure selon vos besoins réels
- Les filtres et tris sauvegardés sur les vues : recréés en paramètres de liste dans le nouveau logiciel
- Les pages de documentation : décision au cas par cas (conserver dans Notion ou migrer)
- Les intégrations natives (Slack, GitHub, Figma) : rebranching sur les nouvelles APIs du logiciel cible
Ce qui peut rester dans Notion
La migration n’est pas forcément totale. Certains usages peuvent coexister avec le nouveau logiciel :
- La documentation et les runbooks d’équipe : Notion reste excellent pour la base de connaissances interne, les processus et les guides opérationnels
- Les bases non liées au périmètre du projet
- Les pages de suivi informelles qui n’ont pas de valeur métier critique
SmartBooster peut aussi développer un connecteur API pour synchroniser Notion avec le nouveau logiciel, au lieu de le remplacer complètement.
Ce qu’un prestataire sérieux doit faire
Si vous faites appel à un prestataire pour cette migration, voici les questions à poser pour évaluer sa rigueur avant de démarrer :
- Inventaire des relations avant l’extraction : le prestataire doit cartographier toutes les bases et leurs relations avant d’écrire le moindre script de migration.
- Stratégie pour les rollups et formules : chaque propriété calculée doit être analysée et sa logique validée avec vous avant de démarrer.
- Environnement de recette dédié : la migration doit être testée sur un environnement isolé avec des données réelles, jamais directement en production.
- Stratégie pour les fichiers : le prestataire doit anticiper le re-hébergement des fichiers avant que les URLs temporaires Notion n’expirent (délai d’une heure).
- Plan de rollback : en cas d’anomalie détectée après la bascule, que se passe-t-il ? Votre workspace Notion doit rester accessible pendant une période de vérification.
Chez SmartBooster, ces points font partie du cadrage initial de chaque projet de migration.
Authentification à l’API Notion
Pour extraire les données via l’API, Notion utilise des Integration Tokens liés à une
intégration interne. Un token avec la capacité Lire le contenu suffit pour une migration.
Attention : l’intégration doit être explicitement partagée avec chaque base ou page concernée par la migration. Une base non partagée avec l’intégration retournera une erreur 404, même si le token est valide.
Consultez le guide de création des identifiants API Notion pour la procédure complète.
Références techniques
RENDEZ-VOUS DÉCOUVERTE GRATUIT
30 minutes, gratuites, sans engagement
Décrivez votre besoin directement à Nicolas. On écoute votre situation et on vous dit si et comment on peut vous aider.
Appel de 30 min → Analyse gratuite → Proposition sous 5 jours
Pour aller plus loin
Approfondir votre réflexion
Découvrez pourquoi un logiciel sur mesure peut remplacer Notion et comment SmartBooster accompagne cette transition.
Vous n'êtes pas prêt à quitter Notion ? SmartBooster peut développer un connecteur API sur mesure pour synchroniser Notion avec votre écosystème.
Symfony, Vue.js, Clever Cloud : les technologies que nous utilisons pour développer des logiciels robustes et maintenables.
Vous avez un projet ?
Contactez-nous pour savoir comment nous pouvons vous aider.