partiduo-demo
= partiduo-demo — dossiers fictifs à essayer en local :toc: left :toc-title: Table des matières :icons: font
Partiduo est le portage en Crystal de https://noalyss.eu[NOALYSS], logiciel libre de comptabilité créé et maintenu par Dany De Bontridder. Partiduo n'est pas un projet officiel NOALYSS.
Ce dépôt contient les dossiers de démonstration de Partiduo, un par type de client, décrits par des fichiers de données déclaratifs ; leur format ; un validateur léger qui ne dépend ni de Partiduo ni de Marten ; et scripts/demo, qui les charge, les vérifie et les sert sur ce poste avec le binaire de la distribution (partiduo-dist). Il ne contient aucun code applicatif : il ne recompile pas Partiduo, il vérifie que la démonstration fonctionne.
[source,sh]
scripts/demo
Les entreprises, personnes, adresses, SIREN et montants sont fictifs (SIREN à clé de Luhn valide, inventés ; adresses en .test). Les services externes — plateforme agréée de facturation électronique, TELEDEC, Chorus Pro, URSSAF, courriel — sont simulés par la distribution : rien ne sort du poste.
== Dossiers
[cols="1,2,3",options="header"] |=== |Dossier et adresse |Client fictif |Contenu
|atelier + http://atelier.partiduo.localhost:8300/ |Entreprise : Menuiserie Lambert & Fils, SARL de menuiserie et d'agencement à Tours (SIREN 847 315 629), régime réel, TVA mensuelle (CA3) |Exercice précédent complet et exercice en cours jusqu'au jour du chargement : plan comptable, clients (particuliers, entreprises, une commune servie par Chorus Pro), fournisseurs dont une architecte personne physique (DAS2), articles et matières, devis, acomptes, factures, avoirs, règlements lettrés, relances, virement retourné, achats avec copie de la facture, banque, paie en opérations diverses, rapprochements mensuels, CA3 closes, analytique, stock, justificatifs photographiés, client facturé en fin de mois (bons de livraison, facture récapitulative, encours maximum), CRM, modèles de factures, facture électronique (plateforme simulée), liasse, DAS2 et CA3 au TELEDEC simulé.
|micro + http://micro.partiduo.localhost:8301/ |Auto-entrepreneur : Cycles Perrot, réparation et vente de vélos à Angers, franchise en base de TVA |Factures « 293 B » encaissées (recettes au livre), ventes au comptoir, registre des achats avec copies de factures, mandats et déclarations trimestrielles à l'URSSAF simulée, justificatifs à traiter.
|liberal + http://liberal.partiduo.localhost:8302/ |Profession libérale : Camille Rivière, masseur-kinésithérapeute à Blois (BNC, 2035), non assujettie à la TVA |Recettes et dépenses par rubrique (part privée du véhicule), prélèvements, immobilisations amorties, écritures générées en Comptabilité, exercice précédent clôturé et sa 2035 transmise au TELEDEC simulé (verrouillé), exercice en cours ouvert.
|foyer + http://foyer.partiduo.localhost:8303/ |Finances d'un foyer : foyer Lemoine à Orléans, deux adultes ; dossier de type household (ADR-011 A3), plan réduit d'un foyer, extension PERSO |Compte courant, livret A, assurance-vie, prêt immobilier et maison, en comptes du foyer ; une année de relevés CSV fictifs (dossiers/foyer/releves/) importés par l'extension BANKIMPORT, catégorisés par des règles, transférés et pointés ; opérations récurrentes (salaires, prélèvements, épargne) et échéances du prêt rapprochées des relevés ; tableau d'amortissement du prêt ; budget de l'année par catégorie ; valorisations de l'assurance-vie et de la maison, patrimoine net ; déplacements de l'année précédente pour les frais réels. Aucune extension d'entreprise. |===
Les adresses ci-dessus supposent les quatre dossiers lancés dans cet ordre : scripts/demo attribue les ports à la suite, à partir de 8300, aux dossiers qu'il lance (--only foyer sert foyer sur 8300).
Utilisateurs : atelier a une gérante (profil administrateur), un expert-comptable (profil comptable) et un commercial ; micro et liberal, l'exploitant ; foyer, les deux adultes. Adresses et mots de passe : demo-identifiants.txt.
=== Le foyer avec partiduo-perso
Le dossier foyer se présente en « Recettes et dépenses » (interface par défaut d'un foyer, ADR-011 D4) : les catégories y remplacent les numéros de compte ; la comptabilité reste lisible dans l'interface « Comptabilité ».
== Lancer, arrêter, réinitialiser
Prérequis :
- PostgreSQL 18, joignable par le socket Unix
/tmp/.s.PGSQL.5432(autre répertoire :PGHOST), avec le droit de créer des bases ; clientscreatedb,dropdb,psql; - les binaires de la distribution :
partiduo-manage,partiduo-server,partiduo-modeles-pdf. Par défaut,scripts/demoles construit dans la copie de travail voisine../partiduo-dist(autre emplacement :PARTIDUO_DIST), ce qui demande Crystal 1.19.1 etshards; ou bienPARTIDUO_DIST_BINdésigne le répertoire de binaires déjà construits (un paquet installé, par exemple) ; - facultatif :
vipsthumbnailoumagick(vignettes des justificatifs),soffice(PDF des modèles ODT et DOCX).
[source,sh]
scripts/demo # construit au besoin, valide, charge, vérifie et sert les quatre dossiers scripts/demo --only foyer # un seul dossier (atelier, micro, liberal, foyer ; liste séparée par des virgules) scripts/demo --port 9000 # autres ports (9000, 9001…) scripts/demo --reset # vide les bases, recharge les dossiers, nouveaux identifiants scripts/demo --no-build # ne reconstruit ni la distribution ni le validateur scripts/demo stop # depuis un autre terminal : arrête la démonstration PARTIDUO_DIST_BIN=/usr/local/bin scripts/demo # binaires d'une distribution installée
Pour chaque dossier, scripts/demo crée la base partiduo_demo_<dossier>, génère les identifiants de test (écrits dans demo-identifiants.txt, non versionné, lisible par vous seul), charge le dossier (partiduo-manage demo charger), vérifie ses grands totaux (partiduo-manage demo verifier : un écart arrête la démonstration), puis le sert (partiduo-server, PARTIDUO_DEMO=1). Journaux : tmp/logs/. Le premier lancement compile la distribution (quelques minutes) ; un dossier se charge ensuite en quelques secondes (atelier : une demi-minute). Un lancement suivant reprend les bases telles quelles, avec les mêmes identifiants ; --reset recrée tout.
Arrêt : Ctrl-C dans le terminal du script, ou scripts/demo stop (fichier d'arrêt demo.stop).
Réinitialisation complète à la main :
[source,sh]
for d in atelier micro liberal foyer; do dropdb --if-exists "partiduo_demo_$d"; done rm -rf tmp demo-identifiants.txt
Le script refuse toute base dont le nom ne contient pas « demo » ; la distribution aussi, en mode démonstration.
== Parcours conseillé
atelier (gérante) :: . Tableau de bord : chiffre d'affaires, trésorerie, « À traiter » (relances proposées, justificatifs, facture reçue par la plateforme, virement retourné). . Facturation : un devis accepté, sa facture d'acompte et sa facture finale ; un avoir ; le PDF/A-3 Factur-X d'une facture ; les relances d'un client en retard (Restaurant La Guinguette). . Bons à facturer : les bons de livraison du mois de Décoration Val de Loire, la facture récapitulative du mois dernier à émettre ; sur sa fiche, le rythme mensuel et la jauge d'encours HT. . Comptabilité : journaux, balance, grand livre, lettrage, rapprochement bancaire, TVA (CA3 mensuelles closes), FEC. . Analytique, Stock, Justificatifs à traiter. . Extensions : CRM (/ext/CRM/pipeline), modèles de factures (/ext/MODELES/), EINV (/ext/EINV/), Chorus Pro (/ext/CHORUSPRO/), TELEDEC (/ext/TELEDEC/). . Se reconnecter comme expert-comptable : mêmes écritures, profil comptable.
micro :: Tableau de bord simplifié, « Nouvelle facture » (mention « TVA non applicable, art. 293 B du CGI »), livre des recettes, registre des achats, URSSAF (/ext/URSSAF/), 2042-C-PRO, seuils.
liberal :: Recettes et dépenses par rubrique, livre-journal, immobilisations, 2035 (édition PDF), TELEDEC ; « Clôturer l'exercice » et « Rouvrir l'exercice » sur l'exercice en cours, exercice précédent verrouillé.
foyer :: Tableau de bord du foyer (trésorerie, patrimoine net, échéances, budget), Opérations (par catégorie ; corriger une opération garde sa version d'origine), Comptes (livret, assurance-vie et ses valorisations, prêt et son tableau d'amortissement, maison), Relevés à traiter, Échéancier (échéances rapprochées des relevés, soldes prévisionnels), Budgets, Patrimoine, Déclaration de revenus (dons, emploi à domicile, frais kilométriques ; PDF et CSV) ; dans l'interface « Comptabilité » : balance par catégorie, relevés pointés, Prévisions (le budget du foyer).
== Données des dossiers
Chaque dossier est un répertoire dossiers/<code>/ :
[source]
dossier.yml # société et réglages, type de dossier, modules, extensions, utilisateurs (sans mot de passe) referentiel.yml # plan comptable propre, taux, tiers et fiches, articles, analytique, stock parametres.yml # paramètres des modules et des extensions (services toujours simulés) operations.yml # opérations datées (N-1-03-06, M-2-04, J…), puis opérations de fin attendus.yml # grands totaux attendus, vérifiés après chargement crm.yml, releves/ # fichiers cités par les opérations
Le format, versionné (format: 1), est décrit dans link:doc/format-dossiers.adoc[]. Les montants sont des chaînes décimales, jamais des flottants ; les dates sont relatives au jour du chargement, si bien que les totaux de l'exercice complet (N-1) ne dépendent pas de ce jour (à partir de février : la CA3 de décembre se dépose le 15 janvier) ; les identifiants de test ne figurent jamais dans les fichiers : ils sont générés au chargement.
Les dossiers atelier, micro et liberal reprennent à l'identique les scénarios qui étaient auparavant écrits en Crystal dans ce dépôt ; leurs grands totaux sont inchangés (pour atelier : balance équilibrée, chiffre d'affaires des comptes 70 de 141 156,00 €, TVA collectée de 28 231,20 €, douze CA3 closes, 54 factures, douze relevés rapprochés, stock, télédéclarations accusées, un virement retourné).
== Valider
[source,sh]
shards build partiduo-demo-valider bin/partiduo-demo-valider --detail # tous les dossiers bin/partiduo-demo-valider dossiers foyer # un dossier crystal spec # specs du validateur
Le validateur (src/validation/, bibliothèque standard de Crystal seulement) contrôle pour chaque dossier : le schéma de chaque fichier (champs connus et obligatoires, types, montants en chaînes décimales, dates relatives) ; les références entre fichiers (tiers, articles, postes, taux, documents nommés, utilisateurs, modules et extensions exigés par chaque opération, foyer sans module d'entreprise) ; les écritures équilibrées ; les relevés (chaque ligne trouve une règle, soldes qui se suivent) ; la cohérence des totaux attendus avec les opérations déclarées (chiffre d'affaires et TVA recalculés à partir des articles, soldes du foyer à partir des relevés, nombres de factures, de déclarations, de relevés…) ; et l'absence de tout identifiant ou secret.
== CI
CI GitHub (.github/workflows/ci.yml), quelques minutes : verrou sans path:, garde-fou de mention du logiciel d'origine, syntaxe POSIX de scripts/demo, format, construction et exécution du validateur sur les quatre dossiers, specs du validateur, Ameba. Elle ne compile ni Partiduo ni Marten. Le chargement réel se vérifie sur le poste (scripts/demo, qui appelle demo verifier) et à la construction des paquets FreeBSD de partiduo-dist (voir son README).
== Organisation
[source]
dossiers/ # atelier, micro, liberal, foyer : fichiers de données doc/format-dossiers.adoc # format des dossiers (format 1) src/valider.cr # bin/partiduo-demo-valider src/validation/ # schéma, références, relevés, secrets, totaux attendus spec/ # specs du validateur scripts/demo # validation, chargement, vérification et service en une commande (sh)
shard.yml ne dépend d'aucun shard maison (Ameba seulement, en développement) : il n'y a pas d'override local à générer. Anomalies relevées dans d'autres dépôts pendant la construction de la démonstration : link:doc/ETAT.adoc[].
== Limites
- Services externes simulés : aucun dépôt réel sur une plateforme agréée, à Chorus Pro, à TELEDEC ou à l'URSSAF, aucun courriel envoyé. L'état des simulateurs vit dans chaque processus : le serveur ne connaît pas les dépôts faits pendant le chargement (ils restent en base, accusés), et une nouvelle relève d'un dépôt antérieur n'est pas reconnue.
- Serveur de développement de Marten (HTTP, sans TLS), réservé à ce poste.
- Identifiants de test seulement ; ne réutilisez pas ces mots de passe.
partiduo-demo
- 0
- 0
- 0
- 0
- 1
- 11 days ago
- September 29, 2026
GNU Affero General Public License v3.0
Fri, 23 Oct 2026 20:13:58 GMT