renduprojet
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
# Reprise du projet — où nous en sommes
|
# 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
|
## En bref
|
||||||
|
|
||||||
@@ -10,7 +10,7 @@
|
|||||||
| **Fait** | `code/` (contrat commenté, tests, Hardhat), `deployment/`, `documentation/` |
|
| **Fait** | `code/` (contrat commenté, tests, Hardhat), `deployment/`, `documentation/` |
|
||||||
| **Fait** | Démo transfer MetaMask (FGC_account → demo_account) |
|
| **Fait** | Démo transfer MetaMask (FGC_account → demo_account) |
|
||||||
| **Non retenu** | Bonus multisig (manque de temps) |
|
| **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)
|
## Contrat (référence rapide)
|
||||||
|
|
||||||
|
|||||||
@@ -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).
|
→ **[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).
|
→ **[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).
|
→ **[ressources-solidity-hardhat.md](ressources-solidity-hardhat.md)** — **tutos & docs officiels** Solidity, Hardhat, OpenZeppelin, BSC (parcours d’apprentissage).
|
||||||
|
|||||||
98
docs/pedagogie/audit-rendu-tokenizer.md
Normal file
98
docs/pedagogie/audit-rendu-tokenizer.md
Normal file
@@ -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 <URL_VOGOSPHERE>
|
||||||
|
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)
|
||||||
@@ -93,10 +93,10 @@
|
|||||||
## 8. Commandes utiles (machine école)
|
## 8. Commandes utiles (machine école)
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd code
|
cd tokenizerRendu/code # Hardhat n’est pas à la racine tokenizerRendu/
|
||||||
npm ci # ou npm install
|
npm ci # ou npm install
|
||||||
cp .env.example .env # renseigner PRIVATE_KEY 64 hex — jamais commit
|
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
|
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).
|
Repasser la colonne « Projet » dans [`sujet-exigences-rendu.md`](sujet-exigences-rendu.md) (T1–T19).
|
||||||
|
|
||||||
- [ ] README rendu **autonome** (pas de lien vers `docs/pedagogie`)
|
- [x] README rendu **autonome** (pas de lien vers `docs/pedagogie`)
|
||||||
- [ ] `documentation/README.md` sans référence au dépôt perso `docs/` (optionnel à nettoyer)
|
- [x] `documentation/README.md` sans référence au dépôt perso `docs/`
|
||||||
- [ ] Adresse + réseau visibles sans chercher
|
- [x] Adresse + réseau visibles sans chercher
|
||||||
- [ ] Démo transfer reproductible
|
- [ ] Démo transfer reproductible (FGC_account → 2ᵉ compte ; voir checklist demo)
|
||||||
- [ ] 2 phrases sur ch. III (compétences acquises)
|
- [ ] 2 phrases sur ch. III (compétences acquises)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
@@ -118,5 +118,5 @@ documentation/
|
|||||||
|
|
||||||
## Prochaine étape doc perso
|
## Prochaine étape doc perso
|
||||||
|
|
||||||
→ Fiche de soutenance détaillée : [`fiche-soutenance-tokenizer.md`](fiche-soutenance-tokenizer.md)
|
→ Fiche de soutenance : [`fiche-soutenance-tokenizer.md`](fiche-soutenance-tokenizer.md)
|
||||||
→ Audit rendu avant push : voir plan dans le chat (README rendu sans liens `docs/`).
|
→ Audit rendu avant push : [`audit-rendu-tokenizer.md`](audit-rendu-tokenizer.md)
|
||||||
|
|||||||
8
tokenizerRendu/.gitignore
vendored
8
tokenizerRendu/.gitignore
vendored
@@ -17,3 +17,11 @@ dist/
|
|||||||
.vscode/
|
.vscode/
|
||||||
|
|
||||||
*.log
|
*.log
|
||||||
|
|
||||||
|
# Artefacts Hardhat (dossier code/)
|
||||||
|
code/node_modules/
|
||||||
|
code/cache/
|
||||||
|
code/artifacts/
|
||||||
|
code/coverage/
|
||||||
|
code/ignition/deployments/
|
||||||
|
code/.agents/
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
Projet 42 — création et déploiement d’un **token** sur blockchain publique (**testnet**).
|
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)
|
**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)
|
## 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
|
```bash
|
||||||
cd code
|
cd code # obligatoire avant toute commande hardhat
|
||||||
npm install
|
npm install
|
||||||
npx hardhat build
|
npx hardhat build
|
||||||
npx hardhat test
|
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)) :
|
Déploiement (déjà effectué — pour reproduire, voir [`deployment/README.md`](deployment/README.md)) :
|
||||||
|
|||||||
7
tokenizerRendu/code/.gitignore
vendored
7
tokenizerRendu/code/.gitignore
vendored
@@ -29,3 +29,10 @@
|
|||||||
|
|
||||||
# Snapshot cheatcodes output
|
# Snapshot cheatcodes output
|
||||||
/snapshots
|
/snapshots
|
||||||
|
|
||||||
|
# Ignition — état local de deploy (adresses officielles dans ../deployment/addresses.json)
|
||||||
|
/ignition/deployments
|
||||||
|
|
||||||
|
# Assistants / IDE locaux (hors livrable sujet)
|
||||||
|
/.agents
|
||||||
|
AGENTS.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` :
|
Depuis la racine du dossier `code` :
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd tokenizerRendu/code
|
cd code
|
||||||
npx hardhat ignition deploy --network bscTestnet ignition/modules/FGC42Forge.ts
|
npx hardhat ignition deploy --network bscTestnet ignition/modules/FGC42Forge.ts
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
Ce document permet de **comprendre** le token et de **l’utiliser** (wallet, transferts) sans lire le code Solidity.
|
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/`.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user