Voici le rapport de novembre.
Amélioration des tests, gestion des changements, casse-tête sur les tests lancés par github.
On va détailler tout ça, et d’autres choses, dans la suite du rapport.
Plusieurs fois par semaine, je continue de streamer du live coding du projet sur ma chaîne Twitch.
C’est toujours un plaisir de streamer du développement de code. Ce mois-ci, c’était assez abstrait car centré sur le backend.
En décembre, le plus gros du travail portera sur le frontend, et notamment pendant les vacances de noël, ça sera donc plus visuel ^_^
N’hésitez pas à passer faire coucou !
Le projet FusionSuite soufflera sa première bougie le 12 janvier prochain.
J’en ai parlé lors du rapport précédent, mais je confirme les informations :
Notre partenaire DCS EASYWARE nous a mis à disposition 5 serveurs pour commencer les tests de performance et les configurations possibles, à savoir :
Pour les 2 derniers points, ça sera simple à mettre en place une fois en production chez vous, car le backend a été pensé et architecturé pour un mode normal (1 serveur), mais également pour ces modes-là, utiles pour les plus gros environnements.
Je vous en reparlerai dans un prochain rapport du mois ;)
Enormément de temps a été consacré à l’amélioration des tests :
Cela représente des dizaines de milliers de lignes modifiées, mais on a des tests plutôt propres (2400 tests).
Beaucoup d’heures ont été perdues (environ 20 ;/ ) dans la résolution des actions github.
Les actions github sont les tests lancés lorsque l’on commit dans le dépôt pour vérifier que l’on n’a rien cassé.
En novembre, une nouvelle image du système d’exploitation a été mise en place par Github (Ubuntu 22.04).
On lançait les tests php-fpm dans le dossier home
et c’est désormais protégé dans cette nouvelle version.
Après plein de tests, au final la seule solution est de déplacer les fichiers du backend dans /var/www/
pour que php-fpm puisse accéder aux fichiers.
En novembre, PHP 7.4 est passé EOL.
Cette version a été enlevée du backend, donc PHP 8.0 et 8.1 sont recommandées (obligatoire en réalité).
La gestion des changements a été mise en place, c’est l’historique des modifications. Lorsque l’on modifie le nom d’un item, sa propriété…
Ces changements ne sont accessibles que via la récupération d’un item avec son id.
Lorsque l’on récupère plusieurs items, les changements ne seront pas dans les données.
Les données historisées sont :
Après plusieurs jours de réflexion, lors de la suppression définitive, il a été décidé de mettre dans old_value la liste de tous les champs de l’item. Ceci permettra à un admin de pouvoir retrouver les informations qu’il y avait avant suppression. J’ai eu le cas plusieurs fois et c’est vraiment utile.
Je ne sais pas encore s’il y aura une page admin spécialement pour ça ou si ça restera manuel dans la base de données.
Eloqent a été mis à jour en version 9.x, les tests passent tous donc pas d’effet de bord détecté.
Les efforts ont été portés en novembre sur le backend pour stabiliser et ajouter les changements, donc très peu de modifications sur le frontend.
Les tickets ont été pas mal codés ces derniers mois.
Je me rends compte que le code est assez conséquent, il va donc être divisé en plusieurs parties, à savoir :
1/ mise en place de la partie conversation dans un composant spécifique, car utilisé également pour l’historique (types, ordinateurs…) 2/ code de la gestion des propriétés (+ historique) 3/ code de la gestion des types (+ historique) 4/ code de l’import des templates (tickets…) 5/ code des tickets
Le projet continue bien, on va passer un stade en décembre en avançant sur le frontend suite à la stabilisation et la gestion des changements dans le backend.
David Durieux - Leader du projet FusionSuite