IngénierieUn seul dépôt pour tout ce que nous construisons.

Tous les produits, sites web, bibliothèques et outils NoirSystems vivent dans un seul monorepo : un seul clone, une seule chaîne d’outils, une seule CI. Cette page présente ce dépôt, chiffres à l’appui.

Le dépôt
en chiffres

Décompte effectué dans le dépôt le 17 octobre 2026. Les lignes sont les lignes non vides de code source, sans les fichiers de verrouillage, les artefacts de build, le code tiers embarqué ni le code généré.

0

projets

0

langages de programmation

0

commits

0

fichiers

0+

lignes de code

Le dépôt
comme une ville

Chaque projet est un bâtiment : sa hauteur correspond à ses lignes de code, sa couleur au langage dans lequel il est surtout écrit. Les cinq répertoires en sont les quartiers.

Pointez un bâtiment pour voir de quoi il s’agit.

Tous les projets, par lignes de code
ProjetRépertoireLangage principalLignes de code
flokzyproducts/TypeScript181 690
crypto-ideproducts/TypeScript127 421
drukkoproducts/TypeScript105 721
lavenderproducts/TypeScript75 004
kvbnewsproducts/Go56 121
pikajuoksuproducts/TypeScript51 922
noir-botsproducts/Python32 057
sunflowproducts/Go29 906
Un produit pas encore annoncéproducts/19 799
pikajuoksu-corelibs/TypeScript17 347
noirid-siteweb/TypeScript15 517
levonneproducts/Go15 196
noirsystems-siteweb/TypeScript13 939
foldtoolsproducts/Kotlin11 041
Un produit pas encore annoncéproducts/10 225
pikajuoksu-serverproducts/TypeScript10 052
noirwalletproducts/TypeScript9 393
etatproducts/Java8 970
Un produit pas encore annoncéproducts/8 262
xandra-csslibs/JavaScript6 144
noir-designlibs/CSS4 274
noir-bzhweb/TypeScript4 210
Un produit pas encore annoncéproducts/4 049
noir-appproducts/TypeScript3 380
bookdiscordproducts/JavaScript2 830
flokzywebproducts/TypeScript1 906
redstone-siteweb/TypeScript1 512
gitytools/JavaScript1 175
Un produit pas encore annoncéproducts/401
migrationtools/Shell358
gitcomtools/Shell173
gopolarsresearch/0

Des commits
presque chaque jour

Depuis le 11 déc. 2025, 11 personnes ont fait des commits pour NoirSystems. Les carrés les plus foncés sont des jours comptés dans l’historique du monorepo lui-même.

  • 0personnes qui font des commits
  • 11 déc. 2025premier commit
  • 0commits dans le monorepo

Survolez un carré pour voir son jour.

32 projets,
cinq répertoires

Chaque répertoire a un sens précis, et un projet vit dans celui qui dit ce qu’il est.

 

  • flokzy

    products/flokzy

    • TypeScript
    • Kotlin
  • sunflow

    products/sunflow

    • Go
    • TypeScript
  • crypto-ide

    products/crypto-ide

    • TypeScript
  • lavender

    products/lavender

    • Rust
    • TypeScript
  • kvbnews

    products/kvbnews

    • Go
    • TypeScript
    • Python
  • drukko

    products/drukko

    • TypeScript
  • noir-app

    products/noir-app

    • TypeScript
  • noirwallet

    products/noirwallet

    • TypeScript
  • pikajuoksu

    products/pikajuoksu

    • TypeScript
  • pikajuoksu-server

    products/pikajuoksu-server

    • TypeScript
  • levonne

    products/levonne

    • Go
    • Dart
  • foldtools

    products/foldtools

    • Kotlin
    • Swift
  • noir-bots

    products/noir-bots

    • Python
  • flokzyweb

    products/flokzyweb

    • TypeScript
  • etat

    products/etat

    • Java
    • Python
  • bookdiscord

    products/bookdiscord

    • JavaScript
  • noirsystems-site

    web/noirsystems-site

    • TypeScript
  • noir-bzh

    web/noir-bzh

    • TypeScript
  • noirid-site

    web/noirid-site

    • TypeScript
  • redstone-site

    web/redstone-site

    • TypeScript
  • noir-design

    libs/noir-design

    • CSS
    • TypeScript
  • xandra-css

    libs/xandra-css

    • CSS
    • JavaScript
  • pikajuoksu-core

    libs/pikajuoksu-core

    • TypeScript
  • gitcom

    tools/gitcom

    • Python
  • gity

    tools/gity

    • JavaScript
  • migration

    tools/migration

    • Shell
    • Python
  • gopolars

    research/gopolars

    • Go
  • +5

    projets internes, non listés ici

En quoi
c’est écrit

Lignes de code par langage, sur l’ensemble du dépôt.

Lignes de code par langage, sur l’ensemble du dépôt.
LangageLignes de code
TypeScript
512 977
Kotlin
77 971
Go
58 392
Rust
37 237
JavaScript
37 031
Python
36 307
CSS
33 443
Java
12 699
Shell
11 226
Autres
12 712, SQL, Dart, Swift

Aucun produitne dépend d’un autre

Nx voit une seule bibliothèque partagée, le design system NoirSystems, utilisée par les trois sites web, et aucune dépendance entre les produits. C’est l’état mesuré, et nous le gardons ainsi : aucun produit n’importe le code d’un autre produit.

Laisser le graphe déconnecté. Ne pas fabriquer d’arêtes pour qu’il ait l’air d’un monorepo.

ADR-0002, acceptée le 20 septembre 2026

Le seul vrai lien est un protocole

CodeSea dialogue avec Flokzy en HTTP, via un protocole versionné, une fixture de test et une file d’envoi. Deux programmes qui communiquent par le réseau, ce n’est pas un import : le graphe a donc raison de ne pas le tracer.

Ce qu’apporte un seul dépôt

  • Un seul clone
  • Une seule installation des outils
  • Une seule CI
  • Un seul endroit où chercher

Quatre règles
qui tiennent le tout

  • Aucun produit n’en importe un autre

    Un produit peut utiliser libs/ et son propre code. Les produits communiquent entre eux par une API, un contrat d’événements ou un client généré.

  • libs/ se mérite

    Du code passe dans libs/ quand un deuxième produit, dans un autre domaine, l’utilise déjà. Il n’y a pas de fourre-tout partagé.

  • Chaque projet gère son installation

    Chaque projet garde son propre gestionnaire de paquets et son propre fichier de verrouillage. La racine installe Nx, et rien d’autre.

  • Les secrets restent dehors

    Les fichiers d’environnement, les clés et les magasins de clés sont ignorés par git, et chaque push analyse tout l’historique à la recherche de fuites.

Sept commandes
pour chaque projet

Les noms de tâches sont les mêmes dans tous les projets, quel que soit l’outil en dessous : Gradle, Go, pnpm, Maven ou pytest.

Les mêmes cibles partout

  • build
  • test
  • lint
  • typecheck
  • format
  • dev
  • e2e
  • integration-test
  • package
  • deploy
  • pnpm bootstrap# chaînes d’outils, installation, hooks git, bilan de santé
  • pnpm env:check# ce qui ne va pas sur cette machine, et comment le corriger
  • pnpm projects# ce qui existe
  • pnpm graph# comment tout s’articule
  • pnpm affected# lint, typecheck, tests et build, uniquement sur ce qui a changé
  • pnpm check# frontières de dépendances et contrat de structure
  • npx nx run <project>:<target># un projet, une tâche

À chaque push,
un seul pipeline

La CI exécute les mêmes scripts que vous sur votre machine, et uniquement pour les projets touchés par le changement.

  1. Analyse des secrets

    gitleaks analyse tout l’historique, après qu’un test témoin a prouvé qu’il détecte une clé placée exprès.

    gitleaks git .
  2. Chaînes d’outils

    mise installe les versions exactes fixées dans mise.toml.

    mise install
  3. Frontières

    pnpm check introduit d’abord une dépendance interdite connue : un résultat propre prouve que les règles ont vraiment tourné.

    pnpm check
  4. Projets affectés

    Nx détermine quels projets le changement touche.

    nx show projects --affected
  5. Installation

    Seuls les projets affectés installent leurs dépendances.

    pnpm install:affected
  6. Vérification

    Lint, typecheck, tests et build, trois projets à la fois.

    pnpm affected --parallel=3

Envie de travaillerdans ce dépôt ?

Aucun poste n’est ouvert pour le moment, mais les candidatures spontanées sont lues. Dites-nous sur quel produit vous voulez travailler.