{
  "schema_version": 2,
  "slug": "frameworks",
  "label": "Frameworks et bibliothèques",
  "category": "technique",
  "description": "Le nombre d’étoiles GitHub est informatif, jamais décisif : c’est une mesure de mode, pas de qualité.",
  "criteria": [
    {
      "key": "richesse_ecosysteme",
      "label": "Richesse de l’écosystème",
      "type": "enum",
      "values": [
        "naissant",
        "correct",
        "riche",
        "très riche"
      ],
      "order": [
        "naissant",
        "correct",
        "riche",
        "très riche"
      ],
      "weight": 3,
      "facet": true,
      "role": "decisive",
      "group": "Adoption"
    },
    {
      "key": "stabilite_api",
      "label": "Stabilité des versions",
      "type": "enum",
      "values": [
        "ruptures fréquentes",
        "ruptures occasionnelles",
        "très stable"
      ],
      "order": [
        "ruptures fréquentes",
        "ruptures occasionnelles",
        "très stable"
      ],
      "weight": 3,
      "facet": true,
      "role": "decisive",
      "group": "Adoption"
    },
    {
      "key": "qualite_documentation",
      "label": "Documentation",
      "type": "enum",
      "values": [
        "lacunaire",
        "correcte",
        "bonne",
        "excellente"
      ],
      "order": [
        "lacunaire",
        "correcte",
        "bonne",
        "excellente"
      ],
      "weight": 3,
      "facet": true,
      "role": "decisive",
      "group": "Adoption"
    },
    {
      "key": "taille_bundle",
      "label": "Poids embarqué",
      "type": "number",
      "unit": "Ko",
      "better": "lower",
      "weight": 2,
      "facet": true,
      "role": "decisive",
      "group": "Technique"
    },
    {
      "key": "typage_typescript",
      "label": "Support TypeScript",
      "type": "enum",
      "values": [
        "aucun",
        "via types externes",
        "natif"
      ],
      "order": [
        "aucun",
        "via types externes",
        "natif"
      ],
      "weight": 2,
      "facet": true,
      "role": "decisive",
      "group": "Technique"
    },
    {
      "key": "rendu_serveur",
      "label": "Rendu côté serveur",
      "type": "bool",
      "weight": 2,
      "facet": true,
      "role": "decisive",
      "group": "Technique"
    },
    {
      "key": "performance",
      "label": "Performance",
      "type": "enum",
      "values": [
        "faible",
        "correcte",
        "bonne",
        "excellente"
      ],
      "order": [
        "faible",
        "correcte",
        "bonne",
        "excellente"
      ],
      "weight": 2,
      "facet": true,
      "role": "decisive",
      "group": "Technique"
    },
    {
      "key": "dependances",
      "label": "Dépendances directes",
      "type": "number",
      "unit": null,
      "better": "lower",
      "weight": 1,
      "facet": true,
      "role": "decisive",
      "group": "Technique"
    },
    {
      "key": "gouvernance",
      "label": "Gouvernance",
      "type": "enum",
      "values": [
        "un seul mainteneur",
        "entreprise unique",
        "fondation ou collectif"
      ],
      "order": [
        "un seul mainteneur",
        "entreprise unique",
        "fondation ou collectif"
      ],
      "weight": 2,
      "facet": true,
      "role": "decisive",
      "group": "Pérennité"
    },
    {
      "key": "frequence_publication",
      "label": "Publications par an",
      "type": "number",
      "unit": null,
      "better": "higher",
      "weight": 1,
      "facet": true,
      "role": "decisive",
      "group": "Pérennité"
    },
    {
      "key": "licence",
      "label": "Licence",
      "type": "text",
      "weight": 0,
      "facet": false,
      "role": "informative",
      "group": "Pérennité"
    },
    {
      "key": "etoiles_github",
      "label": "Étoiles GitHub",
      "type": "number",
      "unit": null,
      "better": null,
      "weight": 0,
      "facet": true,
      "role": "informative",
      "description": "Mesure de visibilité, pas de qualité : jamais comptée dans le score",
      "group": "Popularité (contexte)"
    },
    {
      "key": "telechargements_mois",
      "label": "Téléchargements par mois",
      "type": "number",
      "unit": null,
      "better": null,
      "weight": 0,
      "facet": true,
      "role": "informative",
      "group": "Popularité (contexte)"
    },
    {
      "key": "derniere_version",
      "label": "Dernière version",
      "type": "date",
      "weight": 0,
      "facet": false,
      "role": "informative",
      "group": "Popularité (contexte)"
    },
    {
      "key": "fiche",
      "label": "Site officiel",
      "type": "url",
      "weight": 0,
      "facet": false,
      "role": "informative",
      "group": "Références"
    },
    {
      "key": "verdict",
      "label": "Verdict",
      "type": "text",
      "weight": 0,
      "facet": false,
      "role": "informative",
      "group": "Références"
    }
  ]
}
