[
  {
    "id": "c001",
    "title": "Initiation Arduino — Débutant",
    "slug": "initiation-arduino-debutant",
    "category": "Arduino",
    "level": "Débutant",
    "duration_hours": 24,
    "price_eur": 129,
    "rating": 4.7,
    "tags": ["arduino","capteurs","programmation"],
    "short": "Bases d’Arduino et des capteurs.",
    "description": "Apprenez à utiliser Arduino, lire des capteurs et commander des actionneurs. Exercices adaptés au climat tropical (corrosion, humidité).",
    "seats": 20,
    "start_date": "2026-03-10",
    "language": "Français",
    "instructor": "A. Bernard"
  },
  {
    "id": "c002",
    "title": "Arduino Intermédiaire — Réseaux et LoRa",
    "slug": "arduino-intermediaire-lora",
    "category": "Arduino",
    "level": "Intermédiaire",
    "duration_hours": 28,
    "price_eur": 159,
    "rating": 4.6,
    "tags": ["lora","iot","capteurs"],
    "short": "Communication longue portée pour IoT insulaire.",
    "description": "Configurez des liaisons LoRa, optimisez l’énergie et la robustesse des boîtiers.",
    "seats": 16,
    "start_date": "2026-03-17",
    "language": "Français",
    "instructor": "J. Dubois"
  },
  {
    "id": "c003",
    "title": "Python pour la Robotique — Débutant",
    "slug": "python-robotique-debutant",
    "category": "Python",
    "level": "Débutant",
    "duration_hours": 20,
    "price_eur": 119,
    "rating": 4.5,
    "tags": ["python","bases","algorithmes"],
    "short": "Python appliqué à la robotique.",
    "description": "Structures de données, acquisition de capteurs, scripts pour microcontrôleurs.",
    "seats": 18,
    "start_date": "2026-03-05",
    "language": "Français",
    "instructor": "S. Martin"
  },
  {
    "id": "c004",
    "title": "Python Avancé — IA embarquée",
    "slug": "python-avance-ia-embarquee",
    "category": "Python",
    "level": "Avancé",
    "duration_hours": 30,
    "price_eur": 189,
    "rating": 4.8,
    "tags": ["ia","edge","optimisation"],
    "short": "Déployer des modèles légers en bord de réseau.",
    "description": "Quantification, pruning, et déploiement sur MCU à faible consommation.",
    "seats": 14,
    "start_date": "2026-04-02",
    "language": "Français",
    "instructor": "S. Martin"
  },
  {
    "id": "c005",
    "title": "Robotique Marine — Introduction",
    "slug": "robotique-marine-intro",
    "category": "Marine",
    "level": "Intermédiaire",
    "duration_hours": 26,
    "price_eur": 199,
    "rating": 4.7,
    "tags": ["mer","capteurs","etancheite"],
    "short": "Fondamentaux de la robotique en milieu salin.",
    "description": "Étanchéité, corrosion, capteurs salins, sécurité et bonnes pratiques insulaires.",
    "seats": 12,
    "start_date": "2026-03-20",
    "language": "Français",
    "instructor": "M. Lefèvre"
  },
  {
    "id": "c006",
    "title": "ROS2 — Premiers pas",
    "slug": "ros2-premiers-pas",
    "category": "ROS",
    "level": "Intermédiaire",
    "duration_hours": 24,
    "price_eur": 179,
    "rating": 4.6,
    "tags": ["ros2","noeuds","topics"],
    "short": "Architecture logicielle robotique avec ROS2.",
    "description": "Noeuds, topics, services, et bonnes pratiques de débogage.",
    "seats": 15,
    "start_date": "2026-03-28",
    "language": "Français",
    "instructor": "A. Bernard"
  },
  {
    "id": "c007",
    "title": "ROS2 — Navigation",
    "slug": "ros2-navigation",
    "category": "ROS",
    "level": "Avancé",
    "duration_hours": 32,
    "price_eur": 229,
    "rating": 4.7,
    "tags": ["ros2","slam","navigation"],
    "short": "Cartographie et navigation autonome.",
    "description": "SLAM, planification de trajectoires et gestion des capteurs.",
    "seats": 10,
    "start_date": "2026-04-10",
    "language": "Français",
    "instructor": "A. Bernard"
  },
  {
    "id": "c008",
    "title": "Drones — Sécurité et pilotage",
    "slug": "drones-securite-pilotage",
    "category": "Drones",
    "level": "Débutant",
    "duration_hours": 18,
    "price_eur": 149,
    "rating": 4.4,
    "tags": ["drones","securite","pilotage"],
    "short": "Bases du pilotage et sécurité insulaire.",
    "description": "Règles de sécurité, préparation et maintenance en climat tropical.",
    "seats": 16,
    "start_date": "2026-03-12",
    "language": "Français",
    "instructor": "J. Dubois"
  },
  {
    "id": "c009",
    "title": "Vision — Traitement d’images",
    "slug": "vision-traitement-images",
    "category": "Vision",
    "level": "Intermédiaire",
    "duration_hours": 22,
    "price_eur": 169,
    "rating": 4.5,
    "tags": ["vision","images","opencv"],
    "short": "Acquisition et traitement d’images.",
    "description": "Filtres, détection d’objets, calibrage sans caméra dédiée dans le cours (approche textuelle).",
    "seats": 18,
    "start_date": "2026-03-25",
    "language": "Français",
    "instructor": "S. Martin"
  },
  {
    "id": "c010",
    "title": "Micro:bit — Robotique ludique",
    "slug": "microbit-robotique-ludique",
    "category": "Micro:bit",
    "level": "Débutant",
    "duration_hours": 16,
    "price_eur": 99,
    "rating": 4.3,
    "tags": ["microbit","education","capteurs"],
    "short": "Premiers robots éducatifs sans image.",
    "description": "Programmation par blocs et scripts simples pour capteurs.",
    "seats": 22,
    "start_date": "2026-03-08",
    "language": "Français",
    "instructor": "A. Bernard"
  },
  {
    "id": "c011",
    "title": "LEGO SPIKE — Projets",
    "slug": "lego-spike-projets",
    "category": "LEGO",
    "level": "Intermédiaire",
    "duration_hours": 20,
    "price_eur": 129,
    "rating": 4.4,
    "tags": ["lego","education","moteurs"],
    "short": "Conception et itération rapide.",
    "description": "Structures mécaniques robustes et capteurs simples.",
    "seats": 18,
    "start_date": "2026-03-18",
    "language": "Français",
    "instructor": "J. Dubois"
  },
  {
    "id": "c012",
    "title": "Énergie Solaire pour Robots",
    "slug": "energie-solaire-robots",
    "category": "Énergie",
    "level": "Intermédiaire",
    "duration_hours": 24,
    "price_eur": 179,
    "rating": 4.6,
    "tags": ["solaire","energie","autonomie"],
    "short": "Alimentation durable en climat ensoleillé.",
    "description": "Dimensionnement, stockage, protection contre la corrosion.",
    "seats": 14,
    "start_date": "2026-04-01",
    "language": "Français",
    "instructor": "M. Lefèvre"
  },
  {
    "id": "c013",
    "title": "Impression 3D — Pièces robotiques",
    "slug": "impression-3d-pieces-robotiques",
    "category": "Fabrication",
    "level": "Débutant",
    "duration_hours": 18,
    "price_eur": 119,
    "rating": 4.2,
    "tags": ["impression3d","proto","mecanique"],
    "short": "Prototypage et matériaux résistants.",
    "description": "Choix des matériaux, tolérances, finitions pour air marin.",
    "seats": 20,
    "start_date": "2026-03-22",
    "language": "Français",
    "instructor": "J. Dubois"
  },
  {
    "id": "c014",
    "title": "Autonomie — Voiture suiveuse de ligne",
    "slug": "autonomie-voiture-ligne",
    "category": "Autonomie",
    "level": "Intermédiaire",
    "duration_hours": 20,
    "price_eur": 159,
    "rating": 4.5,
    "tags": ["autonomie","lignes","controle"],
    "short": "Contrôle et capteurs pour suivi de ligne.",
    "description": "PID, calibration et robustesse sur surfaces chaudes/humides.",
    "seats": 16,
    "start_date": "2026-03-30",
    "language": "Français",
    "instructor": "A. Bernard"
  },
  {
    "id": "c015",
    "title": "Sécurité — Électronique tropicale",
    "slug": "securite-electronique-tropicale",
    "category": "Sécurité",
    "level": "Intermédiaire",
    "duration_hours": 14,
    "price_eur": 109,
    "rating": 4.3,
    "tags": ["securite","tropical","maintenance"],
    "short": "Bonnes pratiques matérielles.",
    "description": "Protection, ventilation, vernis de tropicalisation, maintenance.",
    "seats": 22,
    "start_date": "2026-03-16",
    "language": "Français",
    "instructor": "M. Lefèvre"
  },
  {
    "id": "c016",
    "title": "Robot sous-marin — Navigation de base",
    "slug": "robot-sous-marin-navigation",
    "category": "Marine",
    "level": "Avancé",
    "duration_hours": 30,
    "price_eur": 239,
    "rating": 4.7,
    "tags": ["sousmarin","navigation","controle"],
    "short": "Contrôle et navigation en milieu salin.",
    "description": "Flottabilité, capteurs de profondeur et trajectoires.",
    "seats": 10,
    "start_date": "2026-04-12",
    "language": "Français",
    "instructor": "M. Lefèvre"
  },
  {
    "id": "c017",
    "title": "Comms — Réseaux bas débit insulaires",
    "slug": "comms-reseaux-bas-debit",
    "category": "Réseaux",
    "level": "Intermédiaire",
    "duration_hours": 16,
    "price_eur": 129,
    "rating": 4.4,
    "tags": ["reseaux","basdebit","iota"],
    "short": "Stratégies de communication robustes.",
    "description": "MQTT, LoRa, reprises sur pertes et buffers.",
    "seats": 16,
    "start_date": "2026-03-26",
    "language": "Français",
    "instructor": "J. Dubois"
  },
  {
    "id": "c018",
    "title": "Électronique — Capteurs avancés",
    "slug": "electronique-capteurs-avances",
    "category": "Électronique",
    "level": "Avancé",
    "duration_hours": 28,
    "price_eur": 199,
    "rating": 4.6,
    "tags": ["capteurs","etalonnage","precision"],
    "short": "Mesures précises et étalonnage.",
    "description": "Filtres numériques, bruit, compensation thermique.",
    "seats": 12,
    "start_date": "2026-04-05",
    "language": "Français",
    "instructor": "S. Martin"
  },
  {
    "id": "c019",
    "title": "IA — Vision embarquée",
    "slug": "ia-vision-embarquee",
    "category": "IA",
    "level": "Intermédiaire",
    "duration_hours": 24,
    "price_eur": 189,
    "rating": 4.5,
    "tags": ["ia","vision","edge"],
    "short": "Modèles compacts pour vision.",
    "description": "Détection d’objets et suivi, contraintes énergétiques.",
    "seats": 14,
    "start_date": "2026-04-08",
    "language": "Français",
    "instructor": "S. Martin"
  },
  {
    "id": "c020",
    "title": "Maintenance — Diagnostic robot",
    "slug": "maintenance-diagnostic-robot",
    "category": "Maintenance",
    "level": "Débutant",
    "duration_hours": 12,
    "price_eur": 89,
    "rating": 4.1,
    "tags": ["maintenance","diagnostic","outils"],
    "short": "Troubleshooting méthodique.",
    "description": "Mesures, journaux et remplacement de modules.",
    "seats": 24,
    "start_date": "2026-03-06",
    "language": "Français",
    "instructor": "J. Dubois"
  },
  {
    "id": "c021",
    "title": "Contrôle — PID et au-delà",
    "slug": "controle-pid-et-au-dela",
    "category": "Contrôle",
    "level": "Intermédiaire",
    "duration_hours": 20,
    "price_eur": 159,
    "rating": 4.5,
    "tags": ["controle","pid","stabilite"],
    "short": "Régulateurs classiques et robustesse.",
    "description": "PID, anti-windup, identification simple de systèmes.",
    "seats": 16,
    "start_date": "2026-04-03",
    "language": "Français",
    "instructor": "A. Bernard"
  }
]