2 ans, 6 mois et 4 jours. C'est le temps qu'il a fallu entre la première version de Soosyze et sa version stable.
Il faut dire que nous avons fait le choix de tous recréer de A à Z et ceux pour 2 raisons
- Apprendre à concevoir un logiciel dans son intégralité,
- Réduire au maximum les dépendances et la lourdeur du code.
Donc, forcement il a fallu beaucoup de temps avant qu'une première version stable puisse voir le jour.
Si vous vous dites que deux ans et demi c'est beaucoup, je vous donne quelques points de comparaisons
- Le forum (Flarum) qui a été développé par le créateur de FluxBB est en développement depuis 7 ans et c'est sa 16ème bêta
- Pitivi qui est un logiciel de montage vidéo pour GNOME à sortie sa version 1.0 le 30 septembre dernier au bout de 16 ans de développement.
- Inkscape, l'un des concurrent libre et open source d'illustrator à atteint sa version 1.0 il y a quelques mois. Il a fallut 20 ans de développement.
Bref, nous vous laissons découvrir l'ensemble des nouveauté pour l'utilisateur et pour les développeurs dans cet article et vous pouvez également tester en ligne ces nouveautés directement sur la version de démonstration.
Utilisateur
Block
Améliore la sélection de blocs.
Ajout d'un message d'avertissement en cas d'absence de contenu pour un bloc.
Dashboard
#219 Ajout du tableau phpinfo dans les informations complémentaires du dashboard.
Filemanager
#202 Ajout d'un champ de recherche pour le Filemanager. (uniquement pour les fichiers du répertoire courant), les termes recherchés utilisent également la surbrillance.
#206 Téléchargement multiple dans le module FileManager.
#217 Ajout de l'action déplacer ou copier dans le module Filemanager.
Nouvelle configuration pour la copie du lien de fichier.
#225 Ajout d'un sous menu pour les pages de permission de fichier.
Menu
#232 Refonte de l'interface de gestion des menus.
#205 Ajout de l'option Lien parent au bloc de menu.
News
#211 Nouveau bloc de sélection pour les archives des news.
#209 Refonte du bloc des archives des news.
Le bloc des archives des news ont été revus. Au lieu d'avoir 2 blocs distincts, vous n'aurez plus qu'un bloc avec des configurations pour afficher ou non les mois dépliés.
Ces nouvelles configurations ajoutent un peu de performance au chargement puisque les mois ne sont plus obligés d'être calculés par défaut
Vous pouvez quand même afficher tous les mois grâce à sa nouvelle configuration :
#223 Ajout d'une configuration pour le titre du blog.
Node
Les types de contenus sont séparés du titre pour pouvoir le trier.
#226 Un contenu peut être possédé par un utilisateur.
L'affichage de l'utilisateur dans les articles :
L'affichage des contenus sur la page de l'utilisateur :
Les nouvelles permissions des contenus des utilisateurs :
La suppression de contenu a été revue, vous pouvez choisir de ne pas supprimer le répertoire de fichier.
De plus, si un contenu est utilisé par la configuration, un message vous avertira et vous proposera de corriger le problème avant la suppression.
#192 Ajout du formulaire de suppression dans une fenêtre modale.
#207 L'utilisateur pourra choisir le menu à la création d'un contenu.
#208 Ajout d'un nouveau bloc de navigation avec des liens suivant/précédent.
Vous allez pouvoir créer des blocs pour tous les types de contenus et personnaliser leurs affichages.
#231 Ajout des balises OpenGraph aux contenus.
Simplification de la date de publication des contenus.
System
Ajout d'un message d'avertissement si les URLs ne peuvent pas être réécrites.
Utilisateur de PHPMailer
L'ajout de PHPMailer a de nombreux avantages (sécurité, polyvalence…) mais a également de gros défauts comme la taille de ses sources. Il pèse au bas mot autant voir un peu plus que notre framework.
#203 Ajout d'une liste de sélection des routes par API.
#214 Refonte de l'interface d'installation.
- Le formulaire du choix des langues et de la timezone comme 1er étape d'installation.
- La bibliothèque SoosyzeCSS avec le thème dark,
- Les étapes d'installation deviennent cliquables pour revenir en arrière.
- Des icônes ont été ajoutées au bouton suivant,
- Des icônes de validation des étapes précédentes,
- Le titre de la page prend en compte le titre de l'étape,
- Un repositionnement du bas de page,
- Un repositionnement du titre et de l'icône Soosyze.
Nouvelle interface pour les thèmes
Les informations et données des thèmes dans la configuration sont supprimées (logo, favicon, le thème dark d'administration) et déplacer dans la nouvelle interface.
#229 Sépare les outils dans une interface dédiée.
Pour éviter que le menu principal du thème d'administration déborde de liens,
nous avons créer une nouvelle interface qui accueillera les outils pour Soosyze CMS.
Par exemple le module de backup ne sera plus présent dans le menu principal, mais dans la page des outils.
Trumbowyg
Ajout d'action de manipulation de table pour trumbowyg.
User
Une surbrillance dans la recherche des permissions.
Une surbrillance dans la recherche des permissions.
Ajout de la variable :id_user au champ de configuration « Page de redirection après connexion »
ajout d'un bloc de connexion utilisateur.
#224 Ajout d'un sous menu pour les pages de rôle.
Développeur
Soosyze CSS
#215 Ajout d'un composant Dropdown à Soosyze CSS.
Framework
- #201 Fin du support PHP 5.4
- Nous avons également commencé le développement de Soosyze framework 3 avec :
- Suppression du composant Email,
- Fin de son support PHP 5.4,
- Nouveau composant HttpClient pour des échanges entre serveurs,
- Plusieurs petites corrections.
- #221 Changement de format pour le chargement des services.
CMS
- Update, mise à jour de l'Apache Server Configs v4.1.0
- Mise à jour de la bibliothèque Queryflatfile 1.4.0
- #196 Ajout d'une fonction de surbrillance à Soosyze JS.
- #200 Utilisation de la bibliothèque PHPMailer.
- #198 Utiliser plusieurs fichiers de configurations.
- Ajout de la couleur dans les données de types de contenus.
- #220 Séparation des hooks dans un répertoire dédié.
- #218 Refonte de l'installation des thèmes et modules.
- #234 Simplification de l'ajout d'assets CSS et JS pour les modules.
- #235 Ajout d'un callback pour la migration de configurations.
- #233 Factorisation des éléments triables.
- #229 Sépare les outils dans une interface dédiée.
- #230 Utilisation d'interface pour les hooks les plus utilisés.
- #228 Bloque par défaut les accès aux routes non déclarées dans les permissions.
- #227 S'assurer de la bonne suppression des dépendances à la suppression d'un type de contenu.
- Utilisation des nouvelles fonctions du composant Template.
Mot de la fin
Cette version apporte de nombreuses fonctionnalités mais, il s'agit surtout de petites touches qui visent à améliorer son utilisation.
Notre développement c'est concentré sur l'architecture du CMS pour assurer sa stabilité.
Pour le moment il n'y a pas encore la possibilité de mettre à jour automatiquement le CMS, comme nous en avons parlé précédemment il faut d'abord modifier la plateforme qui accueille les modules, thèmes et le projet. Ce qui prendra un certain temps.
Mais je vous rassure cette évolution est une priorité.
Le prochain gros chantier qui nous attend est la mise à jour de la documentation développeur pour les modules, mais surtout la création d'une documentation pour les thèmes.
En attendant, vous pouvez nous retrouver sur le Forum, Discord ou Mastodon et n'hésitez pas à nous faire remonter d'éventuels bugs 😀