[
  {
    "id": 1,
    "title": "Fondamentaux de la robotique",
    "category": "Électronique",
    "level": "Débutant",
    "durationHours": 18,
    "price": 149,
    "rating": 4.7,
    "tags": ["bases", "sécurité", "capteurs"],
    "short": "Initiation: logique, capteurs, actionneurs, sécurité.",
    "description": "Un parcours clair pour partir de zéro: circuits, mesure, microcontrôleurs et méthodologie.",
    "syllabus": ["Sécurité et outillage", "Capteurs analogiques", "Actionneurs", "Lecture/écriture GPIO", "Projet guidé"],
    "prerequisites": ["Savoir utiliser un ordinateur"],
    "available": true,
    "startDates": ["2026-03-10", "2026-04-07"],
    "instructor": "A. Durand"
  },
  {
    "id": 2,
    "title": "Microcontrôleurs: prise en main",
    "category": "Microcontrôleurs",
    "level": "Débutant",
    "durationHours": 16,
    "price": 139,
    "rating": 4.6,
    "tags": ["GPIO", "UART", "I2C"],
    "short": "Programmer des cartes abordables et robustes.",
    "description": "Découverte des bus, timers, interruptions et bonnes pratiques de debug.",
    "syllabus": ["GPIO et PWM", "I2C & SPI", "Timers", "Interruptions", "Projet capteurs"],
    "prerequisites": ["Notions d’électronique conseillées"],
    "available": true,
    "startDates": ["2026-03-15", "2026-05-02"],
    "instructor": "B. Morel"
  },
  {
    "id": 3,
    "title": "Robot mobile: locomotion",
    "category": "Robot mobile",
    "level": "Intermédiaire",
    "durationHours": 20,
    "price": 189,
    "rating": 4.8,
    "tags": ["moteurs", "PID", "odométrie"],
    "short": "Base mécanique et commande pour robots mobiles.",
    "description": "Modélisation simple, choix moteurs, contrôle PID, calibration et tests.",
    "syllabus": ["Cinématique différentielle", "Choix moteurs", "PID", "Odométrie", "Projet rover"],
    "prerequisites": ["Microcontrôleurs: prise en main"],
    "available": true,
    "startDates": ["2026-04-01", "2026-06-01"],
    "instructor": "C. Bernard"
  },
  {
    "id": 4,
    "title": "Robot mobile: télémétrie & radio",
    "category": "Robot mobile",
    "level": "Intermédiaire",
    "durationHours": 18,
    "price": 179,
    "rating": 4.5,
    "tags": ["radio", "télémétrie", "réseau"],
    "short": "Communication fiable et télémétrie robuste.",
    "description": "Liaisons radio, gestion de paquets, télémétrie, résilience aux pertes.",
    "syllabus": ["Radio courte portée", "Réseau local", "Protocole simple", "Tableau de bord", "Tests"],
    "prerequisites": ["Fondamentaux de la robotique"],
    "available": true,
    "startDates": ["2026-04-10", "2026-06-10"],
    "instructor": "D. Petit"
  },
  {
    "id": 5,
    "title": "Vision embarquée (TinyML)",
    "category": "IA embarquée",
    "level": "Avancé",
    "durationHours": 24,
    "price": 249,
    "rating": 4.7,
    "tags": ["vision", "tinyml", "optimisation"],
    "short": "Reconnaissance visuelle embarquée, sans cloud.",
    "description": "Du capteur à l’inférence locale, optimisation mémoire et énergie.",
    "syllabus": ["Prétraitements", "CNN légers", "Quantification", "Déploiement MCU", "Évaluation"],
    "prerequisites": ["Robot mobile: locomotion"],
    "available": true,
    "startDates": ["2026-05-05", "2026-07-02"],
    "instructor": "E. Leroy"
  },
  {
    "id": 6,
    "title": "Audio embarqué (TinyML)",
    "category": "IA embarquée",
    "level": "Avancé",
    "durationHours": 22,
    "price": 229,
    "rating": 4.6,
    "tags": ["audio", "wake word", "DSP"],
    "short": "Détection de mots-clés et classification audio locale.",
    "description": "Chaîne DSP, MFCC, architectures légères, robustesse bruit.",
    "syllabus": ["DSP de base", "Features audio", "Modèles TinyML", "Intégration", "Tests terrain"],
    "prerequisites": ["Microcontrôleurs: prise en main"],
    "available": true,
    "startDates": ["2026-05-12", "2026-07-10"],
    "instructor": "F. Dupont"
  },
  {
    "id": 7,
    "title": "Prototypage rapide capteurs",
    "category": "Électronique",
    "level": "Intermédiaire",
    "durationHours": 14,
    "price": 129,
    "rating": 4.5,
    "tags": ["capteurs", "prototypage"],
    "short": "Intégrer rapidement des capteurs pour des POC.",
    "description": "Choix composants, calibrations, fiabilité en milieu réel.",
    "syllabus": ["Sélection capteurs", "Bus & drivers", "Calibration", "Intégration", "POC guidé"],
    "prerequisites": ["Fondamentaux de la robotique"],
    "available": true,
    "startDates": ["2026-04-20", "2026-06-15"],
    "instructor": "G. Fontaine"
  },
  {
    "id": 8,
    "title": "Automatisation locale",
    "category": "Automatisation",
    "level": "Intermédiaire",
    "durationHours": 18,
    "price": 179,
    "rating": 4.6,
    "tags": ["automates", "protocoles"],
    "short": "Automatisation fiable sans dépendance cloud.",
    "description": "Automates, relais, scénarios, sécurité et tests.",
    "syllabus": ["Automates légers", "Protocoles", "Scénarios", "Sécurité", "Projet"],
    "prerequisites": ["Fondamentaux de la robotique"],
    "available": true,
    "startDates": ["2026-04-25", "2026-06-20"],
    "instructor": "H. Marchand"
  },
  {
    "id": 9,
    "title": "Énergie & autonomie",
    "category": "Électronique",
    "level": "Intermédiaire",
    "durationHours": 16,
    "price": 159,
    "rating": 4.4,
    "tags": ["batteries", "power"],
    "short": "Gestion de l’énergie pour systèmes mobiles.",
    "description": "Choix batteries, régulateurs, autonomie et sécurité.",
    "syllabus": ["Sources & batteries", "Régulation", "Mesure", "Optimisation", "Sécurité"],
    "prerequisites": ["Fondamentaux de la robotique"],
    "available": true,
    "startDates": ["2026-05-08", "2026-07-05"],
    "instructor": "I. Dumas"
  },
  {
    "id": 10,
    "title": "Réseaux locaux pour robots",
    "category": "Robot mobile",
    "level": "Intermédiaire",
    "durationHours": 14,
    "price": 149,
    "rating": 4.3,
    "tags": ["réseau", "mqtt"],
    "short": "Concevoir un réseau local robuste et sobre.",
    "description": "MQTT, topologies simples, diagnostics et latence.",
    "syllabus": ["Bases IP", "MQTT", "Topologies locales", "Diagnostics", "Lab final"],
    "prerequisites": ["Microcontrôleurs: prise en main"],
    "available": true,
    "startDates": ["2026-05-18", "2026-07-12"],
    "instructor": "J. Noel"
  },
  {
    "id": 11,
    "title": "Sécurité des systèmes embarqués",
    "category": "Électronique",
    "level": "Avancé",
    "durationHours": 20,
    "price": 219,
    "rating": 4.6,
    "tags": ["sécurité", "embarqué"],
    "short": "Pratiques essentielles de sécurité matérielle et logicielle.",
    "description": "Menaces courantes, durcissement, mises à jour et tests.",
    "syllabus": ["Menaces", "Chiffrement léger", "Boot sécurisé", "MàJ", "Audit"],
    "prerequisites": ["Microcontrôleurs: prise en main"],
    "available": true,
    "startDates": ["2026-06-01", "2026-07-25"],
    "instructor": "K. Blanchard"
  },
  {
    "id": 12,
    "title": "Robot manipulateur (bras)",
    "category": "Robot mobile",
    "level": "Avancé",
    "durationHours": 26,
    "price": 269,
    "rating": 4.7,
    "tags": ["bras", "cinématique"],
    "short": "Cinématique et contrôle d’un bras robotique léger.",
    "description": "Cinématique directe/inverse, trajectoires, commandes.",
    "syllabus": ["Cinématique", "Trajectoires", "Commande", "Sécurité", "Projet final"],
    "prerequisites": ["Robot mobile: locomotion"],
    "available": true,
    "startDates": ["2026-06-10", "2026-08-01"],
    "instructor": "L. Caron"
  },
  {
    "id": 13,
    "title": "Maintenance & diagnostic",
    "category": "Automatisation",
    "level": "Intermédiaire",
    "durationHours": 12,
    "price": 119,
    "rating": 4.2,
    "tags": ["maintenance", "diagnostic"],
    "short": "Troubleshooting et bonnes pratiques de maintenance.",
    "description": "Procédures, outillage, journalisation locale, MTBF.",
    "syllabus": ["Procédures", "Outils", "Logs", "Études de cas", "Checklists"],
    "prerequisites": ["Fondamentaux de la robotique"],
    "available": true,
    "startDates": ["2026-05-28", "2026-07-22"],
    "instructor": "M. Renault"
  },
  {
    "id": 14,
    "title": "Intégration de capteurs avancés",
    "category": "Électronique",
    "level": "Avancé",
    "durationHours": 18,
    "price": 199,
    "rating": 4.5,
    "tags": ["lidar", "imu"],
    "short": "Intégrer LIDAR/IMU dans des systèmes compacts.",
    "description": "Choix, drivers, synchronisation et filtres.",
    "syllabus": ["LIDAR", "IMU", "Fusion", "Synchronisation", "Validation"],
    "prerequisites": ["Prototypage rapide capteurs"],
    "available": true,
    "startDates": ["2026-06-18", "2026-08-10"],
    "instructor": "N. Martel"
  },
  {
    "id": 15,
    "title": "Planification de mission",
    "category": "Robot mobile",
    "level": "Avancé",
    "durationHours": 22,
    "price": 239,
    "rating": 4.4,
    "tags": ["path planning", "cartographie"],
    "short": "Planification de trajectoires et cartographie légère.",
    "description": "Graphes, A*, RRT, cartes locales et contraintes.",
    "syllabus": ["Graphes", "A*", "RRT", "Cartes", "Tests terrain"],
    "prerequisites": ["Robot mobile: locomotion"],
    "available": true,
    "startDates": ["2026-07-05", "2026-08-20"],
    "instructor": "O. Leblanc"
  },
  {
    "id": 16,
    "title": "Programmation temps réel",
    "category": "Microcontrôleurs",
    "level": "Avancé",
    "durationHours": 20,
    "price": 219,
    "rating": 4.5,
    "tags": ["RTOS", "temps réel"],
    "short": "Concevoir des systèmes temps réel robustes.",
    "description": "RTOS, tâches, synchronisation, timers, priorités.",
    "syllabus": ["Bases RT", "RTOS", "Synchronisation", "Timers", "Projet"],
    "prerequisites": ["Microcontrôleurs: prise en main"],
    "available": true,
    "startDates": ["2026-07-12", "2026-09-01"],
    "instructor": "P. Leclerc"
  },
  {
    "id": 17,
    "title": "Conception low-power",
    "category": "Électronique",
    "level": "Intermédiaire",
    "durationHours": 14,
    "price": 149,
    "rating": 4.3,
    "tags": ["énergie", "optimisation"],
    "short": "Allonger l’autonomie des systèmes embarqués.",
    "description": "Mesure consommation, modes veille, compromis.",
    "syllabus": ["Mesures", "Veille", "Horloges", "Optimisation", "Étude cas"],
    "prerequisites": ["Énergie & autonomie"],
    "available": true,
    "startDates": ["2026-07-18", "2026-09-10"],
    "instructor": "Q. Girard"
  },
  {
    "id": 18,
    "title": "Systèmes multi-robots",
    "category": "Robot mobile",
    "level": "Avancé",
    "durationHours": 24,
    "price": 259,
    "rating": 4.6,
    "tags": ["swarm", "coordination"],
    "short": "Coordination et collaboration de robots.",
    "description": "Protocoles, tâches distribuées, robustesse et sécurité.",
    "syllabus": ["Topologies", "Consensus", "Répartition", "Sécurité", "Projet final"],
    "prerequisites": ["Réseaux locaux pour robots"],
    "available": true,
    "startDates": ["2026-08-01", "2026-09-20"],
    "instructor": "R. Fabre"
  },
  {
    "id": 19,
    "title": "Atelier projets réels",
    "category": "Automatisation",
    "level": "Intermédiaire",
    "durationHours": 28,
    "price": 269,
    "rating": 4.7,
    "tags": ["atelier", "projets"],
    "short": "Concevoir un prototype robuste de A à Z.",
    "description": "Cahier des charges, itérations, tests terrain, documentation.",
    "syllabus": ["Cahier des charges", "Itérations", "Tests", "Docs", "Soutenance"],
    "prerequisites": ["Fondamentaux de la robotique"],
    "available": true,
    "startDates": ["2026-08-15", "2026-10-01"],
    "instructor": "S. Gauthier"
  },
  {
    "id": 20,
    "title": "STEM pour éducateurs",
    "category": "Électronique",
    "level": "Débutant",
    "durationHours": 16,
    "price": 129,
    "rating": 4.5,
    "tags": ["pédagogie", "stem"],
    "short": "Mettre en place des ateliers STEM inclusifs.",
    "description": "Structurer des activités, sécurité, évaluation et motivation.",
    "syllabus": ["Activités", "Sécurité", "Matériel", "Évaluation", "Feedback"],
    "prerequisites": ["Motivation et curiosité"],
    "available": true,
    "startDates": ["2026-09-05", "2026-10-20"],
    "instructor": "T. Julien"
  },
  {
    "id": 21,
    "title": "Communication série avancée",
    "category": "Microcontrôleurs",
    "level": "Intermédiaire",
    "durationHours": 12,
    "price": 139,
    "rating": 4.2,
    "tags": ["UART", "SPI", "I2C"],
    "short": "Optimiser les bus série en contexte embarqué.",
    "description": "Débits, buffers, erreurs, robustesse et tests.",
    "syllabus": ["UART avancé", "SPI optimisé", "I2C robuste", "CRC", "Mesures"],
    "prerequisites": ["Microcontrôleurs: prise en main"],
    "available": true,
    "startDates": ["2026-09-10", "2026-11-01"],
    "instructor": "U. Riviere"
  }
]