Sign inSign up

ngsign/maarch-poc-app

By ngsign

•Updated 18 days ago

Maarch Courrier 2301 + NGSign e-signature connector — ready-to-run demo POC

Image
Security
Integration & delivery
Content management system
0

245

ngsign/maarch-poc-app repository overview

⁠NGSign × Maarch Courrier — POC

Ready-to-run demo of the NGSign electronic-signature connector for Maarch Courrier 2301, using the native ngsign integration : Maarch + the compiled SPA + the ngsign connector + the required core patches + the signed-document retrieval cron.

⚠️ Demo image — not for production. Ships well-known Maarch demo credentials and no real secret (the NGSign token is a placeholder you set yourself). Don't expose it on a public network.

The demo UI runs in French; on-screen labels are quoted below with an English gloss.

For more details about NGSign integration in Maarch: https://github.com/ngsign/ngsign-maarch-plugin⁠

⁠Companion image

Needs the self-seeding database image: ngsign/maarch-poc-db.

⁠Accounts

RoleLoginPasswordUse for
Adminsuperadminsuperadminconfiguration only (no mail baskets)
Demo processing userssaportamaarchrunning the signature flow

⁠1. Start

services:
  db:
    image: ngsign/maarch-poc-db:latest
    environment:
      POSTGRES_USER: maarch
      POSTGRES_PASSWORD: maarch
      POSTGRES_DB: maarch_courrier
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U maarch -d maarch_courrier"]
      interval: 5s
      timeout: 5s
      retries: 30
  app:
    image: ngsign/maarch-poc-app:latest
    depends_on:
      db: { condition: service_healthy }
    ports: ["8080:80"]
    volumes:
      - ./remoteSignatoryBooks.xml:/var/www/html/MaarchCourrier/modules/visa/xml/remoteSignatoryBooks.xml
docker compose up -d      # then open http://localhost:8080

⁠2. Set your NGSign token

Edit remoteSignatoryBooks.xml (bind-mounted above):

Then: docker compose restart app

⁠3. Give the signer a real email

NGSign emails the signing link, so the signatory needs a reachable address: docker compose exec db psql -U maarch -d maarch_courrier
-c "UPDATE users SET mail='[email protected]⁠' WHERE user_id='ddaull';"

⁠4. Run the full test (send → sign → retrieve)

Log in as ssaporta / maarch, then:

  1. Home → open the "Courriers à traiter" basket (Mails to process) → open a mail (or create one) → click "Traiter" (Process).
  2. "Pièces jointes" tab (Attachments) → add a PDF with Type = "Projet de réponse" (response project — a signable type, not "Pièce jointe").
  3. On that attachment: ⋮ → "Intégrer au parapheur" (Add to signature book); a pen icon and a "Visa/Signature" tag appear.
  4. "Circuit de visa" tab (Visa circuit) → add a signatory (e.g. ddaull, the one you gave an email) and switch its role to "Signataire" (Signatory).
  5. Bottom action bar → "Envoyer sur la tablette" (Send to the tablet) → the app-ngsign dialog opens → "Valider" (Validate). → an NGSign transaction is created and the signer receives the signing email.
  6. Open the email → sign the document on NGSign.
  7. The retrieval cron runs every 5 min and re-attaches the signed PDF as a "Réponse signée" (signed response) on the mail. To trigger it immediately: docker compose exec -u www-data app sh -c
    'cd /var/www/html/MaarchCourrier && php bin/signatureBook/process_mailsFromSignatoryBook.php
    -c bin/signatureBook/ngsign_batch_config.json'

Two common traps

  • The attachment Type must be "Projet de réponse" (signable) — not "Pièce jointe".
  • Don't forget "Intégrer au parapheur" on the attachment.

Either one makes the send dialog report "Aucun élément éligible" (no eligible element) and greys out "Valider".

⁠What's inside

Maarch Courrier 2301 (Apache/PHP) · Option B SPA (dist/) · ngsign connector · 3 core patches · i18n keys · retrieval cron (every 5 min).

⁠Tags

  • latest — Maarch 2301, Option B

Tag summary

Content type

Image

Digest

sha256:edb9bdd34…

Size

1022.3 MB

Last updated

18 days ago

docker pull ngsign/maarch-poc-app