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 :
- ▸
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.
- ▸
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.
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.
Essayer maintenant
Explorer la base avec Datasette Lite →Source
Pour aller plus loin
Cet article t'a donné envie d'approfondir ? Deux formations Noésis t'attendent :