- TypeScript 97.9%
- VBA 1.1%
- CSS 0.6%
- Dockerfile 0.3%
Les éléments vérifiés hors du modèle n'apparaissent que si la tranche en contient, et leur pont n'est alors jamais appelé : un tirant coché sur une voûte, un plancher en chaînage, un plancher en diaphragme. Les refends déjà décrits gardent leur onglet ouvert, sinon ils deviendraient inaccessibles. L'onglet Résultats devient un conteneur : Descente de charge (les deux synthèses et la coupe), Tirants, Chaînages, Diaphragmes, Note de calcul. Les deux synthèses quittent le premier niveau — elles n'existent qu'à un endroit. Trois packages, pour que Tranche puisse rendre l'interface de VOUT1 sans en recopier une ligne : - @eq/arc-saisie : modèle par défaut et géométrie qui ne lève jamais, sortis d'apps/vout1-web ; cinq tests, qui relèvent au passage que le constructeur refuse moins que son commentaire ne l'annonce ; - @eq/ui : les sept primitives qui étaient recopiées octet pour octet dans les deux applications, plus cn ; quinze dépendances quittent les package.json ; - @eq/arc-ui : les 24 fichiers de l'interface d'arc et arc-results. Packages livrés en source (transpilePackages, @source Tailwind). Leur tsconfig s'aligne sur les applications hôtes et non sur tsconfig.base : plus strict, il refuserait du code qu'elles acceptent. 688 tests verts ; les builds de production des deux applications passent. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> |
||
|---|---|---|
| .claude | ||
| apps | ||
| exemples | ||
| packages | ||
| Ref | ||
| reference | ||
| .dockerignore | ||
| .env.example | ||
| .gitattributes | ||
| .gitignore | ||
| .prettierignore | ||
| .prettierrc.json | ||
| CLAUDE.md | ||
| docker-compose.vout1.coolify.yml | ||
| docker-compose.vout1.yml | ||
| docker-compose.yml | ||
| eslint.config.js | ||
| ETAT.md | ||
| knip.json | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| tsconfig.base.json | ||
Tranche
Modélisation statique 2D d'une tranche de bâtiment : descente de charges avec excentrement des
murs, voûtes, planchers, couverture, fondations et sol. Tranche ne vérifie rien : il produit
les sollicitations (Actions EC6 par panneau, V_d, H_B,d, M_B,d en pied de semelle) que les
moteurs de vérification consomment en aval (exception V0 : moteur EC6 local, T37).
Outil d'aide à la vérification. Résultats à valider par l'ingénieur responsable de l'affaire.
Démarrer
npm install
npm run dev --workspace=apps/web
Web sur http://localhost:3010 : le calcul tourne dans le navigateur et les études y sont
enregistrées (H13) ; les études de exemples/ sont ajoutées au premier lancement (T57).
Pile complète (API NestJS et PostgreSQL, non branchées en V0) : cp .env.example .env,
docker compose up -d db, npm run db:migrate, npm run dev ; API sur
http://localhost:3011/sante. En conteneurs : docker compose up --build.
Documents
CLAUDE.md— règles non négociables, conventions.reference/decisions.md— registre des décisions par thème (T0→T65).ETAT.md— état d'avancement, hypothèses à valider (H1→H24), restes à faire.exemples/— tranches d'essai (cas test, églises).Ref/— classeurs et guides de la maison : entrées et ordres de grandeur, sans autorité sur le calcul.
Socle technique
Node ≥ 22, TypeScript 5.9 strict (noUncheckedIndexedAccess, exactOptionalPropertyTypes…),
modules NodeNext. Workspaces npm :
| Workspace | Rôle |
|---|---|
packages/arc-solver |
VOUT1 — moteur d'arcs et de voûtes, outil indépendant hébergé ici (T72) |
packages/maconnerie |
module commun : f_k de l'EC6 (T74) et catalogue de typologies (T73) |
packages/tirant |
module autonome : vérification et prédim d'une extrémité de tirant (T66) |
packages/chainage |
module autonome : vérification d'un chaînage en béton armé (T67) |
packages/diaphragme |
module autonome : vérification d'un refend au cisaillement (T67) |
packages/tranche-solver |
moteur de calcul pur, sans dépendance de production (équivalents core-*) ; ponts vers les modules |
apps/web |
Next.js 16, React 19, Tailwind 4, shadcn/ui — saisie, schémas SVG, note |
apps/api |
NestJS 11, Prisma 7, PostgreSQL 18 (table etude) — non branchée en V0 |
apps/vout1-web |
interface de VOUT1 (port 3000), lançable seule |
apps/vout1-api |
API de VOUT1 (port 3001, base 5432, table Study), lançable seule |
Ports décalés de VOUT1 pour que les deux outils tournent ensemble : web 3010, API 3011, base 5433.
Secrets dans .env (non versionné, forme dans .env.example).
| Script | Effet |
|---|---|
npm run dev |
API et front en développement |
npm run build |
construit tous les workspaces |
npm run typecheck |
tsc --noEmit partout |
npm run lint |
ESLint |
npm run format[:check] |
Prettier (écriture / vérification) |
npm test |
tous les tests (Vitest) |
npm run knip |
code mort et dépendances inutilisées |
npm run db:* |
Prisma (generate, migrate, studio) via api |
Terminé = typecheck, lint, test verts à la racine. Pas de CI en V0 (T23) : contrôle
local. Socle fermé : toute dépendance nouvelle demande la validation de l'ingénieur.