Skip to content
Learni
Voir tous les tutoriels
Développement

Comment créer un plan de formation en 2026

12 minBEGINNER
Read in English

Introduction

Un plan de formation structuré est essentiel pour tout développeur souhaitant progresser efficacement. En 2026, combiner théorie et pratique via du code permet un suivi précis des acquis. Ce tutoriel vous montre comment concevoir un système simple mais complet pour gérer des parcours d'apprentissage.

Prérequis

  • Node.js 20+
  • Connaissances de base en TypeScript
  • Un éditeur comme VS Code

Initialiser le projet

terminal
mkdir plan-formation
cd plan-formation
npm init -y
npm install typescript @types/node
npx tsc --init

Cette commande crée le dossier du projet et installe TypeScript pour typer notre plan de formation. Le fichier tsconfig.json généré permet une compilation stricte adaptée aux débutants.

Définir les types

src/types.ts
export interface Module {
  id: number;
  titre: string;
  duree: number;
  complete: boolean;
}

export interface PlanFormation {
  id: number;
  nom: string;
  modules: Module[];
}

Ces interfaces TypeScript définissent la structure d'un plan de formation. Elles garantissent la cohérence des données et facilitent la maintenance du code.

Créer les données initiales

src/data.ts
import { PlanFormation } from './types';

export const planInitial: PlanFormation = {
  id: 1,
  nom: "Débutant TypeScript",
  modules: [
    { id: 1, titre: "Bases du langage", duree: 4, complete: false },
    { id: 2, titre: "Types et interfaces", duree: 3, complete: false },
    { id: 3, titre: "Fonctions avancées", duree: 5, complete: false }
  ]
};

Ce fichier contient un exemple concret de plan de formation. Il est prêt à l'emploi et peut être importé dans n'importe quelle application.

Fonction de progression

src/progression.ts
import { PlanFormation } from './types';

export function calculerProgression(plan: PlanFormation): number {
  const total = plan.modules.length;
  const completes = plan.modules.filter(m => m.complete).length;
  return total > 0 ? Math.round((completes / total) * 100) : 0;
}

export function marquerComplete(plan: PlanFormation, moduleId: number): PlanFormation {
  return {
    ...plan,
    modules: plan.modules.map(m =>
      m.id === moduleId ? { ...m, complete: true } : m
    )
  };
}

Ces fonctions calculent le pourcentage de progression et marquent un module comme terminé. Elles sont pures et facilement testables.

Script principal

src/index.ts
import { planInitial } from './data';
import { calculerProgression, marquerComplete } from './progression';

let monPlan = planInitial;
console.log("Progression initiale:", calculerProgression(monPlan), "%");
monPlan = marquerComplete(monPlan, 1);
console.log("Progression après module 1:", calculerProgression(monPlan), "%");

Ce script exécutable démontre l'utilisation complète du plan de formation. Exécutez-le avec ts-node pour voir les résultats en direct.

Bonnes pratiques

  • Toujours typer les données avec des interfaces
  • Séparer les responsabilités (types, données, logique)
  • Ajouter des tests unitaires pour les fonctions de calcul
  • Versionner les plans de formation
  • Rendre le système extensible pour de nouveaux modules

Erreurs courantes

  • Oublier de mettre à jour l'objet après modification
  • Ne pas gérer les cas de liste vide
  • Utiliser des any au lieu de types stricts
  • Ignorer la validation des identifiants de modules

Pour aller plus loin

Découvrez nos formations Learni pour approfondir la création d'applications de suivi de formation.