De l’art de perdre du temps.

Cette semaine j’ai sous performé ou pour le dire en français j’ai du faire un gros retour en arrière sur une partie de l’infrastructure que j’avais mis en place pour les tests.

Ça y est je suis en retard sur la livraison du paiement en ligne. J’avais prévu de finir toute cette partie durant le mois de mars et nous voici le premier avril et je n’ai pas encore fini.

Rien de grave me diras tu mais la faute m’en incombe complètement. Forcément je suis tout seul dessus.

Alors pourquoi ce retard ?

Je travaille beaucoup sur le dashboard afin de mettre en place ce paiement en ligne. Le dashboard est mon premier vrai projet sous Laravel et forcément un des plus ancien. Du coup j’en profite pour refactorer (remettre à jour/nettoyer) du code et rendre le tout plus propre. Par la même occasion j’en profite pour mettre en place du TDD rétroactif (des tests quoi). Il me faut donc écrire les jeux de tests, vérifier que je n’ai pas tout casser etc. Et tout cela, ça prend du temps.

En prime, je me suis rendu compte que j’avais souvent complexifié des choses qui n’en avait pas besoin. Prenons le cas des tests.
Avant docker, je mettais ma base de données de tests sur le même serveur que ma base de données véritables.

Va savoir pourquoi mais en passant sous docker, je suis parti sur un serveur MySQL différent pour chaque base de données. Cela me donnait un container pour les données de tests et un pour les données véritables.
Tout fonctionnait sans soucis sauf que cela doublait mon temps de maintenance des containers MySQL et rendait l’ensemble inutilement compliqué.
J’ai donc tout regroupé toutes mes bases de données (tests et réelles) sur un seul container MySQL avant de faire les modifications induites par ce changement.

C’est ce qui m’a pris le plus de temps cette semaine. Il m’a fallu prendre la décision de détruire ce que j’avais mis en place pour le simplifier. Cela n’a pas été si simple. J’ai d’abord essayé de trouver une solution alternative (pour ne pas tout refaire) avant de me résigner.

Ensuite j’ai du modifier quelques fichiers de confs Laravel/Docker pour remettre l’ensemble en route.

Je me suis rendu compte également que de larges parties de code n’était pas testé. Il a donc fallu que j’adapte mon jeu de tests tout en l’adaptant à la sortie de phpunit 8.

Mais voilà, l’ensemble est désormais beaucoup plus sain tout en étant plus facile à maintenir.

Pour la semaine prochaine donc, je m’en fais la promesse solennelle, j’aurai fini le paiement en ligne ! Voilà c’est mon engagement !

Published by

Fred

Totally fluent in frenglish, what a gift !

Leave a Reply

Your email address will not be published. Required fields are marked *