Intermédiaire·2 min·25 juin 2026

Browser Compat DB : la compatibilité web en SQLite

🎧 Résumé audio0:00 / 0:00
Convertir 66 MB de données de compatibilité navigateur en une base SQLite consultable en ligne, c'est possible — et gratuit.
Browser Compat DB : la compatibilité web en SQLite

Pourquoi ça compte pour toi

Si tu développes pour le web, tu cherches constamment « quel navigateur prend en charge cette API ? ». Au lieu de croiser MDN et CanIUse, tu peux maintenant interroger une base de données ouverte, en CORS, sans serveur backend. Pratique pour construire des outils, tester des compatibilités par lot, ou alimenter tes flux d'auto-validation.

Ce qu'il faut retenir

  • 1.66 MB de données MDN converties en SQLite, hébergées sur GitHub avec CORS ouvert
  • 2.Requêtes SQL pour trouver quelle API fonctionne où, sans appel API
  • 3.Explorable en direct via Datasette Lite, sans configuration nécessaire

Tu galères avec le jargon ?

Lis la version réécrite en mode débutant — toutes les idées, sans le jargon.

C'est quoi, en vrai ?

La source ? Les données de compatibilité navigateur de Mozilla (mdn/browser-compat-data). Des milliers de fonctionnalités web documentées : « localStorage fonctionne sur Chrome 4+, Firefox 3.5+, Safari 4+ », etc.

Simon Willison a écrit un script (généré par Claude) qui aspire tout ça et le déverse dans une base SQLite — pas de vérification manuelle, pas de traitement artisanal, juste une transformation brute.

Ensuite ? Deux défis techniques :

  1. Hébergement avec CORS : GitHub Releases n'accepte pas CORS. Solution ? Une branche orpheline (« db ») où une GitHub Actions recompile la base et la force-push. Résultat : fichier servi depuis un vrai dépôt GitHub, donc CORS par défaut.

  2. Exploration sans backend : Datasette Lite te laisse interroger la base SQLite dans le navigateur — aucun serveur requis. Requête SQL → résultat instant.

Pourquoi c'est malin ?

Si tu es dev fullstack ou DevOps, tu peux :

  • Scripter des audits : lancer une requête SQL pour lister toutes les APIs non prises en charge sur IE11 (RIP).
  • Générer des rapports : « Quelle API est supportée par le moins de navigateurs ? »
  • Alimenter un CI : avant de merger, vérifier que tes polyfills couvrent bien les cibles de support.

Si tu construis des outils, c'est une source de vérité gratuite pour enrichir ton produit sans dépendre d'une API tierce.

Les limites honnêtes

C'est une copie statique des données MDN — mise à jour le jour du déploiement, pas en temps réel. Si une nouvelle spec sort demain, tu ne l'auras que lors du prochain rebuild.

Et SQLite dans le navigateur ? C'est puissant mais pas magique : performances correctes sur 66 MB, mais sur une base 10x plus grosse, ça peut ralentir.

Prochaine étape ?

Télécharge la base, ouvre-la dans Datasette Lite, écris 2-3 requêtes SQL pour voir si ça répond à tes questions. Si tu boucles des vérifications de compatibilité souvent, ça vaut le coup d'auto-héberger la base et d'en faire une source d'autorité locale.

Et concrètement pour toi ?

Choisis ton profil — la lecture de l'article change selon qui tu es.

🔭 Curieux

Pour toi, explore Datasette Lite directement pour voir comment 66 MB d'infos chaotiques deviennent exploitables : c'est une démo vivante de ce qu'une base de données bien structurée peut faire, et ça roule entièrement dans ton navigateur.

Newsletters Noésis

3 minutes d'IA dans ta boîte mail, chaque matin.

Rejoins les francophones qui comprennent, essaient et progressent avec l'IA. Choisis ce que tu veux recevoir. Désabonnement en 1 clic.