Skip to content

refactor(SmartContracts): refondre la serie avec du code executable #119

@jsboige

Description

@jsboige

Constat

La serie SmartContracts (SC-1 a SC-15) est actuellement une collection de cellules print() qui affichent du code Solidity en texte. Les notebooks ne contiennent aucun code executable - ni compilation, ni deploiement, ni interaction avec des contrats.

Problemes identifies

  1. Pas d'execution reelle : tout le "code" Solidity est dans des print() Python
  2. Pas de feedback etudiant : impossible de tester, deboguer ou experimenter
  3. Exercices fragiles : les solutions etaient directement dans les cellules (corrige dans commit f2d02c2)
  4. Aucune interaction blockchain : pas de deploiement, pas d'appels de fonctions, pas de tests

Objectif

Refondre la serie pour que les notebooks soient reellement executables avec des interactions blockchain en local.

Pistes techniques a discuter

Approche Avantages Inconvenients
py-solc-x + web3.py Standard, bien documente Necessite solc installe
Brownie Framework complet (tests, deploy) Projet archive, migration vers Ape
Ape Framework Successeur de Brownie, actif API differente, moins de docs
Foundry (forge) Tres rapide, standard industrie CLI, pas natif Python
Ganache / Anvil Blockchain locale pour tests Dependance externe
Remix API Zero install Dependance reseau

Plan propose (a valider)

  1. Phase 1 : Choisir le stack technique (discussion avec l'utilisateur)
  2. Phase 2 : Refondre SC-1 a SC-4 (fondations Solidity) avec code executable
  3. Phase 3 : Refondre SC-5 a SC-7 (tokens, DeFi, DAO) avec interactions reelles
  4. Phase 4 : Adapter SC-8 a SC-15 (securite, gas, testing, cross-chain)
  5. Phase 5 : Creer des exercices avec tests automatises (assertions, pas de print)

Contraintes

  • Doit fonctionner sur les machines etudiants (Windows/Mac/Linux)
  • Installation minimale (idealement pip install uniquement)
  • Compatible avec le kernel Python 3 standard
  • Les notebooks existants servent de base pour le contenu pedagogique

Labels

  • enhancement
  • symbolicai
  • smartcontracts

Deadline

EPITA IA Symbolique : 20 mai 2026 (si SmartContracts fait partie du programme)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions