Blog de base NextJS : un modèle de blog moderne pour démarrer avec Next.js 15 et Tailwind

Si vous recherchez un modèle de blog moderne pour débuter, conçu avec Next.js, le projet NextJS Base Blog est un excellent point de départ. Il s'agit d'une application de blog open source complète, développée avec Next.js 15, React 19, TypeScript et Tailwind CSS 4 .

Ce projet offre une architecture propre, une interface utilisateur moderne componentset une couche API factice, ce qui le rend idéal pour les développeurs souhaitant créer rapidement un blog sans avoir à configurer de backend.

Dépôt GitHub : https://github.com/bfotool/nextjs-base-blog

Ce projet est particulièrement utile pour :

  • Développeurs apprenant Next.js AppRouter

  • Créer rapidement un blog ou un site web de contenu

  • Création d'un projet de base Next.js

  • Développement des fonctionnalités d'interface utilisateur avant la connexion à une API backend réelle

Aperçu du projet

NextJS Base Blog est conçu comme un modèle de blog prêt pour la production, doté de nombreuses fonctionnalités communes aux sites web de contenu modernes.

Le projet comprend:

  • une page d'accueil avec des articles en vedette

  • pages d'articles de blog

  • filtrage par catégorie

  • recherche en texte intégral

  • pagination

  • table des matières

  • Articles similaires

  • Thème sombre/clair

L'un des aspects les plus intéressants du projet est la couche d'API factice, qui simule une API REST à l'aide d'intercepteurs Axios. Cela permet aux développeurs de créer et de tester l'application sans avoir besoin d'un serveur backend .

Caractéristiques principales

Page d'accueil

La page d'accueil affiche plusieurs sections importantes :

  • Article vedette

  • filtres de catégorie

  • une grille d'articles de blog

  • navigation paginée

La mise en page est entièrement adaptative et optimisée pour les ordinateurs et les appareils mobiles.

Page de l'article de blog

Chaque article est accessible via un itinéraire dynamique :

/blog/[slug]

La page de l'article de blog comprend plusieurs fonctionnalités utiles :

  • Contenu complet de l'article

  • table des matières automatique

  • temps de lecture estimé

  • boutons de partage sur les réseaux sociaux

  • suggestions d'articles similaires

Ces fonctionnalités contribuent à créer une expérience de lecture professionnelle similaire à celle des plateformes de blogs modernes.

Pages de catégorie

Les utilisateurs peuvent consulter les articles par catégorie.

Exemple d'itinéraire :

/blog/category/[slug]

Cette fonctionnalité permet aux lecteurs d'explorer du contenu sur des sujets spécifiques.

Fonctionnalité de recherche

Le projet comprend une page de recherche intégrée :

/search

La recherche prend en charge :

  • résultats en temps réel

  • entrée déboîtée

  • recherche dans les titres, les extraits et les étiquettes

Cela améliore l'ergonomie et aide les utilisateurs à trouver rapidement le contenu pertinent.

Pages À propos et Contact

Le projet comprend également des pages supplémentaires que l'on trouve généralement sur les blogs professionnels.

À propos de la page

La page À propos présente :

  • l'équipe

  • l'histoire du projet

  • valeurs fondamentales

Page de contact

La page Contact comprend un formulaire entièrement validé avec :

  • validation de formulaire

  • notifications toast

  • Commentaires sur les succès et les erreurs

Prise en charge du mode sombre

Le blog prend en charge le mode sombre et le mode clair .

Caractéristiques :

  • détection automatique du thème du système

  • bascule manuelle

  • persistance du thème via localStorage

Couche API factice(développement sans backend)

L'un des aspects les plus intéressants de ce projet est son système d'API factice .

Au lieu d'appeler un véritable serveur, l'application utilise des intercepteurs Axios pour simuler les réponses de l'API REST.

Comment fonctionne la fausse API

  1. L'instance Axios est créée dans :

src/services/api-client.ts
  1. Lorsque la variable d'environnement est activée :

NEXT_PUBLIC_USE_MOCK_API=true
  1. Les requêtes sont interceptées avant d'atteindre le réseau.

  2. Les gestionnaires factices renvoient de fausses réponses avec des délais réalistes(200–600 ms).

  3. Les réponses se comportent comme de véritables réponses d'API.

Les données simulées sont stockées dans :

src/mocks/

Y compris:

  • exemples de publications

  • auteurs

  • catégories

Points de terminaison API disponibles

L'API simulée prend en charge plusieurs points de terminaison :

Méthode Point de terminaison Description
OBTENIR /messages Articles de blog paginés
OBTENIR /articles/à la une Articles en vedette
OBTENIR /posts/:slug Article de blog unique
OBTENIR /catégories Liste des catégories
OBTENIR /auteurs Liste des auteurs
POSTE /contact Soumettre le formulaire de contact

Pile technologique

Le projet utilise une architecture frontend moderne.

Couche Technologie
Cadre Next.js 15
Bibliothèque d'interface utilisateur Réaction 19
Langue Manuscrit
stylisme Tailwind CSS 4
Client HTTP Axios
Icônes Réaction Lucide
peluches ESLint
Mise en forme Plus joli

Cette pile fournit :

  • sécurité de type fort

  • architecture maintenable

  • expérience de développeur moderne

Structure du projet

La structure du projet suit une architecture propre et évolutive.

src/ 
├── app/ 
├── components/ 
├── services/ 
├── mocks/ 
├── contexts/ 
├── hooks/ 
├── types/ 
└── lib/ 

ApplicationRouter

Le apprépertoire contient tous les itinéraires de l'application.

Exemples:

app/page.tsx 
app/blog/[slug]/page.tsx 
app/search/page.tsx 

Cela suit l' architecture d'application Next.jsRouter introduite dans les versions plus récentes de Next.js.

Composants

Les interfaces utilisateur componentssont organisées en groupes logiques :

components/layout 
components/common 
components/blog 

Cette structure permet de garder le code de l'interface utilisateur organisé et plus facile à maintenir.

Couche de services

Le servicesdossier contient la logique liée à l'API :

  • configuration du client API

  • service postal

  • service de catégorie

  • service de formulaire de contact

Cette couche sépare la logique de récupération des données de l'interface utilisateurcomponents, ce qui améliore l'évolutivité.

Guide d'installation

Exigences

Avant de commencer, assurez-vous d'avoir:

  • Node.js 18 ou version ultérieure

  • npm, yarn ou pnpm

Cloner le dépôt

git clone https://github.com/bfotool/nextjs-base-blog.git 
cd nextjs-base-blog 

Installer les dépendances

npm install

Configurer les variables d'environnement

cp .env.example .env

Démarrer le serveur de développement

npm run dev

Ouvrez votre navigateur et rendez-vous sur :

http://localhost:3000

Scripts disponibles

Commande Description
npm run dev Serveur de développement en cours de démarrage
npm run build Créer une version de production
npm run start Démarrer le serveur de production
npm run lint Exécutez ESLint
format d'exécution npm Formatez le code avec Prettier
npm run type-check Exécuter les vérifications TypeScript

Passage à une véritable API

Si vous souhaitez connecter le projet à une véritable API backend, suivez ces étapes.

Étape 1 : Désactiver l’API simulée

Modifier le .envfichier :

NEXT_PUBLIC_USE_MOCK_API=false

Étape 2 : Définir l’URL de base de l’API

NEXT_PUBLIC_API_BASE_URL=https://your-api-server.com

Étape 3 : Faire correspondre les types de données

Assurez-vous que votre API backend renvoie des données correspondant aux définitions TypeScript dans :

src/types/index.ts

Aucune modification de code supplémentaire n'est requise.

Personnalisation du contenu

Le contenu fictif peut être modifié à l'intérieur :

src/mocks/posts.ts 
src/mocks/categories.ts 
src/mocks/authors.ts 

Cela permet aux développeurs de personnaliser rapidement le contenu de démonstration.

Personnalisation du thème et de l'interface utilisateur

Le style global se trouve dans :

src/app/globals.css

Le projet utilise les polices suivantes :

  • DM Sans

  • JetBrains Mono

Vous pouvez modifier les styles ou remplacer les polices en fonction de vos besoins de conception.

Conclusion

NextJS Base Blog est un modèle de base puissant et moderne pour créer un blog avec Next.js.

Les principaux avantages du projet sont les suivants :

  • pile technologique moderne

  • architecture propre

  • API factice pour le développement

  • Intégration facile avec les API backend réelles

  • Interface utilisateur réactive et fonctionnalités modernes

Si vous développez un blog, un site web pour développeurs ou une plateforme de contenu avec Next.js, ce dépôt peut vous faire gagner un temps de développement considérable.

Explorez le code source ici : https://github.com/bfotool/nextjs-base-blog