Les News de Mai !

software 2020 confinement

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 !

Les avancées sur les sites web

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).

alt alt

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).

alt


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...

alt

Les avancées de l'API

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 . C'est un peu technique, mais en gros c'est pour les Bricolos qui veulent utiliser/modifier/apprendre de notre API.

alt

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 :

  • Création d'une branche dev
  • Utilisation de la branche master uniquement pour les mises en production

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.

Les avancées des applications

Grosse mise à jour de l'application pour bureau (windows, mac et linux) !

alt

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

alt

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.

alt

Preview de l'app !

Les avancées pour la console en elle-même

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).

alt alt


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 )

alt alt



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".

Autres

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 !

alt

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 :

  • Une meilleur gestion des versions de la console dans la doc (Ajout d'une doc pour la version à venir : 3.06)
  • Une bande originale (BO comme on dit dans le milieux) composé par mes soins (oui je fais de la musique) pour le démarrage de la console et peut-être la vidéo de présentation de la console ; mon SoundCloud.
  • Le Kickstarter ça commence à devenir une blague à force de le répéter mais ça viendra un jour où on sera satisfait de notre travail (oui on prend un peu la philosophie de beaucoup de projet à contre-courant "j'ai une idée, financez moi" à juste "financez-nous".
  • L'upload des rom via le dashboard utilisateur, c'est quelques chose d'essentiel ça ne saurait tarder.
  • Pour devenir international friendly : des docs en anglais sont prévu pour les differentes versions des consoles.
  • Une application en bêta pour Android, je me dépêche promis...
  • L'ajout de Github Sponsors sur notre organisation Github.
  • Le changement de statut de notre société

Pour conclure

  • Un ticket de blog beaucoup trop long (Excusez-nous d'avoir trop travailler erm)
  • Mes blagues en 2020 ne sont toujours pas drôles
  • Jul à fait un featuring avec Michel Polnareff
  • Je vais faire une collab avec des rappeurs Alençonais (oui c'est vrai)
  • On va avoir notre Bac mention Corona

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*

alt

Article précédent