renduprojet

This commit is contained in:
2026-10-22 11:22:11 +02:00
parent 624a44bffd
commit ec69c07bfc
10 changed files with 136 additions and 15 deletions

View File

@@ -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)

View File

@@ -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).

View 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)

View File

@@ -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)
--- ---

View File

@@ -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)

View File

@@ -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/

View File

@@ -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)) :

View File

@@ -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

View File

@@ -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
``` ```

View File

@@ -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/`.
--- ---