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
1 - JOUR 1 - MATIN / Introduction à Rust
2 - 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)
3 - Bases de Rust (2h)
- Syntaxe, types de données, gestion de la mémoire sans garbage collector
4 - JOUR 1 - APRES-MIDI / Fonctionnalités Avancées de Rust
5 - Structures de données et contrôle de flux en Rust (2h15)
- Structures, énumérations, gestion des erreurs et patterns de matching
6 - Concurrency en Rust (1h15)
- Threads, ownership, et borrowing pour une gestion sûre de la concurrence
7 - JOUR 2 - MATIN / Développement Orienté Objet et Tests
8 - Programmation orientée objet en Rust (1h30)
- Traits, implémentations et gestion de l’héritage via les traits
9 - Écriture de tests en Rust (2h)
- Utilisation de Cargo pour tester, benchmarker, et documenter le code Rust
10 - JOUR 2 - APRES-MIDI / Construction de Projets Blockchain
11 - Intégration de Rust avec des plateformes blockchain (2h30)
- Utilisation de Rust pour interagir avec des blockchains comme Parity Substrate
12 - Atelier de projet (1h)
- Début du développement d’une application blockchain en Rust, intégrant les concepts appris
13 - JOUR 3 - MATIN / Sécurité et Optimisation
14 - Sécurité en Rust (1h30)
- Techniques pour écrire un code sécurisé, prévention des attaques courantes en programmation système
15 - Optimisation des performances (2h)
- Profilage et optimisation de la performance de code Rust
16 - JOUR 3 - APRES-MIDI / Finalisation du Projet et Évaluation
17 - 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
18 - Présentation des projets et feedback (1h15)
- Présentation des projets par les participants, évaluation par les pairs et par les formateurs