Blockchain15 jours
Parcours Développeur Blockchain : de zéro à smart contract
Développeurs web, ingénieurs logiciels, étudiants en informatique souhaitant devenir développeur blockchain et maîtriser Solidity, Web3 et les dApps
105h de formationdistanciel

Objectifs pedagogiques
- Maîtriser le développement de smart contracts en Solidity sur Ethereum
- Créer des applications Web3 complètes (frontend + smart contracts + wallet)
- Appliquer les bonnes pratiques de sécurité et optimisation des smart contracts
- Déployer et tester des smart contracts sur testnet et mainnet
- Obtenir une certification reconnue sur le marché du travail blockchain
Programme
- •Fondamentaux blockchain : architecture, consensus, transactions
- •Ethereum : vision, EVM, gas, comptes, state
- •Smart contracts : principes, cas d'usage, limites
- •Setup environnement : Node.js, VSCode, extensions, wallets
- •MetaMask : installation, configuration, testnets (Sepolia, Goerli)
- •Faucets et récupération de tokens testnet
- •Explorateurs de blocs : Etherscan, lecture de transactions et contrats
- •Syntaxe Solidity : variables, types, fonctions, visibilité
- •Types de données : uint, address, bool, string, bytes, arrays, mappings
- •Structures de contrôle : if, for, while, require, assert, revert
- •Fonctions : parameters, return, pure, view, payable
- •Events : emission, indexation, logs
- •Premier smart contract : HelloWorld.sol, compilation, déploiement sur Remix
- •Atelier : créer un contrat de compteur (increment, decrement, read)
- •Modificateurs (modifiers) : réutilisation de logique, access control
- •Héritage et interfaces : OOP en Solidity, abstract contracts
- •Libraries : réutilisation de code, SafeMath (historique)
- •Constructeur et initialisation
- •Storage vs memory vs calldata : gestion de la mémoire, optimisation gas
- •Patterns courants : Ownable, Pausable, ReentrancyGuard
- •Atelier : créer un contrat de vote avec access control
- •Standard ERC-20 : interface, fonctions obligatoires, implémentation
- •OpenZeppelin : librairie de référence, contrats auditĂ©s
- •Créer un token ERC-20 : mint, burn, transfer, approve, allowance
- •Standard ERC-721 (NFT) : unicité, metadata, tokenURI
- •Créer un NFT collection : minting, ownership, transfer
- •Standard ERC-1155 : tokens semi-fongibles, batching
- •Atelier : déployer votre propre token ERC-20 et NFT collection
- •Hardhat : installation, configuration, architecture de projet
- •Compilation et déploiement avec Hardhat
- •Scripts de déploiement : automation, paramètres, vérification
- •Testing avec Hardhat : Mocha, Chai, ethers.js
- •Tests unitaires : setup, assertions, coverage
- •Hardhat Network : blockchain locale, debugging
- •Plugins Hardhat : gas-reporter, contract-sizer, etherscan-verify
- •Importance des tests : smart contracts immuables, sécurité critique
- •Tests unitaires avancés : fixtures, time manipulation, events testing
- •Tests d'intégration : interactions entre contrats
- •Code coverage : identifier le code non testé
- •Vulnérabilités courantes : reentrancy, overflow, access control, front-running
- •Outils d'analyse : Slither, Mythril, Echidna
- •Atelier : tester et sécuriser un smart contract vulnérable
- •Principes DeFi : DEX, lending, staking, yield farming
- •Conception d'un contrat de staking : deposit, withdraw, rewards
- •Calcul de récompenses : formules, time-weighted, APY
- •Gestion des tokens : transferFrom, approve, balance tracking
- •Sécurité : reentrancy, reward manipulation, overflow
- •Tests complets du contrat de staking
- •Atelier : implémenter et tester un contrat de staking ERC-20
- •Coût du gas : calcul, OPCODES, optimisation
- •Storage vs memory : stratégies d'économie de gas
- •Packing de variables : optimiser le storage layout
- •Loops et gas : risques, alternatives, batching
- •Custom errors vs require strings (Solidity 0.8.4+)
- •Immutables et constants : économie de gas
- •Code quality : readability, documentation (NatSpec), conventions
- •Atelier : optimiser un contrat existant, mesurer les gains
- •Architecture Web3 : React + ethers.js + smart contracts
- •ethers.js : installation, providers, signers, contracts
- •Connexion wallet : MetaMask, WalletConnect, détection
- •Lecture de données blockchain : appels de fonctions view, events
- •Gestion de l'état : hooks React, context, provider pattern
- •Affichage : adresses, balances, formatage (formatEther, formatUnits)
- •Atelier : créer une interface de lecture de smart contract
- •Appel de fonctions payable et state-changing
- •Gestion des transactions : signature, broadcast, attente de confirmation
- •Error handling : revert reasons, custom errors, user feedback
- •Estimation du gas et gas price : optimisation UX
- •Events et logs : écoute en temps réel, historique
- •UI/UX Web3 : loading states, notifications, confirmations
- •Atelier : créer une dApp complète (staking interface)
- •Déploiement sur testnet : Sepolia, Goerli, Mumbai (Polygon)
- •Gestion des clés privées : .env, mnemonics, hardware wallets
- •Vérification de contrats sur Etherscan : API, hardhat-verify
- •Upgradeable contracts : proxies (Transparent, UUPS), OpenZeppelin Upgrades
- •Stratégies de déploiement : atomicité, migrations, rollback
- •Monitoring post-déploiement : events, analytics, alertes
- •Atelier : déployer et vérifier un contrat sur testnet
- •Présentation du projet : créer une marketplace NFT complète
- •Spécifications fonctionnelles : listing, achat, enchères, royalties
- •Architecture smart contracts : NFT collection + Marketplace contract
- •Modélisation des données : structs, mappings, events
- •User stories et workflows
- •Conception de l'interface utilisateur
- •Setup du projet : Hardhat + React + ethers.js
- •Implémentation du contrat NFT (ERC-721)
- •Implémentation du contrat Marketplace : listing, buying, canceling
- •Gestion des royalties et fees
- •Tests unitaires complets
- •Optimisation gas et sécurité
- •Code review et debugging
- •Développement de l'interface React
- •Connexion wallet et gestion de session
- •Listing de NFT : formulaire, upload metadata, minting
- •Marketplace : affichage, achat, filtres
- •Intégration complète frontend-backend
- •Tests end-to-end
- •Déploiement sur testnet
- •Finalisation et polish du projet
- •Présentation individuelle du projet (15 min + 10 min Q&A)
- •Code review par le formateur
- •Feedback et conseils d'amélioration
- •Examen théorique : QCM Solidity, sécurité, Web3
- •Remise des certifications
- •Ressources et suite du parcours : audits, DeFi avancé, Layer 2
- •Networking et perspectives professionnelles
Prerequis
- •Bases solides en programmation (JavaScript, Python ou autre)
- •Notions de développement web (HTML, CSS, React)
- •Git et ligne de commande
Modalites d'evaluation
Projet fil rouge (marketplace NFT), examen théorique (QCM), présentation orale, code review
Feuilles d'emargement, suivi de connexion pour le distanciel, evaluation des acquis en fin de formation.
Accessibilite handicap
Formation accessible aux personnes en situation de handicap. Referent handicap disponible pour adapter les modalites.