Journal des modifications
  • v1.4.1 30/09/2026

    🚀 v1.4.1 – Suppression des fichiers des porte-documents

    📄 Description

    La version v1.4.1 de SignClic corrige la suppression des fichiers lors de la suppression ou de la purge d'un porte-documents. L'entrée en base était bien retirée, mais le répertoire et les fichiers restaient sur le disque.

    🛠️ Correctifs

    • 🗂️ Suppression du répertoire du porte-documents et de son contenu lors d'une suppression ou d'une purge
    • ⚠️ Affichage d'un avertissement lorsque l'entrée en base est retirée mais que les fichiers n'ont pas pu être supprimés du disque
  • v1.4.0 29/09/2026

    🚀 v1.4.0 – Multi-signature, sécurité et industrialisation

    📄 Description

    Cette nouvelle version 1.4.0 de SignClic apporte une évolution majeure autour de la multi-signature, un renforcement important de la sécurité applicative et une modernisation de l’industrialisation (Docker PHP 8.4, CI, workers). Elle introduit également un centre d’aide intégré, des diagnostics certificats pour l’exploitation, et plusieurs correctifs de robustesse sur les signatures, le partage et les traitements asynchrones.


    🆕 Fonctionnalités et évolutions principales

    🖊️ Demandes de signature et multi-signature

    • 📝 Ajout de la multi-signature avec options de :
      • confidentialité (masquer la liste des signataires en attente)
      • suivi public des décisions (en cours de signature)
      • mode « une signature par document »
    • 📥 Import de signataires par fichier (CSV / TXT) ou liste collée, avec meilleure gestion des erreurs et des e-mails invalides
    • 🧾 Nouveau cartouche PAdES de finalisation (header TCPDF, tampons visibles empilés, rendu PNG amélioré, sans dépendance à qpdf)
    • 📦 Passage à open-pdf-sign v0.3.0 (authentification TSA / dépendances)
    • 📱 Amélioration du traitement SMS dans les flux multi-porte-documents
    • 🔁 Durcissement des erreurs de signature et anti-double signature pour les signataires non authentifiés

    📜 Certificats et exploitation

    • 🩺 Ajout d’un diagnostic des certificats (interface et commande CLI), réservé aux super-administrateurs / ADMINGN
    • ❤️ Ajout d’un endpoint /health et de diagnostics opérationnels pour la supervision
    • 🐇 Amélioration de la gestion des workers RabbitMQ (PID sous var/run/pids, détection via l’API management, worker non bloquant)

    📚 Aide et contenu légal

    • 🆘 Intégration d’un centre d’aide SignClic (contenu injecté au build / runtime)
    • 🔗 Contenu récupérable et personnalisable à partir du projet help-centers
    • ⚖️ Mise à jour des mentions légales RGPD (coordonnées DPO ou formulaire)

    🛠️ Correctifs importants

    🖊️ Signature et parcours utilisateur

    • 🔄 Correction du rechargement automatique de la page d’attente de signature via SSE
    • 🔗 Correction de la génération des URLs WOPI derrière une terminaison TLS
    • 🏷️ Correction de l’affichage des badges de porte-documents et des statuts de signature dans Twig (enums natives)
    • 👤 Correction de l’erreur à la connexion lorsqu’un nouvel utilisateur ne peut pas être inséré en base
    • 🎨 Correction du rendu des icônes SVG personnalisées après montée de version DSFR

    🗂️ Porte-documents et notifications

    • ✉️ Correction du partage de porte-documents (sanitisation du destinataire)
    • ↩️ Correction des retours à la ligne dans les e-mails de partage
    • 🔢 Correction / alignement des codes HTTP dans les vues d’erreur

    🛡️ Sécurité et stabilité

    • 🧹 Durcissement anti-XSS stocké : autoescape Twig par défaut, échappement des flashs / DOM, sanitisation des noms de signataires
    • 🚫 Protection contre le path traversal sur les opérations de documents des porte-documents
    • 📁 Durcissement des noms de fichiers uploadés / renommés et consolidation de la validation des uploads (FileUploadValidator)
    • 🔐 Durcissement des mots de passe de porte-documents et de l’import CSV de contacts
    • 🔎 Ajout d’une commande de scan XSS stocké en lecture seule
    • 📦 Correction des advisories Composer et pin de TCPDF 6.11.3

    ⚙️ Améliorations techniques

    🐳 Industrialisation et CI/CD

    • 🏗️ Images Docker multi-stage BuildKit (PHP 8.4), volume de logs partagé, JRE complet pour le PAdES visible
    • 👤 Exécution webapp / workers en utilisateur apache après init root, écoute sur le port 8080
    • 🚀 Pipeline CI GitLab signclic-ci (toolchain Alpine, quality splittée, lint Dockerfile/hadolint, push / promote :latest)
    • 📘 Génération de la spécification OpenAPI au démarrage du conteneur webapp à partir du .env
    • 🔧 Correctifs de build release (checkout CI_COMMIT_SHA, fetch compositor avec retry, isolation du fetch help-centers)

    🧪 Qualité du code

    • 🧬 Migration des enums vers PHP natif 8.1+
    • ✅ Alignement PHPStan / Rector / CS-Fixer et couverture de tests élargie
    • 📂 Rangement du cache Twig et des logs runtime sous var/

    💻 Installation / Migration

    • 🗄️ Appliquer le script SQL src/App/Settings/conf/signclic_v1.4.0.sql (colonnes confidential, publicTracking, oneSignaturePerDocument sur signature_request) — obligatoire avant déploiement, sinon la création de demandes de signature échoue
    • 🐳 Mettre à jour les images Docker / docker-compose (PHP 8.4, port 8080, droits DATA / PROOF / CERT au démarrage)
    • ⚙️ Adapter le .env pour le centre d’aide (HELP_ENABLED, HELP_CENTERS_*) si vous activez cette fonctionnalité
    • 🔄 Vérifier le fonctionnement du consommateur RabbitMQ et des diagnostics certificats après déploiement
  • v1.3.3 20/05/2026

    🚀 v1.3.3 – SignClic, nouvelles fonctionnalités

    📄 Description

    Cette nouvelle version 1.3.3 de SignClic apporte plusieurs améliorations importantes autour de la gestion des demandes de signature, de l'intégration avec Gaapse, de l'administration et de la robustesse globale de la plateforme. Elle introduit également de nouvelles fonctionnalités pour les administrateurs globaux, améliore la gestion des porte-documents et renforce la fiabilité des traitements liés aux signatures avancées et aux notifications SMS.


    🆕 Fonctionnalités et évolutions principales

    👤 Gestion utilisateur et organisation

    • 🔄 Amélioration du rapprochement des utilisateurs et de l'extraction des données afin d'alimenter automatiquement l'organisation en base de données lors de la connexion
    • 🔐 Gestion de la signature avancée (contexte Gironde Numérique uniquement – nécessite l'application Gaapse) :
      • ajout d'une vérification Gaapse pour les utilisateurs non authentifiés afin de contrôler le numéro de téléphone mobile
      • désactivation automatique du champ téléphone lorsque celui-ci est déjà présent dans le jeton utilisateur
    • 🌐 Amélioration de la gestion des URLs Gaapse dans les formulaires

    🗂️ Porte-documents et administration

    • 📂 Ajout de nouvelles routes permettant la consultation des porte-documents dans les contextes :
      • administration globale
      • organisation
    • 👁️ Les administrateurs globaux peuvent désormais consulter le détail des demandes de signature
    • 🚫 Ajout d'un mécanisme de gestion des demandes de signature bloquées
    • 📡 Ajout d'un badge de supervision permettant d'indiquer l'état de fonctionnement du consommateur RabbitMQ
    • 🔎 Correction du bouton permettant de consulter la demande courante

    🖼️ Génération de miniatures

    • 🧩 Ajout d'un mécanisme de fallback pour le chargement des miniatures de documents
    • 🖼️ Mise en place de la génération de miniatures PDF directement dans l'application web
    • 🛠️ Correction de la concaténation des chemins temporaires lors de la génération des fichiers PDF

    🛠️ Correctifs importants

    📱 Gestion des SMS et téléphones mobiles

    • 📲 Correction de la validation des numéros mobiles provenant de Gaapse
    • ✉️ Correction d'un dysfonctionnement empêchant l'envoi des SMS lorsqu'aucun numéro n'était transmis dans la requête
    • 🏢 Correction du nom d'organisation utilisé lors de l'envoi des SMS de demande de signature

    🗂️ Porte-documents

    • 🔒 Correction et sécurisation de la récupération des porte-documents par organisation :
      • rétablissement du filtrage basé sur le suffixe du login
      • sécurisation des requêtes SQL via paramètres PDO

    ⚙️ Améliorations techniques

    🐳 Industrialisation et CI/CD

    • 🏗️ Migration vers la CI Gironde Numérique
    • 📦 Migration vers la registry Docker Hub
    • 🐳 Ajout d'un builder dédié pour les images Docker SignClic
    • 🔐 Ajout de la dépendance OpenSSL dans l'environnement webapp
  • v1.3.2 21/04/2026

    🚀 v1.3.2 – Industrialisation, sécurité et amélioration continue

    📄 Description

    La version v1.3.2 de SignClic marque une étape importante dans l’industrialisation du projet, avec le découplage de la personnalisation, la gestion des assets, la génération de la documentation API et le renforcement de la sécurité applicative.
    Elle inclut également de nombreux correctifs fonctionnels, notamment sur les porte-documents, les numéros mobiles et la signature PAdES.


    🆕 Fonctionnalités et évolutions principales

    • 📚 Ajout d’une commande SwaggerGenerateCommand pour la génération de la documentation API (découplage de la génération de la documentation API de Composer)
    • ⚙️ Ajout d’une commande PersonalizeAppCommand pour la personnalisation de l’application (découplage de la personnalisation de Composer)
    • 🧩 Ajout d’une commande MinifyAssetsCommand pour la minification des assets (découplage de la minification des assets de Composer)
    • 🐳 Ajout d’un environnement Docker complet (Dockerfile, docker-compose, configuration associée)
    • 🚀 Intégration GitLab améliorée :
      • Versionning via le fichier d’entrée public/index.php
      • Affichage de la version dans l’interface utilisateur (pied de page)
      • Page de documentation des changements dynamique à partir des releases GitLab
      • Soumission de tickets d’incidents sur GitLab pour les erreurs 500 (Internal Server Error) à la condition qu’un token d’accès soit configuré dans le fichier de configuration de l’application
    • 🔐 Amélioration de la sécurité : Restriction de l’exécution des fichiers PHP/PHAR via .htaccess

    🛠️ Correctifs importants

    • 📁 Correction du chargement des porte-documents dans l’administration des organisations
    • 🗑️ Correctif d’une erreur lors de la suppression d’un porte-documents
    • 🔍 Correction de requêtes sur les porte-documents par collectivité
    • ✉️ Correction des templates email (variables et personnalisation)
    • 📱 Correction du format des numéros mobiles (France + DOM-TOM) et augmentation de la taille du champ smsPhone en base de données
    • 🔐 Correction du traitement PAdES (fallback sur Organization si CN non conforme)
    • 🔄 Correction des erreurs API (redirection incorrecte, gestion des erreurs 500, encodage des noms d’organisation)

    ⚙️ Améliorations techniques

    • 🐳 Optimisation des Dockerfiles (indépendance à la personnalisation, droits www-data)
    • 🔄 Optimisation de la CI/CD GitLab (build, push registry, gestion des tags)
    • 🔧 Ajout des commandes Console de gestion de la personnalisation, documentation API et assets (découplage de ces fonctionnalités de Composer)
    • 🧹 Nettoyage des configurations (PHPStan, code legacy)
    • 📨 Amélioration de la gestion des erreurs SMTP et SMS

    🛡️ Sécurité et stabilité

    • 🔒 Blocage de l’exécution de fichiers sensibles (PHP/PHAR) via .htaccess
    • 🧯 Amélioration de la gestion des erreurs et du reporting (GitLab)

    💻 Installation / Migration

    • Nécessite la version v1.1.2 de ComClic
    • ⚙️ Mettre à jour la configuration Docker et utiliser le docker-compose fourni si vous utilisez Docker
    • 🔄 Adapter le fichier de personnalisation (consultez le fichier d’exemple personnalization.example.json) et executer la commande de personnalisation (PersonalizeAppCommand)
    • 📦 Utiliser la nouvelle commande de minification des assets (MinifyAssetsCommand)
    • 🗄️ Mettre à jour le schéma de base de données (taille du champ smsPhone passant de 10 à 14 caractères)
    • 🔐 Faire la demande d’un jeton d’accès pour la soumission de tickets d’incidents via GitLab (valable 1 an)
  • v1.3.1 02/03/2026

    🚀 v1.3.1 – Gestion des numéros de téléphone mobile et correctifs

    📄 Description

    La version v1.3.1 de SignClic apporte des correctifs liés à l’administration des porte-documents et à la gestion des numéros de téléphone mobile.
    Elle inclut également des ajustements des Dockerfiles pour simplifier l’installation et éviter l’exécution automatique de composer post-install-cmd.


    🆕 Fonctionnalités et évolutions principales

    • 📱 Ajout du format du numéro de téléphone mobile dans le fichier de configuration de l'application
    • ✂️ Suppression automatique des espaces dans les numéros de téléphone mobile lors de la saisie dans les formulaires de signature
    • 🌍 SignClic accepte désormais les numéros de téléphone mobiles de France métropolitaine et des DOM-TOM (si configuré par le fournisseur de service) :
      • Guadeloupe : 590
      • Guyane : 594
      • Martinique : 596
      • Mayotte : 269
      • Nouvelle-Calédonie : 687
      • Polynésie Française : 689
      • Réunion : 262
      • Saint-Pierre et Miquelon : 508
      • Wallis et Futuna : 681
      • suivi des chiffres de l'abonné

    🛠️ Correctifs

    • 🔧 Correction du chargement des porte-documents dans l’administration des organisations
    • 🗑️ Correction d’une erreur lors de la suppression d’un porte-documents
    • ⚙️ Mise à jour des Dockerfiles pour éviter l’exécution automatique de composer post-install-cmd et suppression de l’ENTRYPOINT inutile
    • ✉️ Ajout d’un message de personnalisation pour le format des numéros de téléphone mobile

    💻 Installation / Migration

    • Nécessite la version v1.1.1 de ComClic
    • ⚙️ Mettre à jour le fichier de configuration pour activer le format des numéros mobiles selon le pays
    • 🔄 Tester la saisie et la validation des numéros mobiles dans les formulaires de signature
  • v1.3.0 19/02/2026

    🚀 v1.3.0 – Administration de l'application par collectivité

    📄 Description

    La version v1.3.0 de SignClic introduit des évolutions majeures sur la gestion des collectivités et l’historisation des actions utilisateurs, ainsi que sur la gestion des SMS.
    Elle inclut également des correctifs liés à la configuration PAdES, à l’envoi de mails et SMS, et à l’optimisation du traitement des informations de signature.


    🆕 Fonctionnalités et évolutions principales

    • 🏛️ Gestion de l’application par collectivité pour les utilisateurs ayant le rôle d’administrateur de collectivité
    • 🕒 Gestion de l’historisation des actions utilisateurs par collectivité
    • 📊 Ajout d’un onglet décompte des SMS consommés et emails générés par collectivité dans le tableau de bord d’administration
    • 📊 Ajout d’un onglet décompte des SMS consommés dans le tableau de bord de collectivité
    • 📱 Gestion des quotas de consommation de SMS et traitement des erreurs SMS
    • ✉️ Gestion des erreurs d’envoi d’e-mails et ajout de l’adresse des emails non délivrés dans les notifications d’erreur
    • 🔧 Gestion des erreurs de paramétrage PAdES

    🛡️ Correctifs

    • 🔧 Correction du paramétrage de organizationName lors de l’envoi des emails
    • 📝 Gestion des exceptions dans proofGenerator
    • 🔄 Optimisation des mécanismes d’historisation et d’envoi de notifications

    💻 Installation / Migration

    • Nécessite la version v1.1.0 de ComClic
    • ⚙️ Mettre à jour les variables d’environnement et fichiers de configuration si nécessaire
    • 🔄 Vérifier la configuration SSO et les quotas SMS par collectivité dans l'application ComClic
  • v1.2.0 19/12/2025

    🚀 v1.2.0 – Évolutions majeures et API SignClic

    📄 Description

    La version v1.2.0 de SignClic introduit des améliorations importantes côté API, ainsi que des correctifs concernant l'authentification sur socle LemonLDAP::NG et la personnalisation des templates.
    Cette version permet désormais :

    • La récupération et la gestion dynamique des demandes de signature d’un porte-documents
    • L’annulation de demandes via l’API
    • L’optimisation de l’authentification utilisateur avec le paramétrage des rangs (Agent, Administrateur, Administrateur global)
    • La génération dynamique de l’interface Swagger pour l’API SignClic

    🆕 Fonctionnalités et évolutions principales

    • 🔧 Modification de la version de l'API SignClic à 1.2.0
    • 📄 Ajout de la récupération des demandes de signature d’un porte-documents via l’API
    • ❌ Endpoint pour annulation d’une demande de signature dans l’API SignClic
    • 🌐 Génération dynamique de l’interface Swagger : affichage du nom du service, du fournisseur et de l’URL de l’API
    • 🔄 Remontée automatique des demandes de signature comme propriétés d’un porte-documents
    • 🎨 Ajout du module de personnalisation des templates
    • 🔐 Optimisation des contrôles d’authentification utilisateur et paramétrage des rangs (Agent, Administrateur, Administrateur global)

    ⚙️ API

    • 📥 Récupération des demandes de signature pour un porte-documents
    • 🗑️ Suppression d’une demande de signature
    • 📝 Swagger OpenAPI dynamique pour faciliter l’intégration et la documentation

    💻 Installation / Migration

    • ⚙️ Mettre à jour les variables d’environnement pour la génération dynamique du fichier Swagger
    • 🔄 Migrer et tester les endpoints API SignClic pour la récupération et l’annulation des demandes de signature
  • v1.1.0 09/12/2025

    🚀 v1.1.0 – Améliorations et évolutions majeures de SignClic

    📄 Description

    Cette version apporte de nombreuses évolutions fonctionnelles, correctifs et améliorations techniques pour la plateforme de signature SignClic.
    Elle inclut la personnalisation de l'application (entête, bandeau bas et bordereaux PDF générés), l’amélioration du workflow des briefcases et plusieurs améliorations ergonomiques et fonctionnelles.


    🆕 Fonctionnalités et évolutions principales

    • Personnalisation de l'application (header/footer) ainsi que le "Bordereau de signature"
    • Téléchargement des dossiers de signature depuis l'onglet "À récupérer"
    • Tous les signataires reçoivent désormais un email lorsqu’un dossier est signé
    • Possibilité de modifier les informations d’un dossier en lecture seule lorsqu’on est propriétaire
    • Les boutons d’actions multiples s’affichent seulement si le statut des dossiers le permet
    • Ajout d’une entrée dans l’historique des actions lors du traitement d’une demande de signature
    • Optimisation de la génération des PDF pour pagination et calcul de capacité par page
    • Optimisation du consommateur RabbitMQ
    • Mode maintenance amélioré avec bypass administrateur

    🛠️ Correctifs importants

    • Correction des erreurs dans le consumer de signature lors de la suppression du dernier signataire
    • Correction de la lecture des JAVA_OPTS et ajustement des scripts sign_pades
    • Fix pour le comptage des briefcases presque expirés et expirés
    • Correction de gestion des valeurs false dans EnvUtils
    • Ajustements SQL pour logs et UserAction enum

    ⚙️ Configuration et paramétrage

    • Enrichissement du fichier de configuration de l’application pour les options suivantes :
    • Durée de vie d’un porte-documents
    • Jours de notification avant expiration d’un porte-documents
    • Normalisation des noms de fichiers cochée par défaut
    • Paramétrage d’un proxy

    💻 Installation / Migration

    • Configurer les variables d’environnement selon .env.example
    • Mettre à jour le schéma de la base de données avec la nouvelle table logs
  • v1.0.0 02/09/2025

    🚀 v1.0.0 – Mise en production de SignClic

    📄 Description

    Mise en production de la plateforme de signature SignClic, avec refonte complète du projet OpenSignature.
    Cette version représente la première version stable, prête pour la production et les contributions externes.

    Fonctionnalités principales :

    • Création de porte-documents collaboratif
    • Édition en ligne
    • Partage de documents
    • Demande de signature électronique
    • Signature électronique de documents (PDF avec signature intégrée, autres types de documents avec signature détachée)

    💻 Installation et paramétrage

    Suivre la procédure d’installation indiquée dans le README et les paramètres de l’application listés dans le wiki du projet.


    🔄 Migration et scripts associés

    Si une migration depuis OpenSignature est nécessaire :

    • 🛠️ Exécuter le script de migration pour transférer les données et les utilisateurs
    • 📁 Migrer également les carnets d’adresses via le script associé
    • ⚠️ Vérifier les logs pour s’assurer de la bonne complétion des migrations

    SignClic nécessite également la mise en place des scripts suivants :

    • Notification des dossiers de signature arrivant à expiration
    • Purge des dossiers de signature expirés
    • Lancement automatique des signatures

    🆕 Nouveautés

    • Refonte complète du projet OpenSignature → SignClic
    • Interface utilisateur modernisée et parcours utilisateur simplifié
    • Revue de l’architecture applicative et amélioration des performances
    • Support de la migration des données et des carnets d’adresses

    🛡️ Sécurité et conformité

    • Correctifs de sécurité inclus
    • Respect du RGPD et de l’accessibilité RGAA

    📚 Documentation

    • Scripts de migration disponibles dans le dépôt
    • Projet ouvert aux contributions externes