Synchronisation des carnets volumineux : la synchronisation entre la base publication et S-PASS échouait avec une erreur "argument list too long" pour les carnets de plus de 200 pages ; le contenu compressé dépassait la limite système ARG_MAX. Le worker transmet désormais le message via stdin (--pipe) au lieu de le passer en argument CLI.
Décodage supprimé en mode pipe : en mode --pipe, RabbitMQ envoie le corps brut du message directement dans stdin ; le décodage base64/gzip intermédiaire a été supprimé car il ne s'appliquait qu'aux arguments CLI.
Image de base Docker : l'image de base est désormais tirée depuis le registre OVH Harbor public S-PASS, supprimant la dépendance au registre GitLab.com du projet.
Pagination du dialogue d'import : la fenêtre d'import de carnets liste désormais 20 résultats par page, triés du plus récent au plus ancien, avec des boutons précédent/suivant. Plus besoin d'attendre le chargement de toutes les vignettes lors de la consultation des carnets publics.
Recherche au clavier dans l'import : la touche Entrée déclenche directement la recherche depuis le champ texte du dialogue d'import.
Import de carnets plus rapide : la copie du dossier média a été optimisée sur le stockage NFS (transfert via flux), et le déplacement final lors de la sauvegarde est désormais instantané (renommage plutôt que copie + suppression).
Refonte de la matrice d'autorisations sur les carnets : les règles d'édition, de partage, de lecture-pour-édition et de suppression ont été harmonisées et clarifiées.
Édition, partage, lecture-pour-édition : un administrateur peut tout faire ; le propriétaire peut intervenir sur son carnet quel que soit le niveau de partage ; un animateur ou expert peut intervenir sur un carnet de son groupe dont le niveau est au moins « groupe » ; un contributeur non-propriétaire est refusé.
Suppression : seul le propriétaire peut supprimer son carnet.
Support des emojis dans les blocs texte : la connexion à la base de données accepte désormais les caractères 4 octets (utf8mb4), ce qui autorise l'insertion d'emojis dans les blocs texte sans erreur d'enregistrement.
Limites d'exécution PHP ajustées : ajout d'une limite globale de temps d'exécution dans la configuration PHP, et relèvement spécifique pour les requêtes longues (copie de carnets, uploads volumineux) afin d'éviter les coupures prématurées.
Gestion d'erreurs de l'API : remplacement d'une exception incorrecte qui masquait la véritable cause d'un échec, et ajout d'un message d'erreur explicite lorsque le dossier source d'une copie est invalide.
Compatibilité avec les bloqueurs de pub : la publication numérique ne plante plus lorsque le script Piwik (Matomo) est bloqué par un bloqueur de publicité ou une extension de confidentialité. Les appels au traceur sont désormais protégés par des vérifications avant exécution.
2026.04.16-r216 avr. 2026
2026.04.16-r216 avr. 2026
Correction de l'affichage des champs de date partielle dans les formulaires d'édition
Champs de date partielle dans les formulaires de contribution : correction d'une régression introduite lors de la mise à jour des champs d'aide à la saisie — les champs de date partielle ne s'affichaient plus lors de l'édition de ressources.
2026.04.16-r116 avr. 2026
2026.04.16-r116 avr. 2026
Refactorisation interne et sécurisation des variables d'environnement
Suppression des credentials hardcodés : les identifiants sensibles (MariaDB, reCAPTCHA) ne sont plus intégrés en dur dans le code et sont désormais gérés via un fichier .env dédié.
Suppression de l'endpoint getGroupeConfigAction : cet endpoint précédemment déprécié a été retiré. Tout consommateur externe utilisant encore cette route doit mettre à jour son intégration.
2026.04.14-r114 avr. 2026
2026.04.14-r114 avr. 2026
Suppression du champ has_convention et refactorisation du traitement des termes
Retrait du champ has_convention : le champ has_convention est retiré des entités Groupe et Organisme. Toute intégration externe l'utilisant directement doit être mise à jour.
2026.03.26-r126 mars 2026
2026.03.26-r126 mars 2026
Réorganisation du bloc meta pour la génération des descriptions
Structuration des templates meta SEO : regroupement de l'ensemble des éléments liés aux meta SEO dans leur bloc dédié pour améliorer la lisibilité et la maintenabilité des templates.
2026.03.25-r125 mars 2026
2026.03.25-r125 mars 2026
Renforcement de la détection des spams, amélioration du SEO et de l'expérience de saisie
Détection des spams : enrichissement de la liste des termes sensibles pour améliorer le filtrage des contenus indésirables issus du formulaire de contact.
Meta SEO : le champ abstract est désormais priorisé pour la description, limité à 200 caractères avec ellipse conditionnelle si le contenu est tronqué.
Interface du mode enrichi : ajout d'une option de ratio « Original » pour les images dans le bloc juxtapose, et messages d'aide contextuels pour les champs de date dans le formulaire contributif de type image.
2026.02.10-r110 févr. 2026
2026.02.10-r110 févr. 2026
Ajout d'un endpoint public pour explorer le réseau des organismes
Endpoint réseau des organismes : le nouvel endpoint public /api/organismes/{id}/reseau.json permet d'explorer les relations entre organismes en identifiant ceux qui partagent des groupes communs (nombre de groupes partagés et liste détaillée). Aucune authentification requise.
Endpoint GeoJSON organismes : l'identifiant des organismes est désormais inclus dans les propriétés GeoJSON, améliorant l'interopérabilité des données cartographiques.