Journal de développement 1.0.0 billet 4

Picture

Nous vous souhaitons une bonne santé à vous et vos proches (je pense que nous en avons tous besoin pour l'année qui arrive ^^) et beaucoup de réussite dans vos projets personnels et professionnels.

Personnellement nous nous souhaitons de sortir la version stable de Soosyze durant cette année. Nous reviendrons sur ce point à la fin du billet dans un chapitre dédié.

Nous commencerons par énumérer les développements qui ont eu lieu ces deux dernières semaines.

Utilisateur

Installation des thèmes

L'interface est finalisé et de grands changements ont permis de stabiliser leurs installations.

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.

Filemanager

Les actions de copie et déplacement pour les fichiers sont finies.

Dashboard

La page d'information complémentaire sur le serveur est remplacée par le tableau de la fonction de phpinfo().

Tools

Pour éviter que le menu principal du thème d'administration déborde de liens, nous sommes en train de 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.

Cette page appartient au module Système et sera elle sera présente quoi qu'il arrive.

Nous pensons donc rapatrier les actions présentes sur le dashbord pour les intégrer à cette page, car la mise à jour des traductions et l'exécution de la tâche cron sont des actions du système (logique ^^).

Développement en cours

Un nouveau champ dans les contenus permet de préciser qui à là créé.

De nouveaux droits utilisateurs seront mis en place comme la possibilité de modifier et supprimer son propre contenu.

Il faut encore que nous réfléchissions aux options à adopter lorsqu'un utilisateur qui possède des contenus supprime sont compte.

Développeur

Thèmes et modules

La validation de l'installation des thèmes et modules sont revus pour prendre en compte la version PHP, les extensions PHP et les bibliothèques PHP supportées par composer.

La traduction des thèmes sont supportées par le buttons d'action "Mettre à jour les traductions".

Les classes d'héritages pour l'installation d'un module Migration devient ExtendModule et la classe d'installation d'un thème se nomme ExtendTheme. Le nom de la classe d'installation Installer devient Extend.

De plus, les modules requis possèdent un lien menant à l'ancre de chaque module pour une meilleure visibilité des prés-requis.

Service

Pour économiser de la RAM, le format des fichiers des services s'écriront au format PHP et non plus au format JSON.

Ce changement apporte une économie de RAM pouvant aller jusqu'à 10% sur PHP 7. De plus, les commentaire sont possibles avec la syntaxe PHP contrairement au JSON.

Ce changement n'apporte pas d'économie sur PHP 5.

Hook

À la vue du grand nombre des hooks, ceux-si sont séparés dans un répertoire dédié.

Injection de dépendances

Toute injection de dépendances sont typés en phpDoc avec une portée privée lorsque c'est nécessaire pour une meilleure lisibilité des services.

Autre

Il y a eu de nombreux autres changements comme :

  • La déclaration systématique des namespaces même si l'objet est utilisé qu'une seule fois,
  • La précision du type array dans la ConfigInterface,
  • Des constantes sont utilisées lorsque c'est possible pour simplifier et normaliser les options dans les configurations,
  • Une uniformisation des méthodes et paramètres pour l'ajout de valeur dans les formulaires,
  • Et pas mal de revue de code...

Soosyze 1.0.0 LTS

Alors que reste t-il à faire ?

Roadmap

Il ne faut pas oublier que la roadmap que nous avons publié ne représente pas la version LST, mais la vision de départ que nous voulions atteindre pour le CMS.

Et nous allons donc préciser ici les points essentiels pour atteindre la version LTS.

Nous souhaitons que cette version soit disponible d'ici février/mars 2021.

Au début nous nous sommes dit que nous pourrions mettre le plus de choses possibles dans cette version pour faire patienter nos utilisateurs, mais nous allons clairement manquer de temps si nous voulons tenir les délais.

Nous ne savons pas combien de temps nous allons pouvoir consacrer au projet sur ce début d'années.

À titre personnel il a de grands changements qui vont s'opérer pendant ctte période (février/mars) ce qui réduira considérablement le temps que nous passons sur Soosyze.

Deux choix s'offre à nous :

  • Soit repousser la date de sortie de la version LTS (dans le cas le plus optimiste, juin/juillet 2021) pour avoir un maximum de fonctionnalités et de stabilités.
  • Soit réduire nos exigences au strict minimum en conservant la date prévue.

Donc, à minima il restera à finir :

  • Les développements en cours (la possession de contenu d'un utilisateur et l'interface des outils),
  • Les points remontés par la communauté :
  • Remplacer Tous par Tout dans la liste de sélection des archives,
  • Ajouter une option pour modifier le titre de la page du blog.
  • Implémenter la bibliothèque anti-xss,
  • Tester toutes les fonctionnalités une par une pour corriger la présence de bug.

En phase d’étude

D'autres points sont à l’étude, mais représentent une trop grosse charge de travail pour être fonctionnel à temps, tel que :

Le formulaire de connexion dans les blocs.

Celui-ci s'affiche bien, mais le token CRSF (pour la sécurité) ne se valide pas correctement. Ce qui pose de nombreuses questions pour l'ajout de formulaire dans les blocs (formulaire de recherche, de newsletter, pour un livre d'or...).

La mise à jour automatique du CMS

Il faut modifier une grande partie de la plateforme gérant les modules et thèmes sur soosyze.com car il ne s'agit actuellement que d'une vitrine. Je vous passe lès très nombreux détails, mais il s'agit d'une tâche qui demande quelques semaines/mois de développement.

Quelques rappels

De plus, il ne faut pas oublier que le principe d'une version LTS est son support sur le long terme, c'est-à-dire qu'il n'y aura aucune évolution, mais des corrections de bug.

Nous rappelons également que nous ne développerons pas de modules et thèmes contributeurs pour cette version LTS, car notre priorité est d'emmener le projet sur notre vision de départ du CMS.

Après rien n'empêche nos utilisateurs de créer leurs propres modules et thèmes. Partager-lès nous sur le forum, nous les publierons avec joie. La sortie de la version LTS signifie également que la documentation pour les développeurs sera mise à jour.

Retenez que l'équipe en charge du CMS, sera concentrée sur le cœur de celui-ci.

Nous tenons également à rassurer nos utilisateurs qui n'ont pas voté pour la sortie anticipée de Soosyze, les points manquant seront apportés sur les prochaines versions de développement 😃

Mot de la fin

D’ici février/mars, lorsque les points minima seront réalisés, nous vous proposerons de voter pour une sortie de la version LTS ou son report de quelques mois donc, pas de panique pour le moment ^^.

Notre prochain billet du journal de développement sera pour le 16 janvier prochain, sûr-ce encore bonne année 😉

Scroll to top