JOUR 1 – MATIN / Introduction à Solidity et à l’Environnement Ethereum
- Présentation de Solidity et de ses particularités par rapport à d’autres langages de programmation. (1h30)
• Installation et configuration de l’environnement de développement, incluant Remix, Truffle, et Metamask
- Syntaxe de base de Solidity et types de données. (2h)
• Variables, types, structures de contrôle
JOUR 1 – APRES-MIDI / Fondamentaux des Contrats Intelligents
- Écriture de contrats intelligents basiques. (2h30)
• Fonctions, modificateurs, événements
- Gestion des erreurs et contrôle d’exécution dans Solidity. (1h)
• Exceptions, assertions et require
JOUR 2 – MATIN / Interactions et Dépendances dans les Contrats
- Interactions entre contrats. (1h30)
• Appels externes, création de contrats à partir d’autres contrats
- Gestion des permissions et de la visibilité. (2h)
• Modificateurs d’accès, propriété des contrats
JOUR 2 – APRES-MIDI / Sécurité et Optimisation
- Bonnes pratiques de sécurité pour les contrats intelligents. (2h15)
• Patterns de sécurité, prévention des attaques communes (réentrance, overflow)
- Optimisation du coût du gaz et débogage. (1h15)
• Techniques pour réduire les coûts de transaction et utilisation des outils de débogage Solidity
JOUR 3 – MATIN / Déploiement et Tests
- Testing des contrats intelligents. (1h30)
• Écriture et exécution de tests unitaires avec Truffle et Ganache
- Déploiement de contrats sur un réseau Ethereum test (Ropsten, Rinkeby). (2h)
• Utilisation de Truffle ou Remix pour le déploiement
JOUR 3 – APRES-MIDI / Projet Final et Évaluation
- Projet de groupe (2h15)
• Développement d’une application DApp complète utilisant Solidity
- Présentation des projets et évaluation (1h15)
• Discussion des projets, retour sur les points forts et les points à améliorer, évaluation du module