Alors, évidemment, Bonjour à Tous ! ce n'est pas du tout une intro de chaîne YouTube
Bon, le rythme d'un article par mois n'a pas été tenu, l'auteur du blog est aussi productif qu'Antoine Daniel,
la motivation n'est pas une constante mais ce qu'on peut au moins accorder au COVID19 c'est qu'il nous a donné du temps pour réfléchir au projet et a remis le projet sur les rails de la productivité.
On aurait techniquement pu faire un article en avril mais on a décidé de tout regrouper en un seul article, ne perdons pas de temps : c'est parti !
Sur les deux sites (RetroBox et Thingmill) comme on en a l'habitude, on a fait beaucoup de corrections de bug et de réorganisations. Valentin a fait une optimisation du référencement pour les moteurs de recherche et surtout, l'amélioration majeur du site RetroBox est la gestion d'un cache ce qui permet d'améliorer grandement la vitesse de chargement des pages dans tout le site.
Le site gère maintenant la livraison des colis automatiquement grâce à Colissimo et bientôt Chronopost pour une livraison aussi rapide que le twitter de Donald Trump.
Le système de paiment fonctionne parfaitement bien, vous pouvez donc désormais payer par Paypal et par CB (via Stripe).
Notre page qui décrit notre entreprise a été bien mis à jour, on a même fait un coin presse (au cas où un journaliste de Ouest France ou du Canard Enchaîné passerai).
Alors sa peut parait inutile pour certain, mais on a également ajouté la navigation avec le clavier, en gros juste avec les tabulations, les croix directionnelles, le bouton escap etc, il est possible de naviguer complètement dans le site (feature qui fait pro et digital).
Nous avons ENFIN reglé le problème des boutons pour le projet RetroBox dans la page d'accueil du site de Thingmill, aucun ne fonctionnait, un bugfix tout con en plus lol et ça faisait des mois qu'il était présent...
Je rapelle pour une grande partie d'entre vous, l'API est un système qui permet de faire le lien entre tous nos services, c'est très important pour le fonctionnement du projet. On a ajouté de la doc, et tout est décrit là. C'est un peu technique, mais en gros c'est pour les Bricolos qui veulent utiliser/modifier/apprendre de notre API.
Karate, le logiciel qu'on utilise pour réaliser nos tests
Notre API commence à devenir imposante et nous avons besoin de savoir si au fur et à mesure des mises à jour et du temps, si toutes les fonctions de l'API répondent correctement, alors un API Tester à été mise en place c'est à dire qu'on est informé en temps réel si quelques chose ne répond plus.
Aurevoir Circle CI, bonjour Github Actions ! L'ancien système de CI/CD fonctionnait mais on préfère que tout soit sur le même service, plus simple à gérer pour nous. Bientôt web/admin/android seront aussi sur Github Actions.
En gros le CI/CD (Continuous Integration/Continuous Deployment) va fonctionner ainsi sur la majorités de nos repo :
Lorsqu'un commit est fait sur la branche master, cela déclenche tout un processus de test (Par exemple TestLab pour l'app Android et api-test
pour l'API) qui permet de vérifier si la mise en production peut se faire.
Si nous avons un retour positif de ces tests, nous pouvons "merge" (migrer), nos changements de la branche dev à la branche master, une fois cela fait, un deuxième processus rentre en jeu :
Pour la mise en production, nous utilisons Docker, un système de containeurs qui permet la mise en production de système lourd très facilement et rapidement.
Donc nous générons cette image Docker, pour pouvoir ensuite la mettre sur notre infrastructure automagiquement !
En résumé, plus rien de manuel, un gain de temps et un meilleur suivi de bug.
On est passé d'un système (ça fait beaucoup là non) RabbitMQ à Jobatator qui est 100% fait maison, en effet c'est notre famoso El Matthieu qui a dévelopé ça, à quoi ça sert me direz vous ? C'est là que j'interviens tel Jammy pour vulgariser.
Jobatator permet à l'API de mieux gérer ce qu'on apelle les requêtes, c'est à dire qu'à chaque demande de la part de notre site par exemple lorsque vous faite une commande, au lieu de vous faire poiroter (le temps de générer les factures etc), on vous dit que c'est bon la commande est acquise mais attention, en back-end c'est pas fini ! Jobatator va lancer un à un les processus de générations de factures, d'emails etc et tout ça sans que vous le voyez !
Retrouvez le repo sur le Github de Matthieu : Jobatator.
Grosse mise à jour de l'application pour bureau (windows, mac et linux) !
Ajout de plusieurs fonctionnalités, notamment la possibilité de gérer plusieurs consoles, la possibilité de choisir la version de l'OS de la console et bien évidemment corrections de bug et une refonte de l'interface. à ce stade là Matthieu pourra songer à se reconvertir en dératiseur
L'application android que j'ai moi même commencé à développé il y a deux ans puis abandonné pour un projet différent qui n'a pas vu le jour, à recommencer à être développé de nouveau par mes soins. Pour le moment je m'occupe de l'interface, c'est que le début, pas de date pour la bêta : on verra bien l'avancé mais avec ce confinement il y a de forte chances que ce soit dispo dans les prochains mois. Tout comme l'API, l'app RetroBox a été configurée pour être automatiquement publiée sur le Play Store lorsqu'on décidera que l'app mérite d'être publiée.
Valentin a mis en place le CI/CD sur ce repo (cf. plus haut), lorsqu'un commit est detecté sur la branche master, cela déclenche le test, le build, et la mise en ligne de notre application sur le Play Store, et tout ça automatiquement !
Il y a aussi un README assez détaillé pour les contributeurs.
Preview de l'app !
Comme je l'avais annoncé dans l'article de novembre, on prévoyait de mettre un terminal SSH pour faire des commandes directement depuis le site et c'est chose faîte ! (je vous l'assure ça vous facilitera la vie, car d'habitude il faut un clavier en usb branché au raspberry et prendre en compte que c'est en QWERTY, c'est un calvaire alors comme on est gentil : directement depuis notre site).
Le thème de RetroBox pour petit écran est ENFIN terminé, c'est tout beau tout propre j'en suis pas peu fier ! (si Google veut m'embaucher en tant que designer je suis là <3 )
Dans le repo console-modules, il y a eu une refonte complète de l'organisation et une mise à jour de tous les scripts. Des README partout très détaillé pour permettre à l'utilisateur de comprendre notre manière de "fonctionner".
Il faut dire qu'on a jamais autant productif depuis des années ! Le confinement pour nous, est ultra bénéfique :3 (Attention voir ses potes nous manquent aussi, je ne dis pas le contraire !). On rattrape notre période de blanc sur Github de Janvier/Mars si je puis dire :p
Matthieu à explosé le tableau des contributions sur Github !
On essaye de tout documenter sur notre Github, chaque partie est expliquée, l'objectif c'est que vous vous intéréssiez à comment ça fonctionne, c'est ça la force de RetroBox ! Va check ça ici !
On a atteint 600 commits sur le web et 200 sur l'API ! (1 commit pour les non initiés, c'est une petite mise à jour pour mettre notre travail fait chacun de notre côté dans une sauvegarde collective du projet). C'est là qu'on commence à se rendre compte de la complexité du projet :p
Matthieu (encore lui c'est notre spiderman, étudiant le jour et développeur la nuit), développe un système qui permettra de vérifier si tel ou tel service fonctionne (si ça fonctionne c'est vert, si ça fonctionne pas c'est rouge), c'est quelques choses d'utile pour RetroBox mais qui atteindra son vrai potentiel dans des entreprises plus importantes que nous où chaque service est essentiel au bon fonctionnement de cette entreprise.
Statuer est une application Java fait 100
% maison et open-source.
On spoil un peu le prochain article, dans les mois à venir il y aura :
Télétravaillez bien mes petits curieux du dimanche, prenez soin de vous et de vos proche et surtout ne sortez pas de chez vous ça vaut pour vous aussi les parigos.
A tout le personnel soigant, les médecins et les personnes qui permette à la société de tourner : MERCI !
Etienne, de la part de toute l'équipe.
*Matthieu et moi au sujet de mes vannes*