Comment utiliser les Server Actions avec NextJS

Découvrez pourquoi et comment les Server Actions de NextJS améliorent les performances à la fois sur les Client Components et les Server Components, et apprenez à les utiliser dans vos projets.
•
Mis à jour le 14 août 2026
•
6 min de lecture
Believemy logo

De nos jours, les performances et l'efficacité sont devenus des enjeux très importants. Les utilisateurs sont de plus en plus exigeants avec l'expérience qu'ils peuvent avoir quand ils passent leur temps sur un site internet.

Pour aider encore plus à optimiser les performances du chargement des pages, nous avons vu l'arrivée d'une fonctionnalité magique : les Server Actions.

Bon à savoir

Les Server Actions sont arrivées depuis NextJS 13 mais ont été rendues vraiment utilisables depuis NextJS 14.

Elles permettent de gérer les données directement sur le serveur tout en facilitant le chargement de la page côté client.

Attention

Si vous débutez, il est indispensable de suivre une formation complète sur React avant d'utiliser NextJS : un bon développeur NextJS est avant tout un bon développeur React (qui lui-même est avant tout un bon développeur JavaScript) ! 😋

 

Comprendre les Server Actions

Les Server Actions sont, comme nous l'avons-vu, une des fonctionnalités phares de NextJS. Elles permettent d'effectuer des instructions sur notre serveur directement depuis les composants (même les Client components).

Bon à savoir

Un Client component qu'on appelle en bon français un composant client est un code qui s'execute sur le navigateur de notre utilisateur. Contrairement au Server Component qui lui est executé sur le serveur puis envoyé tout prêt sur notre utilisateur.

Contrairement aux méthodes comme getServerSideProps ou getStaticProps (désormais dépréciées depuis NextJS 13), les Server Actions s'intègrent directement dans les composants sans avoir besoin de pages dédiées ou de hooks complexes.

 

Pourquoi utiliser les Server Actions ?

L’utilisation des Server Actions offre plusieurs avantages :

  1. Amélioration des performances : En exécutant du code directement sur le serveur, on réduit la charge sur le client, ce qui améliore considérablement les temps de chargement.
  2. Simplification du code : Les Server Actions suppriment la nécessité de créer des fichiers API séparés ou d'utiliser des fonctions comme getServerSideProps. Vous pouvez maintenant gérer tout dans les composants eux-mêmes.
  3. Réduction du JavaScript côté client : Comme une grande partie du travail se fait côté serveur, la taille du bundle JavaScript envoyé au client est réduite, ce qui accélère l’application.

 

Mettre en place des Sever Actions dans NextJS

Initialiser un projet NextJS

Si vous débutez avec NextJS, voici comment initialiser un projet :

CONSOLE
npx create-next-app@latest

Lors de l'initialisation, vous pouvez choisir d'utiliser le routeur app ou pages : choisissez le routeur app. C'est beaucoup mieux, car c'est le tout dernier routeur proposé par NextJS qui permet de mieux structurer votre application et d'exploiter pleinement les Server Components et les Server Actions.

Configurer les Server Actions

Les Server Actions s’utilisent directement dans les composants. Il n'y a qu'à marquer une fonction avec l’attribut async pour l’utiliser comme une Server Action.

Exemple : dans un Server Component

Les Server Components peuvent utiliser à la fois :

  • les fonctions inline
  • le module avec "use server"

Pour imaginer plus facilement, prenons un exemple pour une fonction inline :

JSX
export default function Page() {
    // ...

    // Server Action
    async function create() {
        "use server"
        const res = await fetch('https://believemy.com');
        // ...
    }

    return (
        <form action={create}></form>
    );
}

Dans cet exemple, nous chargons les données de l'article dynamiquement. Nous utilisons ici une fonction inline. Cette approche simplifie énormément le flux de données tout en permettant de réduire la quantité de code exécuté côté client.

Pour une utilisation grâce à un module,nous devrions créer un nouveau fichier et ajouter la directive use server.

Toutes les fonctions dans ce fichier seront considérées comme des Server Actions.

Par exemple nous aurions un fichier actions.jsx :

JSX
'use server'

export async function create() {
    // ...
}

export async function replace() {
    // ...
}

Afin d'utiliser notre Server Action nous aurons dans notre Server Component ce code :

JSX
import { create } from "./actions";

export default function ServerComponent() {
    return <form action={create}></form>
}

Comme vous pouvez constater, nous utilisons un attribut un peu spécial : action.

Il permet de préciser à NextJS que nous souhaitons utiliser une Server Action. Il enverra ainsi l'ensemble des informations présentes à l'intérieur de ce formulaire sur notre serveur quand l'utilisateur l'enverra.

 

Exemple : dans un Client Component

Les Client Components peuvent utiliser uniquement le module pour utiliser un Server Action.

Si nous reprenons notre exemple pour les Server Component nous avons donc un fichier actions.jsx :

JSX
'use server'

export async function create() {
    // ...
}

export async function replace() {
    // ...
}

Pendant que dans notre Client component nous aurions :

JSX
'use client'

import { create } from "./actions";

export default function ClientComponent() {
    return <form action={create}></form>
}

 

API Routes vs Server Actions

Avec l'arrivée des Server Actions, beaucoup de développeurs se sont demandés s'il fallait encore utiliser les API Routes.

Bon à savoir

Les API Routes, introduites dans les premières versions de NextJS, permettent de créer des adresses spécialement créées pour former une API. Ces adresses sont par la suite utilisées dans tout le projet pour dialoguer avec le serveur. 👀

Avec les Server Actions, ces adresses spéciales ne sont plus nécessaires dans la plupart des cas, car vous pouvez gérer les requêtes directement dans les composants.

Alors, voici un petit récap.

Quand utiliser les API Routes :

  • Lorsque vous avez besoin de créer des points d’API accessibles à d’autres services externes.
  • Pour centraliser la logique serveur dans un fichier.

Quand utiliser les Server Actions :

  • Lorsque vous souhaitez que la récupération des données soit directement liée au rendu des composants.
  • Pour optimiser les performances et simplifier le code en évitant des requêtes API client supplémentaires.
Bon à savoir

Autre avantage des Server Actions, ils permettent de faire du caching. Ceci veut dire que les requêtes qui sont faites pour récupérer les derniers articles de votre site peuvent être mises en cache afin de ne pas avoir besoin d'être executées à chaque fois. Cela accélère considérablement les temps de chargement, surtout pour les données qui ne changent pas fréquemment.

 

FAQ sur les Server Actions

Nos apprenants sur nos formations nous posent de nombreuses questions : voici un petit résumé des questions les plus intéressantes, elles pourront peut-être vous aider ! 😉

Question

Quelles sont les meilleures pratiques pour utiliser les Server Actions avec NextJS ?

Assurez-vous de bien gérer les erreurs côté serveur et d’utiliser les Server Actions uniquement lorsque c'est vraiment nécessaire ! Car cela alourdi un peu votre code et ça, c'est pas terrible.

 

Question

Les Server Actions affectent-elles le SEO ?

Non, elles améliorent même le SEO en accélérant le rendu des pages.

 

Question

Est-il possible d'utiliser des API externes avec les Server Actions ?

Oui, les Server Actions sont bien entendu utilisables pour interagir avec des API externes. C'est même encore mieux pour être sûr et certain qu'une vos clés API ne fuite pas dans la nature !

 

Question

Les API Routes sont-elles encore utiles dans NextJS 14 et plus ?

Oui, pour certains cas où vous avez besoin d’exposer une API à des services externes, mais pour la plupart les Server Actions suffisent.

 

Question

Comment se former à NextJS ?

Avec notre formation ! 😇 Vous pouvez la retrouver ici.

Catégorie : Développeurs

Partager cet article

Tu veux nous aider ? Fais un lien vers cet article sur tes réseaux ou encore mieux : sur ton site, dans un article ou dans ta newsletter.

Believemy logo
Commentaires (0)

Vous devez être connecté pour commenter cet article : se connecter ou s'inscrire.

À lire ensuite

Envoyer un email avec NextJS et SendGrid gratuitement

Vous avez toujours souhaité envoyer des emails avec JavaScript ? Ou plus précisément, comment envoyer des emails avec React voir NextJS ? Alors découvrons ensemble comment utiliser SendGrid ! Il s'agit d'une solution facile et rapide à mettre en place, qui nous permettra de s'assurer que nos emails soient envoyés et le plus important : qu'ils soient bien réceptionnés.

13 octobre 2021

Mettre en place la revalidation sur-demande avec NextJS

Si vous êtes développeur web, vous savez sûrement à quel point il est important d'avoir un site rapide et réactif pour offrir une expérience utilisateur optimale. Dans cet article, nous allons vous présenter comment mettre en place la revalidation sur-demande avec NextJS, une fonctionnalité qui permet de rafraîchir les données de votre site uniquement lorsque cela est nécessaire. Grâce à cette méthode, vous pourrez économiser des ressources et améliorer la performance de votre site web, tout en offrant des données à jour à vos utilisateurs.

31 mars 2023

Mettre en place un loader au changement d'une page Nextjs

Avez-vous déjà été sur un site où vous cliquez sur un lien et rien ne se passe ? Ou peut-être vous êtes-vous demandé si votre demande a bien été reçue ? C'est ici que la mise en place d'un loader entre en jeu. Dans cet article, nous allons vous expliquer pourquoi il est important d'avoir un loader sur votre site web, comment le mettre en place dans votre projet Nextjs et créer une fonction qui permettra d'afficher le loader tant que la page n'est pas chargée. Si vous souhaitez améliorer l'expérience utilisateur sur votre site web et rassurer vos visiteurs, cet article est pour vous.

30 mars 2023

Utiliser le localStorage dans une application NextJs ou React

Cet article a pour but de vous apprendre à utiliser le localStorage dans une application Next.JS ou React. En effet, il y a quelques différences avec l'utilisation normale, dans une application vanilla.

21 août 2024

Les nouveautés de React 19

React 19 vient tout juste d'être annoncé par l'équipe de Meta. De puissantes nouveautés ont fait leurs apparitions presque deux ans après la sortie de React 18.3. Découvrons toutes les nouveautés avec React 19.

20 mai 2024

Code plus vite avec React grâce à ces techniques

Apprenez à coder plus vite avec React grâce à des techniques simples mais efficaces qu'utilisent les développeurs expérimentés.

20 septembre 2024

Mettre en place des thèmes en SCSS avec NextJs ou React et les contextes

On ne peut pas modifier une variable scss, car scss converti son code en css, en appliquant directement les valeurs des variables. Il est donc difficile de mettre en place un thème clair / sombre sur son projet React ou Next et scss. Heuresement, il y a des solutions, que nous allons découvrir dans cet article.

15 août 2024

Les nouveautés de NextJS 15

NextJS 15 a été présenté aux yeux du monde le 24 octobre 2024 à San Francisco, voici tout ce que l'on sait des puissantes nouveautés de NextJS 15 !

13 septembre 2024

Devenez le solopreneur que vous rêvez d'être.

Premier projet, reconversion, lancement de business : accédez à nos formations, pratiquez sur des cas concrets et avancez avec un accompagnement clair.