Application YunoHost ARCenal DRAW pour les plans de contrôle gammagraphique
  • JavaScript 90.2%
  • Python 7.4%
  • HTML 2%
  • Shell 0.4%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-16 17:05:46 +02:00
.arcenal docs: record crobard 0.9.16 publication 2026-10-16 17:05:46 +02:00
.github/workflows ci: remove obsolete CAD engine build 2026-10-06 08:25:19 +02:00
assets feat: apply ONYX branding and responsive forms 2026-10-09 12:31:29 +02:00
backend feat: rename arcenal draw to crobard 2026-10-16 17:03:26 +02:00
conf feat: rename arcenal draw to crobard 2026-10-16 17:03:26 +02:00
doc feat: rename arcenal draw to crobard 2026-10-16 17:03:26 +02:00
scripts feat: rename arcenal draw to crobard 2026-10-16 17:03:26 +02:00
tests feat: rename arcenal draw to crobard 2026-10-16 17:03:26 +02:00
.gitignore chore: ignore YunoHost linter cache 2026-10-02 16:01:01 +02:00
app.js feat: rename arcenal draw to crobard 2026-10-16 17:03:26 +02:00
HISTORIQUE_CONCEPTION.md feat: rename arcenal draw to crobard 2026-10-16 17:03:26 +02:00
index.html feat: rename arcenal draw to crobard 2026-10-16 17:03:26 +02:00
LICENSE feat: rename arcenal draw to crobard 2026-10-16 17:03:26 +02:00
manifest.toml feat: rename arcenal draw to crobard 2026-10-16 17:03:26 +02:00
README.md feat: rename arcenal draw to crobard 2026-10-16 17:03:26 +02:00
REVUE_FINALE.md feat: rename arcenal draw to crobard 2026-10-16 17:03:26 +02:00
SPECIFICATION_POC.md feat: rename arcenal draw to crobard 2026-10-16 17:03:26 +02:00
styles.css fix: allow updating selected impact zones 2026-10-15 11:50:08 +02:00
TEST_REPORT.md feat: rename arcenal draw to crobard 2026-10-16 17:03:26 +02:00
tests.toml feat: package ARCenal DRAW for YunoHost preview 2026-10-02 15:59:56 +02:00

Crobard

Crobard est une application YunoHost de conception de plans d’impact radiologique. Elle importe des fonds PDF, PNG ou JPEG, permet leur calibrage métrique, ajoute les zones de balisage, conserve des instantanés d’export réouvrables et produit un export PDF WYSIWYG par la fonction d’impression du navigateur.

Architecture

  • interface statique HTML, CSS et JavaScript sans framework ;
  • API WSGI Python servie par Gunicorn derrière Nginx ;
  • authentification transmise par le SSO YunoHost ;
  • SQLite pour les projets, instantanés d’export et métadonnées ;
  • Poppler pour convertir la première page des PDF vectoriels en SVG ;
  • PDF.js embarqué pour l’affichage progressif des PDF restant natifs.

Les données persistantes sont placées dans /var/lib/arcenal_draw par la ressource data_dir YunoHost. Les formats CAO natifs ne font pas partie du périmètre.

Vérifications locales

Depuis la racine du dépôt :

PYTHONPYCACHEPREFIX=/tmp/arcenal-draw-pycache python3 -m py_compile backend/*.py
node --check app.js
bash -n scripts/*
PYTHONPYCACHEPREFIX=/tmp/arcenal-draw-pycache python3 -m unittest discover -s tests -v
git diff --check

Il n’existe ni dépendance Python installée par pip, ni compilation frontend, ni étape de build. Le paquet s’appuie uniquement sur les paquets APT déclarés dans manifest.toml et sur les fichiers statiques versionnés.

Installation YunoHost

Le dépôt est un paquet YunoHost v2. Une installation de recette peut être lancée depuis l’administration YunoHost avec l’URL Git du dépôt. En ligne de commande sur une instance de test uniquement :

sudo yunohost app install https://github.com/arcenal-coder/arcenal-draw_ynh --debug

Avant une mise en production, vérifier le cycle installation, accès authentifié, import, calibrage, sauvegarde/reprise, export, mise à niveau, sauvegarde/restauration et suppression sur une instance YunoHost isolée.

La spécification fonctionnelle se trouve dans SPECIFICATION_POC.md, l’historique dans HISTORIQUE_CONCEPTION.md et les dernières preuves dans TEST_REPORT.md.