← Tous les projets

Back-end

Base SQL des benchmarks

Schéma, vues, fonctions de fenêtrage et index, avec un bac à sable SQL dans le navigateur.

Terminé Sprint S10 · 5 points
En bref, sans jargon pour les non-informaticiensLire le résuméRefermer
Ce que c'est
Une base de données qui range des mesures de vitesse des autres projets, et qu'on interroge directement dans la page.
À quoi ça sert
Organiser des résultats pour répondre vite à des questions précises : quel programme est le plus rapide, sur quels fichiers.
Ce que ça montre
La maîtrise des bases de données, et l'habitude de mesurer avant de conclure : ces mesures ont révélé un ralentissement, corrigé ensuite.

Enseigné en L2 (bases de données)

Code source

Comment les morceaux tiennent ensemble

Schéma : Banc de mesure → CSV plat (écrit) ; CSV plat → PostgreSQL (chargé en SQL) ; PostgreSQL → Vues ; pgTAP → PostgreSQL (vérifie) ; PostgreSQL → Copie SQLite (même schéma, dialecte SQLite). écrit chargé en SQL vérifie même schéma, dialecte SQLite Banc de mesure Node, lib-c, topologie CSV plat une ligne par répétition PostgreSQL schéma, contraintes Vues fenêtres, régressions pgTAP tests dans l'image Copie SQLite sql.js, sur la fiche

Interroger la base dans le navigateur

Une copie SQLite de la base (mêmes tables, mêmes vues) tourne dans votre navigateur avec sql.js : vous pouvez tout lire, et même tout casser, la base se recharge.

Exemples :

Ctrl+Entrée (⌘+Entrée sur Mac) pour exécuter. 200 lignes affichées au plus ; une requête est arrêtée après 5 s.

Tables et vues
  • Affichées une fois la base chargée.

Technologies

  • PostgreSQL
  • SQL
  • sql.js
  • pgTAP

Qui fait quoi

PostgreSQL
Range les mesures de performance (campagnes, maillages, fichiers, durées), avec contraintes et déclencheur.
SQL
Les analyses : vues à fonctions de fenêtrage, régression log-log de la complexité, détection des régressions, index justifié par le plan d'exécution.
sql.js
SQLite compilé en WebAssembly : la même base s'interroge dans le navigateur, sur la fiche.
pgTAP
Les tests de la base : schéma, contraintes, vues et résultats attendus, en CI.

Definition of Done

  • Code relu, diff par diff
  • Tests unitaires et d'intégration verts
  • CI verte sur Linux, Windows et macOS si compilé
  • README, REVIEW.md et DECISIONS.md à jour
  • Textes en français et en anglais
  • Démo déployée et testée sur mobile