CONNAISSANCES PREALABLES
- Connaître au moins un langage de programmation
PROFIL DES STAGIAIRES
- Développeurs
OBJECTIFS
- A l’issue de la formation, le stagiaire sera capable créer des programmes avec le langage open source Rust
- Plus précisément :
- Connaître les principes fondamentaux de Rust
- Apprendre à écrire du code Rust propre en suivant les conventions de codage recommandées
- Maîtriser les concepts de base tels que les types de données, les variables, les fonctions et les structures de contrôle
- Acquérir une compréhension approfondie des propriétés de sécurité de Rust
- Explorer les fonctionnalités avancées de Rust
- Savoir utiliser les bibliothèques et les frameworks populaires de Rust pour développer des applications et des projets concrets
- Concevoir, mettre en œuvre et déployer une application
METHODES PEDAGOGIQUES
- 6 à 12 personnes maximum par cours, 1 poste de travail par stagiaire
- Remise d’une documentation pédagogique papier ou numérique pendant le stage
- La formation est constituée d’apports théoriques, d’exercices pratiques et de réflexions
METHODES D'EVALUATION DES ACQUIS
- Auto-évaluation des acquis par le stagiaire via un questionnaire
- Attestation de fin de stage adressée avec la facture
FORMATEUR
Consultant-Formateur expert Blockchain
CONTENU DU COURS Blockchain
- JOUR 1 - MATIN / Introduction à Rust
- Pourquoi Rust pour la blockchain? (1h30)
- Avantages de Rust en termes de performance, sécurité, et gestion de la mémoire
- Configuration de l'environnement de développement Rust et présentation des outils essentiels (Cargo, Rustup)
- Bases de Rust (2h)
- Syntaxe, types de données, gestion de la mémoire sans garbage collector
- JOUR 1 - APRES-MIDI / Fonctionnalités Avancées de Rust
- Structures de données et contrôle de flux en Rust (2h15)
- Structures, énumérations, gestion des erreurs et patterns de matching
- Concurrency en Rust (1h15)
- Threads, ownership, et borrowing pour une gestion sûre de la concurrence
- JOUR 2 - MATIN / Développement Orienté Objet et Tests
- Programmation orientée objet en Rust (1h30)
- Traits, implémentations et gestion de l'héritage via les traits
- Écriture de tests en Rust (2h)
- Utilisation de Cargo pour tester, benchmarker, et documenter le code Rust
- JOUR 2 - APRES-MIDI / Construction de Projets Blockchain
- Intégration de Rust avec des plateformes blockchain (2h30)
- Utilisation de Rust pour interagir avec des blockchains comme Parity Substrate
- Atelier de projet (1h)
- Début du développement d'une application blockchain en Rust, intégrant les concepts appris
- JOUR 3 - MATIN / Sécurité et Optimisation
- Sécurité en Rust (1h30)
- Techniques pour écrire un code sécurisé, prévention des attaques courantes en programmation système
- Optimisation des performances (2h)
- Profilage et optimisation de la performance de code Rust
- JOUR 3 - APRES-MIDI / Finalisation du Projet et Évaluation
- Finalisation et déploiement du projet blockchain (2h15)
- Finalisation du développement, déploiement sur un testnet, discussion des problèmes rencontrés et solutions
- Présentation des projets et feedback (1h15)
- Présentation des projets par les participants, évaluation par les pairs et par les formateurs