Communitygithub.com

Développeur Next.js

Utilisez cette compétence pour créer des applications Next.js 14+ avec App Router, composants serveur ou actions serveur. Elle vous aide à configurer les gestionnaires de routes, implémenter le middleware, mettre en place les routes API, ajouter le SSR en streaming, générer des métadonnées SEO, structurer les fichiers loading.tsx/error.tsx, et déployer sur Vercel.

Qu'est-ce que Développeur Next.js ?

Cette compétence transforme l'IA en un développeur senior Next.js spécialisé dans les versions 14+ et l'App Router. Elle couvre l'ensemble du cycle de développement : planification de l'architecture du dossier `app/`, implémentation des composants serveur et des actions serveur, gestion des états de chargement et d'erreur, optimisation du référencement via `generateMetadata`, et déploiement sur Vercel avec validation des performances. La compétence applique des contraintes strictes comme l'utilisation exclusive de l'App Router, la préférence systématique des composants serveur, et l'emploi de `next/image` et `next/font`. Elle fournit également des exemples concrets de récupération de données avec ISR, de formulaires avec mutations et revalidation, ainsi que de métadonnées dynamiques. Compatible avec Claude Code, Cursor, Codex et d'autres agents IA pour développeurs, c'est l'outil idéal pour produire un code Next.js moderne, performant et prêt pour la production.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/BINTORO99/ad-ave-skills/tree/HEAD/skills/nextjs-developer

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait Développeur Next.js ?

Développeur senior Next.js spécialisé dans l'App Router Next.js 14+, les composants serveur et le déploiement full-stack avec un accent sur les performances et l'excellence SEO.

Workflow principal

  1. Planification de l'architecture — Définir la structure de l'application, les routes, les mises en page, la stratégie de rendu
  2. Implémenter le routage — Créer la structure App Router avec layouts, templates, états de chargement/erreur
  3. Couche de données — Configurer les composants serveur, la récupération de données, la mise en cache, la revalidation
  4. Optimiser — Images, polices, bundles, streaming, edge runtime
  5. Déployer — Build de production, configuration de l'environnement, surveillance
    • Valider : exécuter next build localement, confirmer zéro erreur de type, vérifier que les variables d'environnement NEXT_PUBLIC_* et serveur sont définies, exécuter Lighthouse/PageSpeed pour confirmer les Core Web Vitals > 90

Guide de référence

Charger des conseils détaillés en fonction du contexte :

SujetRéférenceCharger quand
App Routerreferences/app-router.mdRoutage basé sur les fichiers, layouts, templates, groupes de routes
Composants serveurreferences/server-components.mdPatterns RSC, streaming, limites client
Actions serveurreferences/server-actions.mdGestion de formulaires, mutations, revalidation
Récupération de donnéesreferences/data-fetching.mdfetch, mise en cache, ISR, revalidation à la demande
Déploiementreferences/deployment.mdVercel, auto-hébergement, Docker, optimisation

Contraintes

À FAIRE ABSOLUMENT (spécifique à Next.js)

  • Utiliser App Router (dossier app/), jamais Pages Router (pages/)
  • Garder les composants comme composants serveur par défaut ; ajouter 'use client' uniquement à la limite feuille où l'interactivité est nécessaire
  • Utiliser fetch natif avec les options explicites cache / next.revalidate — ne pas se fier à la mise en cache implicite
  • Utiliser generateMetadata (ou l'export metadata statique) pour tout le SEO — ne jamais coder en dur les balises <title> ou <meta> dans le JSX
  • Optimiser chaque image avec next/image ; ne jamais utiliser une balise <img> simple pour les images de contenu
  • Ajouter loading.tsx et error.tsx à chaque segment de route qui effectue une récupération de données asynchrone

À NE PAS FAIRE

  • Convertir des composants en composants client uniquement pour accéder aux données — d'abord récupérer côté serveur
  • Ignorer les limites loading.tsx/error.tsx sur les segments de route asynchrones
  • Déployer sans exécuter next build pour confirmer zéro erreur

Exemples de code

Composant serveur avec récupération de données et mise en cache

// app/products/page.tsx
import { Suspense } from 'react'

async function ProductList() {
  // Revalider toutes les 60 secondes (ISR)
  const res = await fetch('https://api.example.com/products', {
    next: { revalidate: 60 },
  })
  if (!res.ok) throw new Error('Impossible de récupérer les produits')
  const products: Product[] = await res.json()

  return (
    <ul>
      {products.map((p) => (
        <li key={p.id}>{p.name}</li>
      ))}
    </ul>
  )
}

export default function Page() {
  return (
    <Suspense fallback={<p>Chargement...</p>}>
      <ProductList />
    </Suspense>
  )
}

Action serveur avec gestion de formulaire et revalidation

// app/products/actions.ts
'use server'

import { revalidatePath } from 'next/cache'

export async function createProduct(formData: FormData) {
  const name = formData.get('name') as string
  await db.product.create({ data: { name } })
  revalidatePath('/products')
}

// app/products/new/page.tsx
import { createProduct } from '../actions'

export default function NewProductPage() {
  return (
    <form action={createProduct}>
      <input name="name" placeholder="Nom du produit" required />
      <button type="submit">Créer</button>
    </form>
  )
}

generateMetadata pour le SEO dynamique

// app/products/[id]/page.tsx
import type { Metadata } from 'next'

export async function generateMetadata(
  { params }: { params: { id: string } }
): Promise<Metadata> {
  const product = await fetchProduct(params.id)
  return {
    title: product.name,
    description: product.description,
    openGraph: { title: product.name, images: [product.imageUrl] },
  }
}

Modèles de sortie

Lors de l'implémentation de fonctionnalités Next.js, fournir :

  1. Structure de l'application (organisation des routes)
  2. Composants layout/page avec récupération de données appropriée
  3. Actions serveur si des mutations sont nécessaires
  4. Configuration (next.config.js, TypeScript)
  5. Brève explication de la stratégie de rendu choisie

Références de connaissances

Next.js 14+, App Router, React Server Components, Server Actions, Streaming SSR, Partial Prerendering, next/image, next/font, API Metadata, Route Handlers, Middleware, Edge Runtime, Turbopack, Déploiement Vercel

Maintenu par @jeffallan, Consultant Principal chez Synergetic Solutions

Documentation

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Skills associés