Tous les articles

Front-End

API Notion et Next.js : Guide pratique

Par Emilie Seng4 min de lecture

Notion
Notion

Vous allez découvrir comment utiliser l'API de Notion avec un framework JavaScript. Dans un premier temps, j’aborderai les bases de Notion, vous découvrirez pourquoi l'API peut être un atout précieux, puis je détaillerai un scénario concret d’intégration avec un formulaire sur un site web Next.js.

Qu'est-ce que Notion ?

Notion est une application polyvalente de prise de notes, elle offre une gamme étendue de fonctionnalités telles que bases de données, calendrier, kanban, listes, tâches, et bien plus encore. Cette plateforme intuitive et collaborative propose des raccourcis ressemblant à ceux des balises HTML, rendant ainsi son utilisation aisée et accessible à tous.

Image : Exemple d’une page sur Notion
Exemple d’une base de données sur Notion

Intégrez l’API de Notion

Notion met à disposition une API robuste permettant aux développeurs d'interagir avec les pages, les bases de données et les utilisateurs. Cette API offre des possibilités étendues pour personnaliser et automatiser les flux de travail, comme par exemple la modification de pages et de bases de données, offrant ainsi une flexibilité totale pour répondre aux besoins spécifiques de vos projets.

Pourquoi utiliser l'API de Notion ?

Besoin de simplicité

Évoquons une situation concrète : pour la gestion d'un événement, il était nécessaire de collecter les réponses des invités et de les centraliser facilement. L'objectif était d'éviter un formulaire créé par une application tierce tout en respectant un délai court.

Les données recueillies devaient être faciles à lire et à manipuler par la suite, même pour quelqu'un qui n'a pas de connaissances en programmation.

Avec Notion, vous pouvez créer des bases de données qui sont triables, filtrables, et modifiables. L'interface est très simple à comprendre, la base de données s'affiche sous forme d'un tableau qui peut comporter plusieurs champs de différents types.

L’API de Notion permet d’interagir avec ce contenu.

Des prérequis minimum

  • Un compte Notion (gratuit ou payant).
  • Un site web avec un formulaire.
    Dans notre exemple, Next.js a été utilisé, notamment pour la sécurisation de la clé API Notion. Cependant, d'autres technologies peuvent être utilisées sur vos serveurs en fonction de vos préférences.

En pratique, comment fait-on ?

Architecture

Communication entre Client, Serveur, API Notion et Base de données

Configuration de Notion

  • Création d'un compte Notion
  • Création d'une intégration
  • Création d’une base de donnée, et connexion avec l’intégration précédemment créée
  • Obtention du secret de l’intégration et de l’identifiant de la base de données.

Création d’un formulaire

  • Page web avec formulaire HTML simple.

Configuration de Next.js

Code affichant la requête vers le SDK de notion
  • Branchement du endpoint d’API Next.js au formulaire : le composant de formulaire sera appelé par une page qui sera branchée à l’API de Next.js

Résultat

En tant qu’utilisateur, je vais sur le formulaire du site internet, je remplis les champs et je valide le formulaire. Puis les données sont traitées sur le serveur Next.js, qui fait un appel vers l’API de Notion afin de mettre à jour la base de donnée côté Notion

Base de données Notion mise à jour depuis le site Next.js

Voir le code

Le lien suivant est un starter Next.js avec un formulaire utilisant l’API de Notion pour modifier une base de données Notion : https://github.com/pouletor/notion-api

Conclusion

L'intégration de l'API Notion avec Next.js offre une solution flexible pour simplifier la collecte et la gestion de données. Ce guide a présenté les bases de Notion, les avantages de son API, et un scénario concret d'intégration.

Je vous encourage à explorer l’API Notion dans vos propres projets et à adapter ces concepts à vos besoins spécifiques. Pour aller plus loin, n'hésitez pas à consulter la documentation détaillée de Notion et Next.js, ainsi que les forums de la communauté pour partager vos expériences et en apprendre davantage. Bonne intégration !

  • JSX un standard de facto pour construire vos UI
    JSX est l'acronyme de "JavaScript XML", ce qui reflète la nature de cette syntaxe qui permet d'écrire des structures similaires à du XML, en particulier du HTML et du SVG, directement dans du code JavaScript. Il a été créé lors du développement de React: les équipes de développement de chez Facebook cherchaient une solution pour rendre le développement d'interfaces intuitif et déclaratif. Bien que n'étant pas un standard officiel, le JSX est un standard de facto dans le développement web modern
  • CSS
    Les logical properties sont une famille de propriétés CSS permettant de s’affranchir d’une sémantique physique au profit d’une sémantique logique. Elles offrent beaucoup d’avantages, notamment pour l’internationalisation, en échange de peu d’efforts. Découvrons cela ensemble ! La promesse Historiquement, nous écrivons les styles CSS avec des propriétés physiques (ex : margin-left, padding-top). Avec les propriétés physiques, un changement d’orientation de lecture implique une adaptation man
  • Simplifer et cadrer la conception d'API REST - Un Atelier pour les Designers, Product Owners, et Développeurs Backend et Frontend