Dulus
An AI agent for your desktop and terminal, on any model you choose. Hosted models run on Fuel, paid in $DULUS.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗À partir de l'export du formulaire d'inscription (Framaforms : TSV, CSV ou Excel), produit le programme PDF A5 :
https://VOTRE-COMPTE.github.io/NOM-DU-DEPOT/
Tout se passe dans le navigateur : aucun serveur, rien à installer, et aucun fichier ne quitte l'ordinateur. La page interdit d'ailleurs toute connexion réseau. On peut donc y charger l'export brut du formulaire, avec ses noms, e-mails et adresses IP, sans risque.
Les réglages sont mémorisés dans le navigateur. Exporter / Importer reglages.json permet de les partager ou de les retrouver sur un autre poste.
Sur GitHub, ouvrez Settings → Pages → Build and deployment, puis choisissez Source : GitHub Actions.
Le workflow « Publier l'application » construit et publie la page à chaque modification du code. L'adresse s'affiche dans l'onglet Actions et dans Settings → Pages.
Pour obtenir le programme dans une release GitHub sans ouvrir l'application :
⚠️ Dépôt public : ne déposez jamais l'export brut. Utilisez le bouton Télécharger l'export anonymisé de l'application. Il retire le responsable, l'e-mail, l'adresse IP, les identifiants de compte, les logos et l'heure de saisie ; le programme reste identique. Le workflow refuse de tourner s'il détecte un export brut.
entree/ : export.tsv (anonymisé), couverture.jpg|png|pdf, et facultativement quatrieme.*, des photos dans entree/intercalaires/ et reglages.json (exporté depuis l'application).main : le workflow « Générer le programme » produit le PDF.Actions → Générer le programme → Run workflow permet de relancer en changeant la période, les numéros exclus et l'ordre des fiches.
Le supprimer dans un nouveau commit ne suffit pas : il reste lisible dans l'historique.
git filter-repo --invert-paths --path entree/NOM_DU_FICHIER), puis faites un git push --force. Demandez ensuite au support GitHub de purger les vues en cache.npm install
npm run local # http://localhost:8100 (même application, servie depuis votre poste)
node cli.js --dossier entree --sortie sortie/programme.pdf
node anonymiser.js export-brut.tsv entree/export.tsv
Node 18 ou plus récent.
animation_date_f. Pour « plusieurs jours », c'est animation_date_debut → animation_date_fin.{nb_bibliotheques}, {nb_animations}, {periode}.Le même code (lib/) sert au navigateur et à Node : le PDF est identique dans les deux cas.
| Chemin | Rôle |
|---|---|
web/ | application navigateur (page, styles, interface) |
scripts/build.js | assemble l'application dans _site/ (esbuild) |
scripts/serve.js | serveur statique pour l'essai en local |
lib/data.js | lecture et nettoyage des animations |
lib/pdf.js | mise en page du programme |
lib/carte.js | carte vectorielle des communes |
lib/anonymiser.js | export réduit aux colonnes publiques |
lib/reglages.js | réglages par défaut (charte 2026) |
lib/node.js | lecture des fichiers sur disque (ligne de commande) |
cli.js, anonymiser.js | ligne de commande, utilisée par GitHub Actions |
entree/ | fichiers de la génération automatique |
.github/workflows/pages.yml | publication de l'application sur GitHub Pages |
.github/workflows/programme.yml | génération automatique du PDF |
fonts/ | Darker Grotesque (licence SIL OFL, voir fonts/OFL.txt) |
data/communes-gironde.json | contours des communes (france-geojson, données IGN/Etalab) |
Bibliothèques : pdfkit, pdf-lib, SheetJS. Leurs licences sont copiées dans _site/vendor/ à la construction.