{
  "version": "2.0.0",
  "badges": [
    {
      "id": "beginner",
      "name": "Premier pas",
      "description": "Les bases sont posées, c'est parti !",
      "icon": "/content/badges/beginner.png",
      "color": "#81C784",
      "category": "progression",
      "condition": {
        "type": "slides_viewed",
        "operator": "gte",
        "value": 3
      },
      "chain": null,
      "display": {
        "hidden": false,
        "celebrationLevel": "discrete"
      },
      "active": true
    },
    {
      "id": "ontrack",
      "name": "En route",
      "description": "25% des slides consultées",
      "icon": "/content/badges/ontrack.png",
      "color": "#66BB6A",
      "category": "progression",
      "condition": {
        "type": "slides_viewed_percent",
        "operator": "gte",
        "value": 25
      },
      "chain": {
        "id": "progress_chain",
        "order": 1,
        "replacedBy": "halfway"
      },
      "display": {
        "hidden": false,
        "celebrationLevel": "discrete"
      },
      "active": true
    },
    {
      "id": "halfway",
      "name": "Mi-parcours",
      "description": "50% des slides consultées",
      "icon": "/content/badges/halfway.png",
      "color": "#4CAF50",
      "category": "progression",
      "condition": {
        "type": "slides_viewed_percent",
        "operator": "gte",
        "value": 50
      },
      "chain": {
        "id": "progress_chain",
        "order": 2,
        "replacedBy": "almost"
      },
      "display": {
        "hidden": false,
        "celebrationLevel": "discrete"
      },
      "active": true
    },
    {
      "id": "almost",
      "name": "Presque là",
      "description": "75% des slides consultées",
      "icon": "/content/badges/almost.png",
      "color": "#43A047",
      "category": "progression",
      "condition": {
        "type": "slides_viewed_percent",
        "operator": "gte",
        "value": 75
      },
      "chain": {
        "id": "progress_chain",
        "order": 3,
        "replacedBy": "completionist"
      },
      "display": {
        "hidden": false,
        "celebrationLevel": "discrete"
      },
      "active": true
    },
    {
      "id": "completionist",
      "name": "Complétionniste",
      "description": "Toutes les slides consultées !",
      "icon": "/content/badges/completionist.png",
      "color": "#2E7D32",
      "category": "progression",
      "condition": {
        "type": "slides_viewed_percent",
        "operator": "eq",
        "value": 100
      },
      "chain": {
        "id": "progress_chain",
        "order": 4,
        "replacedBy": null
      },
      "display": {
        "hidden": false,
        "celebrationLevel": "epic"
      },
      "active": true
    },
    {
      "id": "bronze",
      "name": "Médaille de Bronze",
      "description": "Score global d'au moins 50%",
      "icon": "/content/badges/bronze.png",
      "color": "#CD7F32",
      "category": "performance",
      "condition": {
        "type": "global_score_percent",
        "operator": "gte",
        "value": 50
      },
      "chain": {
        "id": "medal_chain",
        "order": 1,
        "replacedBy": "silver"
      },
      "display": {
        "hidden": false,
        "celebrationLevel": "discrete"
      },
      "active": true
    },
    {
      "id": "silver",
      "name": "Médaille d'Argent",
      "description": "Score global d'au moins 75%",
      "icon": "/content/badges/silver.png",
      "color": "#C0C0C0",
      "category": "performance",
      "condition": {
        "type": "global_score_percent",
        "operator": "gte",
        "value": 75
      },
      "chain": {
        "id": "medal_chain",
        "order": 2,
        "replacedBy": "gold"
      },
      "display": {
        "hidden": false,
        "celebrationLevel": "discrete"
      },
      "active": true
    },
    {
      "id": "gold",
      "name": "Médaille d'Or",
      "description": "Score parfait !",
      "icon": "/content/badges/gold.png",
      "color": "#FFD700",
      "category": "performance",
      "condition": {
        "type": "global_score_percent",
        "operator": "eq",
        "value": 100
      },
      "chain": {
        "id": "medal_chain",
        "order": 3,
        "replacedBy": null
      },
      "display": {
        "hidden": false,
        "celebrationLevel": "epic"
      },
      "active": true
    },
    {
      "id": "flawless",
      "name": "Sans faute",
      "description": "100% sur une activité",
      "icon": "/content/badges/flawless.png",
      "color": "#1565C0",
      "category": "performance",
      "condition": {
        "type": "single_activity_perfect"
      },
      "chain": null,
      "display": {
        "hidden": false,
        "celebrationLevel": "discrete"
      },
      "active": true
    },
    {
      "id": "perfectionist",
      "name": "Perfectionniste",
      "description": "100% sur toutes les activités",
      "icon": "/content/badges/perfectionist.png",
      "color": "#7B1FA2",
      "category": "performance",
      "condition": {
        "type": "all_activities_perfect"
      },
      "chain": null,
      "display": {
        "hidden": false,
        "celebrationLevel": "epic"
      },
      "active": true
    },
    {
      "id": "streak3",
      "name": "Bonne série",
      "description": "3 bonnes réponses d'affilée",
      "icon": "/content/badges/streak3.png",
      "color": "#FF9800",
      "category": "streak",
      "condition": {
        "type": "correct_streak",
        "operator": "gte",
        "value": 3
      },
      "chain": {
        "id": "streak_chain",
        "order": 1,
        "replacedBy": "streak5"
      },
      "display": {
        "hidden": false,
        "celebrationLevel": "discrete"
      },
      "active": true
    },
    {
      "id": "streak5",
      "name": "Série gagnante",
      "description": "5 bonnes réponses d'affilée",
      "icon": "/content/badges/streak5.png",
      "color": "#FF5722",
      "category": "streak",
      "condition": {
        "type": "correct_streak",
        "operator": "gte",
        "value": 5
      },
      "chain": {
        "id": "streak_chain",
        "order": 2,
        "replacedBy": "streak10"
      },
      "display": {
        "hidden": false,
        "celebrationLevel": "discrete"
      },
      "active": true
    },
    {
      "id": "streak10",
      "name": "Imbattable",
      "description": "10 bonnes réponses d'affilée",
      "icon": "/content/badges/streak10.png",
      "color": "#F44336",
      "category": "streak",
      "condition": {
        "type": "correct_streak",
        "operator": "gte",
        "value": 10
      },
      "chain": {
        "id": "streak_chain",
        "order": 3,
        "replacedBy": null
      },
      "display": {
        "hidden": false,
        "celebrationLevel": "epic"
      },
      "active": true
    },
    {
      "id": "lightning",
      "name": "Éclair",
      "description": "Activité terminée avec >50% du temps restant",
      "icon": "/content/badges/lightning.png",
      "color": "#FFEB3B",
      "category": "speed",
      "condition": {
        "type": "time_remaining_percent",
        "operator": "gte",
        "value": 50
      },
      "chain": {
        "id": "speed_chain",
        "order": 1,
        "replacedBy": "turbo"
      },
      "display": {
        "hidden": false,
        "celebrationLevel": "discrete"
      },
      "active": true
    },
    {
      "id": "turbo",
      "name": "Turbo",
      "description": "Activité terminée avec >75% du temps restant",
      "icon": "/content/badges/turbo.png",
      "color": "#03A9F4",
      "category": "speed",
      "condition": {
        "type": "time_remaining_percent",
        "operator": "gte",
        "value": 75
      },
      "chain": {
        "id": "speed_chain",
        "order": 2,
        "replacedBy": null
      },
      "display": {
        "hidden": false,
        "celebrationLevel": "discrete"
      },
      "active": true
    },
    {
      "id": "flash",
      "name": "Flash",
      "description": "Bonne réponse en moins de 3 secondes",
      "icon": "/content/badges/flash.png",
      "color": "#00BCD4",
      "category": "speed",
      "condition": {
        "type": "fast_correct_answer",
        "operator": "lte",
        "value": 3
      },
      "chain": null,
      "display": {
        "hidden": false,
        "celebrationLevel": "discrete"
      },
      "active": true
    },
    {
      "id": "podium",
      "name": "Podium",
      "description": "Dans le top 3 d'une activité",
      "icon": "/content/badges/podium.png",
      "color": "#9C27B0",
      "category": "ranking",
      "condition": {
        "type": "ranking_position",
        "operator": "lte",
        "value": 3
      },
      "chain": null,
      "display": {
        "hidden": false,
        "celebrationLevel": "discrete"
      },
      "active": true
    },
    {
      "id": "first",
      "name": "Premier",
      "description": "1er à terminer une activité",
      "icon": "/content/badges/first.png",
      "color": "#FFD700",
      "category": "ranking",
      "condition": {
        "type": "ranking_position",
        "operator": "eq",
        "value": 1
      },
      "chain": null,
      "display": {
        "hidden": false,
        "celebrationLevel": "discrete"
      },
      "active": true
    },
    {
      "id": "champion",
      "name": "Champion",
      "description": "1er au classement final",
      "icon": "/content/badges/champion.png",
      "color": "#4A148C",
      "category": "ranking",
      "condition": {
        "type": "ranking_final_position",
        "operator": "eq",
        "value": 1
      },
      "chain": null,
      "display": {
        "hidden": false,
        "celebrationLevel": "epic"
      },
      "active": true
    },
    {
      "id": "quiz_master",
      "name": "As du Quiz",
      "description": "Tous les quiz terminés",
      "icon": "/content/badges/quiz_master.png",
      "color": "#009688",
      "category": "activity_type",
      "condition": {
        "type": "activity_type_completed_all",
        "activityType": "quiz-mcq"
      },
      "chain": null,
      "display": {
        "hidden": false,
        "celebrationLevel": "discrete"
      },
      "active": true
    },
    {
      "id": "swipe_king",
      "name": "Roi du Swipe",
      "description": "Tous les swipes terminés",
      "icon": "/content/badges/swipe_king.png",
      "color": "#00BCD4",
      "category": "activity_type",
      "condition": {
        "type": "activity_type_completed_all",
        "activityType": "quiz-swipe"
      },
      "chain": null,
      "display": {
        "hidden": false,
        "celebrationLevel": "discrete"
      },
      "active": true
    },
    {
      "id": "drag_expert",
      "name": "Expert Drag",
      "description": "Tous les drag & drop terminés",
      "icon": "/content/badges/drag_expert.png",
      "color": "#00796B",
      "category": "activity_type",
      "condition": {
        "type": "activity_type_completed_all",
        "activityType": "quiz-dragMatch"
      },
      "chain": null,
      "display": {
        "hidden": false,
        "celebrationLevel": "discrete"
      },
      "active": true
    },
    {
      "id": "fill_guru",
      "name": "Guru des Textes",
      "description": "Tous les textes à trous terminés",
      "icon": "/content/badges/fill_guru.png",
      "color": "#0097A7",
      "category": "activity_type",
      "condition": {
        "type": "activity_type_completed_all",
        "activityType": "fill-blank"
      },
      "chain": null,
      "display": {
        "hidden": false,
        "celebrationLevel": "discrete"
      },
      "active": true
    },
    {
      "id": "explorer",
      "name": "Explorateur",
      "description": "Tous les contenus consultés",
      "icon": "/content/badges/explorer.png",
      "color": "#8D6E63",
      "category": "special",
      "condition": {
        "type": "slides_viewed_all"
      },
      "chain": null,
      "display": {
        "hidden": false,
        "celebrationLevel": "discrete"
      },
      "active": true
    },
    {
      "id": "resilient",
      "name": "Persévérant",
      "description": "A relancé une activité pour s'améliorer",
      "icon": "/content/badges/resilient.png",
      "color": "#E53935",
      "category": "special",
      "condition": {
        "type": "activity_relaunched"
      },
      "chain": null,
      "display": {
        "hidden": false,
        "celebrationLevel": "discrete"
      },
      "active": true
    },
    {
      "id": "lucky",
      "name": "Chanceux",
      "description": "Score pile de 50% (ni plus, ni moins)",
      "icon": "/content/badges/lucky.png",
      "color": "#4CAF50",
      "category": "special",
      "condition": {
        "type": "global_score_percent",
        "operator": "eq",
        "value": 50
      },
      "chain": null,
      "display": {
        "hidden": true,
        "celebrationLevel": "epic"
      },
      "active": true
    },
    {
      "id": "collector",
      "name": "Collectionneur",
      "description": "10 badges différents obtenus",
      "icon": "/content/badges/collector.png",
      "color": "#7E57C2",
      "category": "special",
      "condition": {
        "type": "badges_earned",
        "operator": "gte",
        "value": 10
      },
      "chain": null,
      "display": {
        "hidden": false,
        "celebrationLevel": "discrete"
      },
      "active": true
    },
    {
      "id": "legend",
      "name": "Légende",
      "description": "Tous les badges obtenus !",
      "icon": "/content/badges/legend.png",
      "color": "#FFD700",
      "category": "special",
      "condition": {
        "type": "all_badges_earned"
      },
      "chain": null,
      "display": {
        "hidden": true,
        "celebrationLevel": "epic"
      },
      "active": true
    },
    {
      "id": "mystery",
      "name": "???",
      "description": "Badge mystère",
      "icon": "/content/badges/mystery.png",
      "color": "#607D8B",
      "category": "special",
      "condition": {
        "type": "mystery_condition"
      },
      "chain": null,
      "display": {
        "hidden": true,
        "celebrationLevel": "epic"
      },
      "active": false
    }
  ],
  "chains": {
    "progress_chain": {
      "name": "Progression",
      "description": "Avancement dans la formation",
      "badges": [
        "ontrack",
        "halfway",
        "almost",
        "completionist"
      ]
    },
    "medal_chain": {
      "name": "Médailles",
      "description": "Progression basée sur le score global",
      "badges": [
        "bronze",
        "silver",
        "gold"
      ]
    },
    "streak_chain": {
      "name": "Séries",
      "description": "Bonnes réponses consécutives",
      "badges": [
        "streak3",
        "streak5",
        "streak10"
      ]
    },
    "speed_chain": {
      "name": "Rapidité",
      "description": "Temps de réponse",
      "badges": [
        "lightning",
        "turbo"
      ]
    }
  },
  "categories": {
    "progression": {
      "name": "Progression",
      "icon": "📈",
      "order": 1
    },
    "performance": {
      "name": "Performance",
      "icon": "🏅",
      "order": 2
    },
    "streak": {
      "name": "Séries",
      "icon": "🔥",
      "order": 3
    },
    "speed": {
      "name": "Rapidité",
      "icon": "⚡",
      "order": 4
    },
    "ranking": {
      "name": "Classement",
      "icon": "🏆",
      "order": 5
    },
    "activity_type": {
      "name": "Spécialiste",
      "icon": "🎯",
      "order": 6
    },
    "special": {
      "name": "Spéciaux",
      "icon": "✨",
      "order": 7
    }
  },
  "settings": {
    "showBadgeOnEarn": true,
    "celebrationDuration": 3000,
    "maxBadgesInFooter": 5,
    "showProgressHints": true,
    "enableHiddenBadges": true
  }
}