aktivisda-generator suite à la mise à jour 1.7.0Depuis la version 1.7.0 le fichier localconfig.json a été renommé en config.json et son contenu a été mis à jour avec de nouveaux champs. Cette version corrige le générateur pour créer des instances aktivisda compatibles.
La synchronisation échouait lorsqu'on essayait d'ajoute dans la configuration une langue qui n'était pas déjà présente dans la configuration. C'est désormais corrigé.
Cette mise à jour est une première brique indispensable en vue de créer une plateforme Aktivisda qui permettra d'avoir plusieurs structures utilisatrices d'Aktivisda sur un unique serveur. Cette plateforme sortira pour la v2.0 de Aktivisda et il reste beaucoup de travail avant d'y arriver.
Actuellement, Aktivisda est compilé pour chaque instance à chaque modification des données de cette dernière ou à chaque modification de Aktivisda. L'objectif à terme est de compiler Aktivisda uniquement aux corrections de bugs ou aux mises à jour de Aktivisda. De cette manière, on pourra multiplier librement le nombre d'instances de Aktivisda.
D'un point de vue très concret, cette mise à jour n'apporte pas de réel changement pour les utilisateur·ices actuels d'Aktivisda : il est toujours nécessaire de recompiler Aktivisda à chaque changement. Cette étape sera supprimée dans un deuxième temps.
Néanmoins, de très nombreuses modifications ont été réalisées dans le code. On n'a plus besoin de recompilation lorsqu'on modifie des données pour les symboles, images de fond, couleurs et tags.
Concernant les polices de caractères, les modèles ou la configuration, on a encore besoin de la compilation pour des toutes petites étapes, qui pourront être découplées de la grosse compilation :
Cette mise à jour fait évoluer le fichier de configuration localconfig.json s'appelle désormais config.json, il est désormais formaté comme les autres fichiers, avec l'ajout de la version courante. Et il est augmenté d'une section gitlab qui contient les informations de connexion au projet Gitlab.
Il reste plusieurs encore plusieurs chantiers pour réellement rendre Aktivisda dynamique :
buefy.scss qui a essentiellement pour rôle de personnaliser la couleur principale de l'instance ;Enfin, cette mise à jour ajoute des playbooks Ansible pour faciliter le déploiement des projet.
En complément, petites corrections de bug sur la vectorisation d'images dans backtivisda (voir issue #283).
Il est désormais possible de contraindre des options de texte parmi une liste pré-définie. Cela peut par exemple permettre d'avoir un champ texte "mois de l'année". Ces options sont internationalisables (chaque choix peut-être traduit), les traductions peuvent être synchronisées avec Tolgee.
Par simplicité d'interface, la modification des choix n'est faisable que dans Backtivisda. Pour ajouter un tel champ de texte, il faut (1) créer un élément textuel classique puis (2) le basculer en mode "choix" et alors renseigner les choix un par un.
Il n'était plus possible d'ajouter d'ajouter des images (et photos) sur les modèles dans l'interface de Backtisda (cf. ticket #281).
Le problème me semble dater de la version 1.2.0. Des méthodes nouvellement ajoutées à aktivisda/datastore.js n'ont pas été ajoutées à backtivisda/datastore.js.
Dans la suite de la mise à jour 1.0.42, il est désormais possible de synchroniser des traductions locales avec Tolgee.
Pour en savoir plus sur les traductions et comment mettre en place une synchronisation avec Tolgee, se référer à la nouvelle page de la documentation Traductions.
Les traductions de l'interface de Aktivisda sont désormais bien synchronisées :
Cette mise à jour permet de cloturer les tickets #210 et #267.
Il s'agit d'une fonctionnalité très attendue, très commune dans ce genre de logiciels : la possibilité d'annuler ses dernières modifications. Toutes les modifications peuvent être annulées, à l'exception de la suppression ou de l'ajout de certains éléments. Cette fonctionnalité était demandée depuis le tout tout début, comme en témoigne le numéro du ticket associé : le ticket #9.
Cette fonctionnalité s'accompagne du support des raccourcis claviers sur quelques fonctionnalités clés, actuellement l'annulation, le rétablissement, le passage au premier plan ou à l’arrière plan ainsi que la suppression d'éléments (voir ticket #271).
D'autres raccourcis claviers pourraient arriver.
Le verrouillage des modèles est désormais en grande partie testé, en particulier tout ce qui concerne les déplacements des composants directement à la souris. Dans ce cas, l'élément est automatiquement déplacé dans sa zone autorisée : ceci est plutôt bien testé, notamment la combinaison avec la fonctionnalité d'annulation (voir ticket #274).
Ces tests ont permis de détecter quelques bugs dans certains cas particuliers.
/edit) ;Lors de la création de nouvelles zones de textes depuis la version 1.2.0, la police utilisée était Arial. Cette police ne pouvait alors pas être changée. Cela dérangeait les utilisateurices au moment de de l’export pdf qui était impossible (voir ticket #269).
Ce problème a été traité sous trois aspects différents :
Par ailleurs, mise à jour de la page "Quickstart" suite à la version 1.2.0. Il manquait l'étape de compilation de la bibliothèque (voir ticket #268).
Suite à la version 1.3.0, à partir du moment où une chaîne de traduction est surchargée dans la langue par défaut (c'est-à-dire l'anglais) alors la traduction proposée par Aktivisda est tout le temps ignorée.
Par exemple, si on définit WELCOME.CONTACT uniquement en anglais, alors l'utilisateur·ice espagnol·e verra le texte en anglais (et bien sûr, si on définit le texte en espagnol, alors c'est ce qu'iel verra).
Également, correction d'un bug (voir ticket #266) sur les traductions du nom de l'instance en cas de changement de langue. Si on chargeat la page en français, alors le nom de l'instance en EN n’était pas chargé au changement de langue.
⭐ Ajout de nouvelles traductions en anglais, notamment toute la partie Backtivisda, traduit par la Fresque du Climat.
Il est désormais possible de personnaliser les différents textes qui apparaissent dans Aktivisda, en particulier les titres et les boutons.
Très concrètement, cela se réalise en définissant dans le fichier de configuration config.json des traductions qui seront utiliées à la place des traductions officielles :
localConfig une entrée i18n, une sous-entrée correspondant à la langue choisie puis une sous-entrée avec la clé de traduction. La clé de traduction est à écrire dans sa version chemin, concaténée avec des . (par exemple : WELCOME.CONTACT).!> ⚠️ Prudence : certaines clés de traduction pourraient changer d'une version à l'autre de Aktivisda. Par ailleurs, il est important de bien définir les textes dans toutes les langues car, s’il existe une traduction officielle dans Aktivisda c’est celle-ci qui est utilisée.
Exemple de fichier config.json:
{
...,
"i18n": {
"i18n": {
"fr": {
"SVGS.CONTRIBUTE": "le texte à afficher..."
}
}
}
}
Un call to action pour la traduction des modèles a également été ajouté sur Aktivisda, dans la liste des langues disponibles pour chaque modèle.
Depuis la version 1.1.0, il est possible de spécifier certaines valeurs des paramètres uniquement pour certaines langues, de manière à ajuster la mise en page en fonction de la langue par exemple. Or, il se trouve que si le modèle était sauvegardé alors qu'on était en train de modifier une langue spécifiquement alors la position de cette langue était considérée comme position par défaut (voir ticket #264). Plus précisément, si on exportait une image à partir du modèle en anglais, alors la mise en page "anglais" était considérée comme la mise en page par défaut.
Le problème se situait dans le code chargé d’ouvrir de nouveaux modèles. Ce dernier ne réinitialisait pas complètement sa représentation interne entre deux chargements, et conduisait à avoir des données incohérentes. Par ailleurs, ce code avait un effet de bord en modifiant les données en entrées.
Un test a été ajouté.
Suite à la mise à jour 1.2.0, l'ouverture de modèles avec des photos ne fonctionnait plus sur backtivisda, mais cela fonctionnait toujours sur Aktivisda.
Sur Aktivisda, on peut modifier les champs de texte directement en double-cliquant dessus. Cette fonctionnalité a été légèrement revue dans la version 1.2.0 et était devenue inopérante : on ne pouvait plus cliquer ce champ de modification de texte au clic (voir ticket #263). Le problème a été remonté par Alternatiba.
Dans la continuité de la version 1.2.1, cette version apporte quelques corrections de bugs supplémentaires :
&). Ce caractère spécial (ainsi que le >) est désormais géré (et il y a un test associé) (voir ticket #257).Par ailleurs, le badge nouveau a été enlevé de la fonctionnalité d'import de fichiers : ce n'est plus du tout une nouvelle fonctionnalité.
Quelques corrections de bugs dans une logique de dépiler les trop nombreux tickets présents sur le projet Framagit et accumulés ces derniers mois.
type === 'internalphoto' n’était pas ajouté à l'image (ce qui plantait côté aktivisda). C'est désormais corrigé. Par ailleurs, j’ai remarqué que la compression des images (même jpeg) n'était en réalité pas activée. Corrigé ! (voir ticket #248)Création d'une bibliothèque logicielle Aktivisda-library (cf. ticket #135) pour faciliter la création de logiciels similaires à Aktivisda. Aktivisda-library est notamment intégrée au site Refigure.
Cette bibliothèque JavaScript permet de créer des visuels dynamiquements avec :
.svgz, possibilité de changer les couleurs à la volée.Cette mise à jour s'accompagne de l'ajout de très nombreux tests pour vérifier le bon comportement des fonctionnalités de Aktivisda-library, ainsi que du passage à du TypeScript qui aide à garantir que le code est correct. C'était une étape nécessaire pour grandement faciliter la maintenance et l'évolution future du projet.
Une grande partie des tests consistent à générer des visuels à partir d'une description, de les exporter en png, jpeg, json et pdf et de s'assurer que ces différents formats sont cohérents. Les tests ont été écrits de manière à couvrir un maximum des cas d'utilisation possible de Aktivisda.
Cela a permis de corriger de nombreux bugs sur le cœur de Aktivisda, à savoir le rendu visuel, en particulier tout ce qui est relatif au format pdf :
Cette mise à jour est complétée par deux nouvelles fonctionnalités (fonctionnalitées non encore disponibles sur Aktivisda, seulement dans la bibliothèque internes)
🙌 Cette mise à jour a été financée par la Fresque du Climat, merci à elles et eux pour soutenir ce projet de Commun Numérique. Aktivisda du fait de sa relative simplicité a pu s'adapter pour répondre aux besoins précis de la Fresque et coller au plus près à leur charte graphique et à leur volonté d'éviter que les utilisateur·ices détournent les visuels.
💻 Le développement de Aktivisda est désormais assuré par la société coopérative TelesCoop qu'a rejoint Marc-Antoine, le développeur historique Aktivisda.
Cette version comporte quatre nouvelles fonctionnalités clés :
.htpasswd à la racine du projet pour ajouter une authentification par mot de passe au projet (basée sur apache2) ;Mise à jour de nombreuses dépendances de Aktivisda pour faciliter sa maintenance future et corriger dans l'immédiat un bug dans l'intégration continue (voir ticket #238).
Également désactivation de la pré-génération de toutes les pages du site web. Cette étape de pré-génération était trop coûteuse en puissance de calcul. Une méthode alternative existe et pourra être réalisée ultérieurement, une fois que la base du code aura été améliorée (voir ticket #239).
Mise en place d'une inter-connexion avec l’instance Tolgee de la Fresque du Climat. Les différents fichiers de traduction de Aktivisda sont automatiquement synchronisés avec Tolgee ce qui devrait permettre d’augmenter grandement la qualité (et le nombre) de langues dans lesquels Aktivisda est traduit.
À terme, il devrait également être possible de connecter Tolgee aux traductions locales propres à chaque instance.
Aktivisda : Le nom et la description de l'instance peuvent désormais être différents suivant la langue sélectionnée par l'utilisateur·ice (voir ticket #202).
Certaines descriptions Open Graph n'étaient pas encore traduites (voir ticket #119)
Aktivisda : On peut ajouter un fichier de configuration Apache2 .htaccess à la racine de son projet. Ce fichier est alors ajouté au projet Aktivisda
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
Backtivisda :
Aktivisda :
Intégration continue : Ajout de la possibilité de spécifier la version de Aktivisda à utiliser pour son projet. Cela est particulièrement utile lors des phases de développement.
Pour spécifier la version, ajouter une clé aktivisda.ref dans le fichier config.json. La référence peut être un commit, une branche ou un tag.
{
...,
"aktivisda": {
"ref": "main"
}
}
Backtivisda / serveur : Correction d’un bug sur le serveur de backtivisda, bug causé par l’ajout de l'infrastructure de tests en version 1.0.35 (voir ticket #204). Ajout également d'un test de calcul de miniature pour à partir d'une image jpeg.
Backtivisda : ajout de toutes les chaînes de traduction dans backtivisda grâce à i18n-ally. Il est donc désormais possible de traduire l'interface d'administration en anglais (ou dans n'importe quel autre langue !).
Serveur : Détecte et fixe un bug dans la dépendance interne images-manipulator. Ce bug est désormais détectable directement dans Aktivisda grâce à une nouvelle infrastructure de tests de l'API (voir ticket #191).
Documentation : Refonte de la documentation de aktivisda.earth pour proposer un guide pas à pas pour installer son mémo en autonomie. Cette documentation demeure bien incomplète et une installation en autonomie complète est encore hors de portée.
Générateur : Quelques fichiers générés par le package yeoman étaient faux.
backtivisda: Les modèles déjà existants peuvent désormais être mis à jour (voir ticket #173)
Documentation : ajout d'une page Spécifications avec les fonctionnalités présentes et futures de backtivisda
Fonctionnalités:
Correction de bugs dans Aktivisda
console.error liée à l'absence d'image OpenGraph au chargement de l'éditeur sans modèle prédéfinit (url /edit). Corrigé en utilisant l'image OpenGraph par défaut.Documentation:
/// admonition | Histoire des modification perdu Le suivi des changements a été créé en septembre 2023 mais le projet a commencé dès 2020 ! ///