Première demi-journée : introduction et tests • Généralités : ◦présentation du formateur, de la formation, des pré-requis, en particulier logiciels, ◦histoire du langage, spécificités, intérêts, ◦présentation de la méthodologie et du déroulement de la formation, de la librairie qui sert de base aux exposés magistraux et des librairies que les stagiaires réaliseront lors des TP,
Les Tests Étant donné que nous réalisons des librairies, et non des exécutables, nous ne pouvons vérifier leur fonctionnement par le test empirique du programme compilé. L'alternative consiste donc à commencer par l'écriture de tests automatiques, particulièrement bien intégrés en Rust. ◦Exposé : ▪initialisation d'un projet de librairie à l'aide de Cargo, ▪structure et logique des tests, décrites à partir d'une librairie d'exemple ▪exécution des tests à l'aide de Cargo. ◦TP : écriture des tests de validation des librairies à implémenter par les stagiaires.
Deuxième demi-journée : écriture d'une librairie • Exposé : commentaire détaillé du code de la librairie d'exemple, abordant les structures et concepts fondamentaux du langage, • TP : interfaçage des librairies des stagiaires avec la ligne de commande.
Deuxième jour Troisième demi-journée : réalisation d'une application en ligne de commande •Exposé : ◦Présentation générale de Clap, ◦Utilisation de Clap pour interfacer la librairie d'exemple. •TP : interfaçage des librairies des stagiaires avec la ligne de commande.
Quatrième demi-journée : réalisation d'une application web •Exposé : ◦Présentation générale de Actix Web, ◦Utilisation de Actix Web pour interfacer la librairie d'exemple. •TP : création d'une interface web pour les librairies des stagiaires.
• Comprendre les concepts fondamentaux de Rust, • Maîtriser les outils et l'écosystème de développement Rust (Cargo, crates.io), • Écrire et tester des librairies Rust, • Développer des applications ligne de commande et web en Rust, • Apprendre à intégrer des librairies Rust existantes.
Public visé
Cette formation s'adresse aux ingénieurs et développeurs logiciels avec un niveau correct en développement
Prérequis
Les pré-requis attendus sont : • Connaissance de base en programmation (variables, types, boucles, fonctions), • Familiarité avec un langage de programmation comme C, C++, Python, JavaScript, ou similaire, • Notions de base en ligne de commande, • Ordinateur personnel avec environnement de développement Rust installé.
Modalités pédagogiques
Une fois évoquées les grandes généralités, le langage Rust sera abordé sous un angle pratique. Des exposés magistraux, constitués par la lecture commentée d'extraits de code, alterneront avec des TP mettant en oeuvre en pratique les points abordés. Les stagiaires seront divisés en groupes de trois à cinq individus. Chaque équipe aura pour objectif de réaliser une librairie simple, testée et documentée, puis de la mettre en oeuvre au sein d'une application en ligne de commande et d'une application web.
Moyens et supports pédagogiques
• Supports de cours : présentations et exemples de code accessible en ligne, • Codes sources hébergés en ligne au sein de projets Github, supports pour les TP, • Accès à Internet : pour consultation de la documentation en ligne.
Modalités d'évaluation et de suivi
Evaluation en amont, pendant et en aval de la formation