Choix d'une stack frontend · Juin 2026

Next.js

Présentation Next.js

Next.js — le framework React full-stack

Next.js est un framework React full-stack maintenu par Vercel.

Il ajoute autour de React tout ce qui manque : rendu côté serveur, routing, récupération des données et back-end léger — dans un seul projet.

C'est aujourd'hui le framework React de référence en termes d'adoption et d'écosystème.

Next.js · Présentation · Juin 2026

Ce que Next.js apporte

  • Rendu hybride — SSR, SSG ou ISR, au choix, page par page
  • Routing par fichiers — l'arborescence des fichiers définit les URLs (App Router)
  • Données côté serveur — récupérées directement dans le composant, sans API à exposer
  • API & Server Actions intégrées — un back-end léger inclus dans le projet
  • Écosystème React complet — shadcn/ui, Radix, toute la galaxie React
Next.js · Présentation · Juin 2026

Rendu hybride — un mode par page

Next.js décide et quand le HTML est produit. Le choix se fait page par page, selon le besoin.

🖥️

SSR — Server-Side Rendering

Rendu sur le serveur à chaque requête. Données toujours fraîches et bon SEO — idéal pour les pages dynamiques ou personnalisées.

SSG — Static Site Generation

HTML pré-généré une fois, au build. Servi en statique, ultra-rapide et cachable sur CDN — parfait pour du contenu stable (docs, marketing).

♻️

ISR — Incremental Static Regeneration

Le statique qui se rafraîchit en arrière-plan, à intervalle régulier. La vitesse du SSG, sans rebuild complet du site.

Next.js · Présentation · Juin 2026

Exemple — React classique (rendu client)

// Le navigateur va chercher les données APRÈS le premier rendu
function Profil({ id }) {
  const [user, setUser] = useState(null);

  useEffect(() => {
    fetch(`/api/users/${id}`) // aller-retour réseau
      .then((r) => r.json())
      .then(setUser);
  }, [id]);

  if (!user) return <p>Chargement…</p>; // écran d'attente
  return <h1>{user.name}</h1>;
}

Page envoyée vide → JS → requête → rendu. L'utilisateur attend, et l'API doit être exposée.

Next.js · Présentation · Juin 2026

Exemple — Next.js (rendu serveur)

// Le composant s'exécute SUR le serveur, au moment de la requête
export default async function Profil({ params }) {
  const user = await db.users.find(params.id); // accès direct aux données

  return <h1>{user.name}</h1>; // HTML déjà prêt, zéro requête côté client
}

Les données sont récupérées au rendu : le serveur renvoie un HTML complet, sans aller-retour ni API à exposer.

Next.js · Présentation · Juin 2026

Composants Serveur vs Client

Vos deux exemples ont un nom. Dans l'App Router, le serveur est le défaut ; le client se déclare explicitement.

🗄️

Composant Serveur

Le défaut : il s'exécute sur le serveur, accède directement aux données et n'envoie aucun JS au navigateur. Pas d'interactivité.

🖱️

Composant Client

"use client" — il tourne dans le navigateur : état, événements, hooks. Tout ce qui réagit à l'utilisateur (boutons, formulaires).

🧩

On compose les deux

Serveur par défaut, client seulement là où il faut de l'interactivité. Résultat : moins de JS, premier rendu plus rapide.

Next.js · Présentation · Juin 2026

Next.js — forces & faiblesses

✅ Forces

  • Réutilise vos compétences React (langage identique)
  • SSR / SEO / performance out-of-the-box
  • Conteneurisable (output: 'standalone') → GitLab CI + Kubernetes
  • Écosystème UI très riche
  • Adoption massive → ressources et recrutement faciles

❌ Faiblesses

  • Runtime Node à héberger et maintenir, à côté du Python/Plone
  • Expérience optimale pensée pour Vercel → self-hosting souverain demande du tuning
  • App Router : courbe d'apprentissage non triviale
  • Temps de build qui croît avec la taille du projet
  • Le code « serveur » n'est pas portable hors d'un environnement Next
Next.js · Présentation · Juin 2026

Le risque Vercel

  • Éditeur commercial — Next.js est piloté par Vercel, dont le métier est l'hébergement : la roadmap sert d'abord leur plateforme
  • Soft lock-in — le chemin « par défaut » pousse vers Vercel ; plus on suit les défauts, plus on s'en détache difficilement
  • Features taillées pour leur edge — images, cache ISR, middleware : clés en main chez Vercel, à recâbler ailleurs
  • Dépendance à une roadmap — celle d'un acteur US ; l'écart « happy path / self-host » peut se creuser

Mais c'est gérable — open-source (MIT) et output: 'standalone' rendent un hébergement 100 % souverain possible. L'effort est un setup initial, pas une laisse permanente.

Next.js · Présentation · Juin 2026

Next.js chez iMio

Comment il se branche sur l'existant — sans bouleverser l'infra.

🔌

API Plone / iMio

Consomme vos REST API existantes côté serveur, sans jamais les exposer au navigateur.

🔐

Auth Keycloak

Connexion via Wallonie Connect (OIDC), session gérée côté serveur.

🚢

GitLab CI + K8s

Build conteneurisé, déployé sur votre cluster comme le reste de la stack.

🛡️

Souveraineté

Hébergé sur votre infra, sans dépendance à Vercel. Données et runtime restent chez iMio.

Next.js · Présentation · Juin 2026

Merci !

Questions · Échanges · Choix collectif