diff --git a/docs/pedagogie/00-reprise-et-etat.md b/docs/pedagogie/00-reprise-et-etat.md index 61b7fa8..f9010fd 100644 --- a/docs/pedagogie/00-reprise-et-etat.md +++ b/docs/pedagogie/00-reprise-et-etat.md @@ -1,6 +1,6 @@ # Reprise du projet — où nous en sommes -> Dernière mise à jour : **2026-10-20** — partie obligatoire Tokenizer **terminée** ; bonus multisig **non retenu**. +> Dernière mise à jour : **2026-10-22** — partie obligatoire **terminée** ; audit rendu + fiche soutenance ; bonus multisig **non retenu**. ## En bref @@ -10,7 +10,7 @@ | **Fait** | `code/` (contrat commenté, tests, Hardhat), `deployment/`, `documentation/` | | **Fait** | Démo transfer MetaMask (FGC_account → demo_account) | | **Non retenu** | Bonus multisig (manque de temps) | -| **Avant Vogosphere** | Push `tokenizerRendu/`, checklist [demo](checklist-demo-evaluation.md), pas de `.env` | +| **Avant Vogosphere** | [audit-rendu-tokenizer.md](audit-rendu-tokenizer.md) (Git + `.gitignore`), checklist [demo](checklist-demo-evaluation.md), pas de `.env` | ## Contrat (référence rapide) diff --git a/docs/pedagogie/README.md b/docs/pedagogie/README.md index 0dd52ad..a02e1ef 100644 --- a/docs/pedagogie/README.md +++ b/docs/pedagogie/README.md @@ -14,6 +14,12 @@ Parcours pour construire le projet **étape par étape** et le défendre en sout → **[checklist-demo-evaluation.md](checklist-demo-evaluation.md)** — **checklist démo / correction** (hors dépôt Vogosphere). +→ **[sujet-exigences-rendu.md](sujet-exigences-rendu.md)** — grille obligatoire / bonus (PDF v1.1). + +→ **[fiche-soutenance-tokenizer.md](fiche-soutenance-tokenizer.md)** — déroulé oral + code review. + +→ **[audit-rendu-tokenizer.md](audit-rendu-tokenizer.md)** — audit `tokenizerRendu/` + procédure Git Vogosphere. + → **[03-hardhat-et-alternatives.md](03-hardhat-et-alternatives.md)** — **Hardhat**, Remix, Truffle, Foundry (sujet ch. IV). → **[ressources-solidity-hardhat.md](ressources-solidity-hardhat.md)** — **tutos & docs officiels** Solidity, Hardhat, OpenZeppelin, BSC (parcours d’apprentissage). diff --git a/docs/pedagogie/audit-rendu-tokenizer.md b/docs/pedagogie/audit-rendu-tokenizer.md new file mode 100644 index 0000000..d01e77a --- /dev/null +++ b/docs/pedagogie/audit-rendu-tokenizer.md @@ -0,0 +1,98 @@ +# Audit rendu — `tokenizerRendu/` (avant Vogosphere) + +> Date : 2026-10-22 · Grille : [`sujet-exigences-rendu.md`](sujet-exigences-rendu.md) + +## Verdict global + +| Statut | Commentaire | +|--------|-------------| +| **Prêt pour push école** | Partie obligatoire couverte ; nettoyage doc + `.gitignore` effectués | +| **À faire sur machine école** | `npm install` + `npx hardhat test` ; démo MetaMask ; `git init` ou clone dédié | + +--- + +## Conformité sujet (T1–T19) + +Tous les critères obligatoires du tableau **sujet-exigences-rendu.md** sont **OK** pour FGC42Forge (nom `42`, BEP-20 testnet, 3 dossiers, README choix, deploy + adresse, doc utilisateur, code commenté, bonus documenté comme non retenu). + +--- + +## Fichiers à **inclure** dans le dépôt Vogosphere + +| Zone | Fichiers clés | +|------|----------------| +| Racine | `README.md`, `.gitignore` | +| `code/` | `contracts/FGC42Forge.sol`, tests, ignition module, `hardhat.config.ts`, `package.json`, `package-lock.json`, `.env.example`, `.gitignore`, `README.md` | +| `deployment/` | `addresses.json`, `README.md`, `BSCSCAN_VERIFICATION.md`, `FGC42Forge_flat.sol`, `addresses.json.example` | +| `documentation/` | `README.md` | + +**Template Hardhat (Counter)** : présent mais documenté comme hors périmètre dans `code/README.md` — acceptable ; ne pas présenter Counter en code review. + +--- + +## Fichiers à **ne pas** committer + +| Chemin | Raison | +|--------|--------| +| `code/.env` | Clé privée | +| `code/node_modules/`, `cache/`, `artifacts/` | Générés | +| `code/ignition/deployments/` | État local Ignition (gros `build-info`) — adresses dans `deployment/addresses.json` | +| `code/.agents/`, `code/AGENTS.md` | Assistants locaux, hors sujet | +| Tout `docs/` ou `pedagogie/` | Dépôt de travail perso uniquement | + +`.gitignore` racine + `code/.gitignore` mis à jour en conséquence. + +--- + +## Écarts mineurs (non bloquants) + +| Point | Action | +|-------|--------| +| `code/scripts/send-op-tx.ts` | Script template Hardhat ; ignoré à l’oral ou supprimable si tu veux un tree plus minimal | +| Tests non relancés dans cet audit (lock compilateur sandbox) | Sur ta machine : `cd code && npx hardhat test` | +| Vidéo démo | Section vide dans README — conforme (optionnel) | + +--- + +## Liens internes rendu + +Aucun lien vers `docs/pedagogie` ou dépôt parent. Liens `../deployment`, `../code` : **OK** (dans le même repo école). + +--- + +## Procédure Git — Vogosphere + +### Option A — Dépôt **uniquement** rendu (recommandé) + +Sur le PC où tu pousses vers l’intranet 42 : + +```bash +cd /chemin/vers/tokenizerRendu +git init +git add README.md .gitignore code deployment documentation +git status # vérifier : pas de .env, pas de node_modules +git commit -m "Tokenizer: FGC42Forge BSC testnet" +# remote Vogosphere fourni par l’école +git remote add origin +git push -u origin main +``` + +### Option B — Même machine, dépôt perso `tokenizer/` + sous-dossier rendu + +- Ne **pas** pousser la racine `tokenizer/` si elle contient `docs/`. +- Soit **Option A** dans `tokenizerRendu/`, soit branche `rendu` qui ne contient que le contenu de `tokenizerRendu/` (subtree / copie propre). + +### Avant chaque push + +```bash +cd code +grep -r "PRIVATE_KEY" .env 2>/dev/null && echo "STOP: .env présent" || true +git status +``` + +--- + +## Après push + +1. [checklist-demo-evaluation.md](checklist-demo-evaluation.md) +2. [fiche-soutenance-tokenizer.md](fiche-soutenance-tokenizer.md) §10 (démo + oral ch. III) diff --git a/docs/pedagogie/fiche-soutenance-tokenizer.md b/docs/pedagogie/fiche-soutenance-tokenizer.md index 9647347..ea6593c 100644 --- a/docs/pedagogie/fiche-soutenance-tokenizer.md +++ b/docs/pedagogie/fiche-soutenance-tokenizer.md @@ -93,10 +93,10 @@ ## 8. Commandes utiles (machine école) ```bash -cd code +cd tokenizerRendu/code # Hardhat n’est pas à la racine tokenizerRendu/ npm ci # ou npm install cp .env.example .env # renseigner PRIVATE_KEY 64 hex — jamais commit -npx hardhat test +npx hardhat test --grep FGC42Forge npx hardhat ignition deploy ignition/modules/FGC42Forge.ts --network bscTestnet ``` @@ -114,10 +114,10 @@ npx hardhat ignition deploy ignition/modules/FGC42Forge.ts --network bscTestnet Repasser la colonne « Projet » dans [`sujet-exigences-rendu.md`](sujet-exigences-rendu.md) (T1–T19). -- [ ] README rendu **autonome** (pas de lien vers `docs/pedagogie`) -- [ ] `documentation/README.md` sans référence au dépôt perso `docs/` (optionnel à nettoyer) -- [ ] Adresse + réseau visibles sans chercher -- [ ] Démo transfer reproductible +- [x] README rendu **autonome** (pas de lien vers `docs/pedagogie`) +- [x] `documentation/README.md` sans référence au dépôt perso `docs/` +- [x] Adresse + réseau visibles sans chercher +- [ ] Démo transfer reproductible (FGC_account → 2ᵉ compte ; voir checklist demo) - [ ] 2 phrases sur ch. III (compétences acquises) --- diff --git a/docs/pedagogie/sujet-exigences-rendu.md b/docs/pedagogie/sujet-exigences-rendu.md index d9b0be5..48e3643 100644 --- a/docs/pedagogie/sujet-exigences-rendu.md +++ b/docs/pedagogie/sujet-exigences-rendu.md @@ -118,5 +118,5 @@ documentation/ ## Prochaine étape doc perso -→ Fiche de soutenance détaillée : [`fiche-soutenance-tokenizer.md`](fiche-soutenance-tokenizer.md) -→ Audit rendu avant push : voir plan dans le chat (README rendu sans liens `docs/`). +→ Fiche de soutenance : [`fiche-soutenance-tokenizer.md`](fiche-soutenance-tokenizer.md) +→ Audit rendu avant push : [`audit-rendu-tokenizer.md`](audit-rendu-tokenizer.md) diff --git a/tokenizerRendu/.gitignore b/tokenizerRendu/.gitignore index 88f4928..13f9f24 100644 --- a/tokenizerRendu/.gitignore +++ b/tokenizerRendu/.gitignore @@ -17,3 +17,11 @@ dist/ .vscode/ *.log + +# Artefacts Hardhat (dossier code/) +code/node_modules/ +code/cache/ +code/artifacts/ +code/coverage/ +code/ignition/deployments/ +code/.agents/ diff --git a/tokenizerRendu/README.md b/tokenizerRendu/README.md index 21219f8..76fe9cc 100644 --- a/tokenizerRendu/README.md +++ b/tokenizerRendu/README.md @@ -2,7 +2,7 @@ Projet 42 — création et déploiement d’un **token** sur blockchain publique (**testnet**). -> **Dépôt de rendu école** : ce dossier est la **racine** du dépôt Git Vogosphere. Pas de `docs/` ni de sujet traduit ici. +> Ce dépôt Git est **autonome** : tout ce qui est évalué (code, deploy, doc utilisateur) est sous `README.md`, `code/`, `deployment/` et `documentation/`. **Guide utilisateur (wallet, transfers, sécurité) :** [`documentation/README.md`](documentation/README.md) @@ -55,13 +55,15 @@ documentation/ ← comment utiliser le token ## Lancer / tester (à adapter selon ta stack) -Exemple avec Hardhat dans `code/` : +Le projet Hardhat est dans **`code/`** (fichier `hardhat.config.ts`). +Depuis la racine du dépôt (`tokenizerRendu/`), **`npx hardhat`** échoue avec *No Hardhat config file found* — il faut **entrer dans `code/`** d’abord. ```bash -cd code +cd code # obligatoire avant toute commande hardhat npm install npx hardhat build npx hardhat test +npx hardhat test --grep FGC42Forge # uniquement les tests du token ``` Déploiement (déjà effectué — pour reproduire, voir [`deployment/README.md`](deployment/README.md)) : diff --git a/tokenizerRendu/code/.gitignore b/tokenizerRendu/code/.gitignore index 8a0137f..10877c9 100644 --- a/tokenizerRendu/code/.gitignore +++ b/tokenizerRendu/code/.gitignore @@ -29,3 +29,10 @@ # Snapshot cheatcodes output /snapshots + +# Ignition — état local de deploy (adresses officielles dans ../deployment/addresses.json) +/ignition/deployments + +# Assistants / IDE locaux (hors livrable sujet) +/.agents +AGENTS.md diff --git a/tokenizerRendu/deployment/README.md b/tokenizerRendu/deployment/README.md index ae374be..229922e 100644 --- a/tokenizerRendu/deployment/README.md +++ b/tokenizerRendu/deployment/README.md @@ -15,7 +15,7 @@ Scripts et **trace** du déploiement public. Le déploiement s’exécute depuis Depuis la racine du dossier `code` : ```bash -cd tokenizerRendu/code +cd code npx hardhat ignition deploy --network bscTestnet ignition/modules/FGC42Forge.ts ``` diff --git a/tokenizerRendu/documentation/README.md b/tokenizerRendu/documentation/README.md index f178931..296e49a 100644 --- a/tokenizerRendu/documentation/README.md +++ b/tokenizerRendu/documentation/README.md @@ -2,7 +2,7 @@ Ce document permet de **comprendre** le token et de **l’utiliser** (wallet, transferts) sans lire le code Solidity. -> Documentation **évaluateur** : distincte du dossier `code/` (développement) et du dépôt de travail perso `docs/`. +> Documentation **utilisateur** du token : à lire sans ouvrir le code Solidity. Le développement et les tests sont dans `code/` ; le déploiement on-chain est décrit dans `deployment/`. ---