Mon voyage dans l'univers Rust-o-Verse - Partie 1
Aujourd'hui, je souhaite aborder un sujet un peu plus personnel que mes publications habituelles sur LinkedIn et vous présenter une série en trois parties détaillant mon parcours et mon exploration du Rust-o-Verse. Depuis quelque temps, j'ai envie de revenir à un rôle de développeur plus pratique. En tant que technologue passionné, j'ai remarqué une tendance croissante à écrire de plus en plus de logiciels à partir de zéro ou à les convertir en Rust. Avec toutes les ambitions et les objectifs qui accompagnent une nouvelle année, je me suis dit « Ça ne doit pas être si difficile » et j'ai décidé de choisir un projet Open Source Software-defined Vehicle (SDV) auquel je pourrais contribuer et gagner le très convoité « Eclipse Committer » lors du prochain événement EclipseCon !
Pour ceux qui ne connaissent pas encore l'importance des projets automobiles OSS écrits en Rust, je vous encourage à jeter un œil à certains des projets disponibles dans Eclipse SDV & COVESA qui utilisent ce « nouveau » langage fascinant. En voici quelques exemples :
- Plan directeur pour la gestion de flotte
- Ankaïos
- Courtier en données Kuksa
- SommR
- Zenoh
- OpenDuT
- Chariot
- uProtocole
- Ibeji
- Heimlig
- Courbe Geotab
Comme vous pouvez le constater, ma motivation intrinsèque à apprendre à programmer en Rust est évidente au vu des nombreux projets SDV sur lesquels je peux choisir de travailler aujourd'hui, et je suis convaincu que d'autres suivront à l'avenir. Dans mon travail quotidien en tant que FOSSbassador, je suis ravi de voir à quel point chacun de ces projets pourrait être compatible avec les autres et les avantages qu'ils tirent de l'utilisation de Rust, car pour moi, c'est une étape cruciale pour finalement construire une communauté florissante et saine basée sur Rust.
Dans cette optique, j'ai décidé de me concentrer sur le projet Fleet Management Blueprint, car celui-ci tente de regrouper les efforts de plusieurs initiatives (COVESA, Eclipse, AUTOSAR). J'apprécie également beaucoup le fait qu'il commence à se développer naturellement pour devenir un terrain de jeu open source à part entière, avec des contributions provenant d'autres entreprises qui contribuent à diversifier davantage sa communauté.
D'un point de vue technologique, je suis particulièrement curieux de voir ce qu'impliquent, par exemple, le remplacement de MQTT par Zenoh ou la mise en œuvre d'un algorithme de sous-échantillonnage des données de gestion de flotte avec Curve logging, et de découvrir ce que je pourrais apprendre sur Rust au cours de ce processus.
Pour ceux qui souhaitent en savoir plus sur le contexte de ce projet, mon collègue Kai a animé une excellente session technique lors de la conférence eclipseCon, au cours de laquelle il a expliqué les origines du projet et donné quelques exemples des principaux défis qu'il permet de relever.
Loading the video requires your consent. If you agree by clicking on the Play icon, the video will load and data will be transmitted to Google as well as information will be accessed and stored by Google on your device. Google may be able to link these data or information with existing data.
Revenons maintenant à la véritable histoire, qui a été pour moi une expérience « rouillée » consistant à retrouver mes repères dans les outils et l'environnement de développement habituels, mais cette fois-ci avec une petite différence. Le cmake complexe ou l'environnement virtuel magique de python, qui m'étaient autrefois familiers, ont désormais été remplacés par quelque chose de nouveau qui, à de nombreuses occasions, me rappelle un peu mes expériences passées en tant que développeur MISRA C embarqué et mon très bref passage dans le monde « supérieur » du codage dans des langages tels que python ou javascript.
Il est presque temps d'accueillir Cargo & crates.io sur scène... mais nous devons d'abord installer Rust et d'autres dépendances dans notre environnement Linux, et c'est là que mon aventure inattendue a commencé.
À ma grande surprise, après avoir parcouru l'excellente documentation de démarrage du livre Rust en ligne, j'ai rencontré mon premier obstacle dans mon utilisation très naïve de mon nouveau meilleur ami, le cargo CMD. Je me suis donc gratté la tête et j'ai décidé qu'un espresso fraîchement préparé et une pause mentale seraient peut-être la meilleure solution à mon dilemme actuel :
« Pourquoi la construction de la cargaison a-t-elle continué à échouer ? »
C'était le début d'une demi-journée passée à essayer différentes choses, qui m'a finalement épuisé les tampons temporaires de Reddit et Stack Overflow. Je ne savais pas encore que l'exécution de ce projet Rust sur le système d'exploitation Ubuntu nécessitait quelques astuces secrètes pour obtenir le projet que j'avais choisi de construire et d'exécuter...
J'espère que vous avez apprécié ce blog jusqu'à présent et que vous continuerez à m'accompagner dans cette aventure pour découvrir comment j'ai surmonté les obstacles de « Hello World » et ce que j'ai appris depuis que je me suis lancé dans ce projet. J'ai également hâte d'explorer avec vous les raisons pour lesquelles je pense que ce petit crustacé nommé Ferris est TELLEMENT prometteur pour l'industrie automobile et qu'il constituera un élément central du SDV et de ma vie quotidienne à venir !
Merci d'avoir lu la première partie !
« Venez me voir lors du prochain événement BCW ou lors d'une des conférences téléphoniques de la communauté open source. À bientôt ! »
Contactez-nous
Vous avez besoin de plus d'informations sur un produit ou un service spécifique ? Ou d'une réponse personnalisée à votre question ?
Nos commerciaux sont prêts à vous aider.