Je sais bien que ce blog est plutÎt axé découverte du code pour les plus jeunes.
Mais oĂč situer la frontiĂšre de ce qui peut vous intĂ©resser ? Pourquoi limiter la complexitĂ© de ce que j'aborde ici ?
En deux mots : Pourquoi pas ?
Ce sera le nom de cette nouvelle sĂ©rie d'articles oĂč je vous partagerai ce que je dĂ©couvre moi mĂȘme. Je pense que ça vous permettra de voir qu'on est toujours en train d'apprendre, quelque soit son Ăąge et son niveau.
tĂącherai de structurer mon avancĂ©e, mais je tiens tout de mĂȘme Ă prĂ©senter mes hĂ©sitations et mes choix. Vous saurez tout ! :)
On va tùcher d'aller à l'essentiel, le site de Vert.x le dit trÚs bien : il s'agit d'un toolkit pour construire des applications réactives dans l'univers de la JVM.
Une application est dite réactive si elle suit les principes énoncés dans The Reactive Manifesto.
La version française peut vous aider à comprendre, mais au mix de langues, le monde informatique est souvent en anglais.
Mon résumé trÚs personnel est qu'une application réactive cherche à rester disponible en absorbant la charge en allouant les ressources nécessaires, en survivant aux erreurs au mieux, le tout en fonctionnement sur la base d'un systÚme de messages asynchrones.
Vert.x cherche à répondre à ses problématiques en restant léger et simple. En tout cas, c'est leur objectif annoncé, nous verrons si c'est assez simple pour moi ;)
AprÚs quelques recherches, je me dit que Vert.x ne s'aborde pas vraiment comme d'autres outils. Il n'y a pas des montagnes de tutoriels, les articles publiés abordent rapidement des fonctionnalités complexes.
Mais il me semble que c'est dû à la simplicité de cette jolie boßte à outils. Le site officiel a une documentation trÚs bien faite.
Pour compléter, j'ai acheté un livre qui propose de présenter puis approfondir les différents concepts de la programmation asynchrone et réactive, le tout s'appuyant sur des exemples nombreux et basés sur vert.x. N'hésitez pas, Vert.x In Action est parfait pour se lancer dans le domaine, le Dr Julien Ponge sait manifestement de quoi il parle et sait l'expliquer ;)
Parce que c'est toujours plus facile d'avoir en tĂȘte un objectif, je me suis dit qu'il Ă©tait temps de mixer mes domaines d'intĂ©rĂȘt.
Le projet au long terme sera d'avoir une simulation d'une sorte d'usine, avec des ateliers, des postes de travail.
La base sera une application web qui représentera ça, accompagné de clients représentant les différents postes, client web pour commencer, clients IoT ensuite.
Cela devrait me permettre de faire un backend vert.x, pour un site web, de concevoir une API, des clients web et des client IoT.
Par la suite, je me pencherai aussi sur l'aspect déploiement, on verra quand on en sera là .
Pousser mes connaissances Docker pour appréhender Kubernetes, continuer mon apprentissage de l'univers de la CI/CD et ainsi de suite...
Je sais, on est loin de mes articles sur l'initiation à python. Considérez que ce sera une série au long cours, ce projet servant de prétexte à l'exploration de bien des technos.
AprÚs avoir tourné autour de plusieurs axes à choisir, je fais les choix suivant :
- Vert.x évidemment
- build avec Gradle en utilisant le DSL Kotlin
- code en Kotlin
- source sur Gitlab, je dois ça à mon troll favori ;)
Je complĂšterai ces choix au fur et Ă mesure qu'il faudra en prendre d'autres.
Les différents articles que j'ai lu n'utilisant pas tous ces choix à la fois, il va falloir faire une synthÚse et adapter.
Mais avant tout, il faut une coquille pour commencer.
Il y a alors 2 possibilités.
Tout d'abord, le site https://start.vertx.io/
Une simple page permet de choisir les différents paramÚtres tel que le language, l'outil de build, les dépendances...
Pas de bol, il manque pour le moment la possibilité de générer le script gradle avec le DSL Kotlin. Une issue est en cours de résolution.
Ca reste un point de départ intéressant.
L'autre possibilité, c'est de partir d'un starter trouvé sur github.
Un simple clone du projet voir la récupération de l'archive et c'est fonctionnel.
Cette fois ci, gradle avec Kotlin DSL mais le bout de code de base est en Java.
J'ai fait le choix de partir du start.vertx.io, qui me semblait plus récent et officiel. La conversion du fichier gradle en Kotlin DSL n'a pas posé trop de souci avec l'aide de celui du projet Github.
Pour que nous soyons tous sur la mĂȘme base de dĂ©part, vous trouverez l'Ă©tat du projet dans le repository Gitlab que je vais utiliser tout au long de ces articles.
Vous voilà équipé d'un point de départ.
Il ne me reste plus qu'Ă synthĂ©tiser mes essais pour l'Ă©tape suivante et les premiers pas de l'application elle mĂȘme.
Pour toute question, pour toute remarque, pour toute critique, vous pouvez me joindre par email ou sur Twitter.