Changelog

Découvrez les dernières évolutions de la plateforme S-PASS Territoires

64 mises à jour

Ajout de l'import des arbres remarquables FNE Anjou

s-pass core3.14.6

✨ Nouveautés

  • Import FNE Anjou : nouvelle commande d'import des arbres remarquables du Maine-et-Loire depuis le GeoJSON FNE Anjou — création des fiches Arbres avec géocodage, mots-clés et photos.
  • Lien vers FNE Anjou : les fiches d'arbres importées par le script caue:import:fne-anjou affichent un encart de lien vers l'inventaire participatif sur arbres.fne-anjou.org.

🐛 Correctifs

  • Import FNE Anjou : correction du groupe de rattachement par défaut appliqué lors de l'import.
  • Encart FNE Anjou : suppression de sauts de ligne parasites dans le texte de description de l'encart.

Correction des formulaires de contribution et de l'affichage des indications

s-pass core3.14.5

🐛 Correctifs

  • Formulaires de contribution : correction des bindings de collection dans les onglets (réalisation, actualité, publication, marqueur, projet, action, image) qui pointaient vers le mauvais contexte.
  • Formulaires de contribution : normalisation des structures date_rea et release_date, remplacement des @input par v-model pour simplifier la gestion des propriétés.
  • Indications des champs : application de white-space: pre-wrap pour respecter les sauts de ligne dans les textes d'aide.

Mise à jour des traductions et des libellés d'interface

s-pass core3.14.4

🌐 Traductions

  • Synchronisation Loco : mise à jour des fichiers de traduction (allemand, anglais, néerlandais) avec les nouveaux libellés pour le filtrage par mots-clés, le filtrage géographique et la densité d'affichage.
  • Correction allemand : le menu "Actions" traduit en "Aktionen".

Correction du chargement de l'éditeur en iframe (Chrome) et invalidation automatique du cache

publication1.3.2

🔧 Améliorations

  • Invalidation automatique du cache des assets : chaque URL d'asset (main.js, main.css, etc.) est désormais suffixée par un paramètre de version (?v=1.3.2). À chaque nouvelle release, les utilisateurs récupèrent automatiquement la version à jour sans avoir à vider manuellement le cache de leur navigateur.

🐛 Correctifs

  • Erreur de chargement de l'éditeur dans le backoffice (Chrome) : l'éditeur de carnets affichait des erreurs multipleDefine lorsqu'il était ouvert dans une iframe sous Chrome, à cause d'une collision entre le bundle JavaScript de l'éditeur et le loader interne d'ArcGIS. Le bundle a été renommé pour supprimer définitivement cette collision.
  • Course au chargement entre l'éditeur et ArcGIS : le script ArcGIS 3.8 est désormais chargé en mode différé, ce qui évite les conflits de timing avec le code de l'éditeur lors de l'initialisation.

Publication numérique : ajout du bloc d'intégration et nombreuses corrections

Publication numérique : ajout du bloc d'intégration et nombreuses corrections
publication1.3.1

✨ Nouveautés

  • Bloc d'intégration : nouveau type de bloc « Intégration » qui supporte 11 services en collant simplement leur URL — Youtube, Vimeo, Dailymotion, Mindomo, IGN Ma Carte, Umap, Carte S-PASS, Labs S-PASS, Calaméo, Github Pages et Genially. Le service est détecté automatiquement, une légende optionnelle peut être ajoutée.
  • Préservation de l'état des intégrations : l'iframe d'une intégration garde son état (lecture vidéo, navigation carte, mind-map déployée, etc.) pendant qu'on édite d'autres blocs de la même page. Plus de rechargement intempestif à chaque modification.
  • Vignettes des blocs d'intégration : la miniature de page affiche désormais un placeholder distinct par service (icône évocatrice : lecteur vidéo, marqueur de carte, mind-map, livre, etc.) pour identifier visuellement le contenu intégré.

🔧 Améliorations

  • Régénération des vignettes après pan/zoom d'image : la miniature de la page est désormais mise à jour lorsqu'on ajuste le cadrage d'une image, même sans modifier la taille ou la position du bloc.
  • Vignettes préservées lors d'un changement de page rapide : la régénération en attente est exécutée immédiatement plutôt qu'annulée, donc plus de modifications « perdues » quand on enchaîne page d'après page.
  • Bouton « Supprimer les styles » du bloc texte : nettoie maintenant intégralement la mise en forme, y compris les attributs style, les balises de bloc collées (div, li, titres) et les éléments orphelins de copier-coller.
  • Suppression de ligne vide dans un texte : Suppr ou Retour-arrière sur une ligne vide adjacente à du texte stylé ne casse plus le style du paragraphe voisin.
  • Repère visuel pour les blocs d'intégration : le bouton de bordure de la sidebar entoure aussi les blocs d'intégration (en jaune) pour bien les identifier pendant l'édition.
  • Panneau des calques : les blocs d'intégration et vidéo affichent désormais leur icône (comme texte, image et carte).
  • Renommage du cookie de session : le cookie est maintenant nommé PUBLICATIONSESSID pour éviter les conflits avec d'autres applications hébergées sur le même domaine.

🗑️ Suppressions

  • Outil « Vidéo » dans la sidebar : le bouton de création de bloc Vidéo est retiré au profit du nouveau bloc d'intégration qui couvre Youtube, Vimeo et Dailymotion. Les blocs vidéo déjà présents dans les carnets existants restent affichés et éditables.

Ajout de la carte publique intégrable et améliorations

s-pass core3.14.3

✨ Nouveautés

  • Carte embarquée publique : nouvelle route /app/map/embed accessible sans authentification CAS, conçue pour l'intégration via <iframe> sur des domaines tiers (publication numérique).

🔧 Améliorations

  • Refactoring du contrôleur principal : DefaultController découpé en contrôleurs spécialisés (Contact, Membership, Publication, Widget) pour faciliter la maintenance.
  • Affichage Carte des Portails : le message "aucune géolocalisation" se masque désormais correctement quand des résultats géolocalisés sont affichés sur la carte.

Correction du blocage de la synchronisation des publications numériques volumineuses

worker-book1.0.3

🐛 Correctifs

  • 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.

🔒 Sécurité

  • Authentification Docker : le token d'accès au registre est désormais transmis via --password-stdin, évitant son exposition dans les logs CI.

Pagination de l'import et refonte des autorisations

publication1.3.0

✨ Nouveautés

  • 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.

🔧 Améliorations

  • 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.

🐛 Correctifs

  • Boucle de réécriture sur favicon.ico et robots.txt : correction de la boucle de redirection nginx qui polluait les logs et provoquait des erreurs 499.

Robustesse de l'API et limites d'exécution PHP

publication1.2.5

🔧 Améliorations

  • 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.

🐛 Correctifs

  • 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.

Correction du plantage lié au blocage de Matomo

publication1.2.4

🐛 Correctifs

  • 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.