Ces mesures décrivent les sources du projet utilisées pour construire cette documentation. Elles sont générées à chaque publication, plutôt que maintenues à la main dans un README. Les comptes indiquent la taille du projet et le périmètre couvert ; ils ne mesurent pas la qualité du code et ne prouvent pas que les tests passent.
Mesures générées#
| Mesure | Projet |
|---|---|
| Lignes physiques de source | 227 044 |
| Lignes non vides | 215 848 |
| Fichiers source | 712 |
| Crates | 8 |
| Pages publiées par langue | 116 |
| Fichiers Markdown de documentation | 283 |
| Commits du projet | + de 200 commits |
Les lignes physiques incluent les commentaires et les lignes vides. Les sources de test et les exemples restent distingués du code de production.
Le nombre de commits couvre les ancêtres accessibles depuis la révision HEAD de cette publication, merges compris, sans compter les autres branches non fusionnées. Le seuil arrondi n’est publié que lorsque l’historique Git local est complet ; un historique partiel ou absent laisse le total indisponible. Aucun historique n’est récupéré sur le réseau pendant ce calcul.
| Crate | Production | Tests | Exemples | Total |
|---|---|---|---|---|
| aede-accounts | 782 | 416 | 0 | 1 198 |
| aede-audio | 1 190 | 1 166 | 0 | 2 356 |
| aede-cli | 37 469 | 47 102 | 0 | 84 571 |
| aede-core | 42 509 | 35 214 | 461 | 78 184 |
| aede-devices | 4 054 | 2 558 | 0 | 6 612 |
| aede-dsp | 1 622 | 1 987 | 575 | 4 184 |
| aede-moods | 778 | 213 | 0 | 991 |
| aede-server | 21 740 | 21 089 | 0 | 42 829 |
| Langage | Fichiers | Lignes physiques |
|---|---|---|
| C | 2 | 100 |
| CSS | 2 | 452 |
| HTML | 1 | 229 |
| JavaScript | 5 | 531 |
| Python | 20 | 4 966 |
| Rust | 677 | 219 839 |
| SQL | 1 | 623 |
| Shell | 4 | 304 |
+ de 2 300 TU actifs
Ce seuil arrondi provient des tests enregistrés dans les exécutables Cargo de bibliothèque et de binaire, après exclusion des tests ignorés. Les tests d’intégration, doctests et tests des outils Python sont distincts. Le comptage n’exécute aucun corps de test et ne prouve pas leur réussite.
Inventaire TU : x86_64-unknown-linux-gnu, fonctionnalités par défaut; collecté le 2026-10-22T06:58:15+00:00.
Mesures des sources générées le 2026-10-22T06:58:15+00:00.
Révision de référence : 2ecadf767129ea1710bc38d4e67db43c3d50a1cc (les sources locales sont mesurées, y compris les modifications non commitées).
Empreinte des sources mesurées : 8a5fa00e0320e718f36de7cb34f0a5aa279c0446191527fe917db2f5a262c945.
Ce qui est compté#
Les lignes de code sont des lignes physiques, commentaires et lignes vides compris, dans les fichiers source pris en charge sous crates/, tools/ et site/. Les lignes non vides sont indiquées séparément. Le tableau par crate distingue production, tests/support et exemples. Les lignes de tests comprennent les tests d’intégration et les fixtures écrites dans un langage source : cette mesure est différente de l’inventaire des tests unitaires actifs.
Les fichiers générés, caches de compilation, fichiers tiers copiés, dossiers cachés, liens symboliques, musique/images, fixtures JSON, manifests/verrous Cargo et Markdown sont exclus des lignes de code. La documentation possède ses propres comptes de fichiers/pages. Une page publiée compte une fois par langue, y compris un repli anglais explicitement signalé quand un sujet n’est pas traduit en français. Le script réutilise le catalogue du site, sans maintenir une seconde liste.
Les commits du projet sont ceux accessibles depuis la révision HEAD capturée, ses commits de fusion et ancêtres fusionnés compris, chacun compté une seule fois. Les commits d’autres branches non fusionnées sont exclus. Le chiffre public utilise le même seuil arrondi strict que les TU : un compte exact de 100 affiche « + de 90 », jamais « + de 100 ». Le JSON conserve le compte exact et la révision de référence. Les modifications non commitées influencent les mesures des sources, mais n’ajoutent aucun commit.
L’historique Git est inspecté localement, sans récupération ni autre requête réseau. Un clone avec historique incomplet est explicitement signalé comme partiel et son total de commits est indisponible ; l’absence de Git, un historique illisible ou une archive des sources sans métadonnées Git laisse aussi le total indisponible. Le workflow Site récupère l’historique complet avant de le mesurer. Pour une pull request, le HEAD utilisé peut comprendre un commit de fusion temporaire créé par la CI ; il est compté s’il appartient aux ancêtres de cette révision.
Les TU Rust actifs proviennent des exécutables compilés de tests des bibliothèques et binaires du workspace. Le script liste les tests enregistrés, soustrait les tests ignorés et publie un seuil arrondi conservateur, par exemple « + de 1 400 TU actifs ». Il ne compte pas les occurrences de #[test]. Tests d’intégration, tests d’exemples, doctests et tests des outils Python restent hors de ce compte de TU, même s’ils participent à la vérification.
L’inventaire indique la chaîne Rust, la machine cible et les fonctionnalités de compilation : les tests conditionnels peuvent différer selon le système ou la configuration. Lister un test ne l’exécute pas. Le chiffre publié de TU n’est disponible qu’avec un inventaire des sources Rust/Cargo actuelles ; un inventaire absent ou périmé ne devient pas silencieusement un compte actuel. Voir le processus de vérification et l’état courant pour les résultats de validation réellement obtenus.
Reproduire les mesures#
Depuis la racine du dépôt, Python 3.9 ou ultérieur suffit pour mesurer les sources ; Git n’est nécessaire que pour le nombre de commits. Aucune installation de paquet ni requête réseau n’est requise :
python3 tools/project-stats.py
python3 tools/project-stats.py --json
Pour inclure les TU actifs, préparez les prérequis Rust/natifs existants décrits dans le guide d’installation. Récupérez explicitement les dépendances verrouillées si elles ne sont pas déjà en cache, puis compilez/listez les exécutables de tests hors ligne :
cargo fetch --locked
python3 tools/project-stats.py --tests --output target/project-stats.json
python3 tools/build-site.py --check --project-stats target/project-stats.json
--tests n’exécute pas les corps des tests, ne joue aucun son et n’accède pas aux fichiers musicaux. Utilisez tools/check.sh pour les vérifications complètes ; il génère aussi l’inventaire et publie la documentation à partir de celui-ci. Le workflow Site génère son propre inventaire pour la compilation Linux avec fonctionnalités par défaut. Le JSON exploitable par les outils conserve les mesures exactes et leur provenance pour les contrôler ; l’affichage public des TU et commits reste arrondi. Ne committez pas les rapports générés de target/ ou dist-site/.
Pour une autre configuration, utilisez --no-default-features et/ou --features "...". Cargo respecte CARGO_TARGET_DIR s’il est défini ; un autre inventaire se réutilise avec --test-inventory PATH uniquement tant que son empreinte des sources Rust/Cargo correspond. Une publication sans --project-stats génère toujours les statistiques fraîches des sources et commits, et laisse explicitement le nombre de TU indisponible. Un inventaire fourni permet de réutiliser uniquement les données de TU ; les sources et l’historique Git sont toujours mesurés à nouveau pour la publication actuelle.