Files
tokenizer/docs/pedagogie/sujet-exigences-rendu.md
2026-10-22 11:39:33 +02:00

123 lines
5.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Exigences du sujet Tokenizer (v1.1) — grille de conformité rendu
> Source officielle : [`docs/sujets/originaux/tokenizer_subject.pdf`](../sujets/originaux/tokenizer_subject.pdf)
> Traduction structurée : [`docs/sujets/tokenizer.md`](../sujets/tokenizer.md)
> **Dépôt évalué** : racine Vogosphere = contenu de **`tokenizerRendu/`** (pas le dépôt de travail `tokenizer/` avec `docs/`).
---
## Chapitre VI — Règle d’or
| Règle | Implication |
|-------|-------------|
| Dépôt Git habituel | Push sur Vogosphere ; **seul le contenu du dépôt** est noté |
| Noms dossiers / fichiers | Respecter l’exemple ou un nom **explicite** justifiable à l’oral |
| Git perso `#web3` | **Recommandé en plus**, pas en remplacement du rendu école |
---
## Arborescence obligatoire (PDF p.7)
```
README.md ← racine du dépôt ÉCOLE
code/
deployment/ ← nom d’exemple ; autre nom OK si clair en soutenance
documentation/
```
**Hors sujet dans le rendu :** dossier `docs/` perso, PDF sujet traduit, checklist perso — à garder dans le dépôt de **travail** uniquement.
---
## Tableau des exigences — partie obligatoire (ch. IV)
| # | Exigence (sujet) | Critère de validation | Projet FGC42Forge |
|---|------------------|----------------------|-------------------|
| **T1** | Nom du token contient **`42`** | `name()` on-chain ou nom documenté | ✅ `FGC42Forge` |
| **T2** | Pas d’insultes dans le nom | — | ✅ |
| **T3** | Standard de la chaîne | BEP-20 si BSC | ✅ OpenZeppelin ERC20 sur BSC Testnet |
| **T4** | **Pas d’argent réel** | Testnet + doc | ✅ tBNB, pas de mainnet requis |
| **T5** | **`README.md` racine** : choix + **pourquoi** | Section explicite technologies / chaîne / modèle | ✅ `tokenizerRendu/README.md` (choix techniques) |
| **T6** | Blockchain qui supporte les tokens | EVM / smart contracts | ✅ BNB Smart Chain |
| **T7** | Maîtrise langage + toolchain | Solidity + Hardhat (ou équivalent cité) | ✅ Solidity 0.8.34 + Hardhat 3 |
| **T8** | Dossier **`code/`** à la racine | Présent | ✅ |
| **T9** | Code **commenté**, noms **lisibles** | Revue en eval | ✅ `FGC42Forge.sol` + index `code/README.md` |
| **T10** | **Code review** en soutenance | Savoir expliquer le contrat | À préparer (fiche soutenance) |
| **T11** | **Démo minimale** : token fonctionne | `name`, `symbol`, `totalSupply`, `transfer` ; explorer | ✅ tests + MetaMask + BscScan |
| **T12** | **Sécurité** : ownership, privilèges | Expliquer owner, mint, pause, etc. | ✅ Ownable, pas de mint public ; à verbaliser |
| **T13** | Dossier **`deployment/`** (ou équivalent) | Scripts / infos deploy | ✅ |
| **T14** | Deploy **blockchain publique** | Testnet public OK | ✅ BSC Testnet |
| **T15** | **Ticker** + contrat sur **explorateur** | Symbole + adresse visible | ✅ FG42 + BscScan |
| **T16** | Git : **adresse contrat** + **réseau** | README ou deployment | ✅ README + `addresses.json` |
| **T17** | Dossier **`documentation/`** | Comprendre + **utiliser** le token | ✅ |
| **T18** | Doc **claire**, relue en eval | Guide utilisateur autonome | ✅ `documentation/README.md` + stack |
| **T19** | Whitepaper léger (envisagé) | Rôle, limites — pas toujours fichier séparé | ✅ `documentation/README.md` § 5 |
---
## Ce qui n’est **pas** obligatoire (éviter de sur-investir)
| Élément | Sujet |
|---------|--------|
| **Vidéo démo** | Optionnelle ; **ne change pas la note** ; lien seulement si faite |
| **Bonus multisig** | Ch. V ; **non noté** si obligatoire imparfaite ; tu as **abandonné** → OK |
| **Mint public en démo** | « Éventuellement mint **si prévu** » — pas requis si supply fixe documentée |
| **Vérification BscScan** | Non écrit mot pour mot ; **fortement recommandé** (preuve + code review) — ✅ fait |
| **NFT / ERC-721** | Hors token fongible type 20 |
| **Compte Binance** | Non requis ; wallet + faucet suffisent |
---
## Chapitre V — Bonus (référence)
| Règle | Conséquence |
|-------|-------------|
| Multisig (contrat ou extension) | Seuils m-of-n, qui signe |
| Obligatoire **PARFAITE** | Sinon bonus ignoré |
**Ton choix :** bonus non implémenté — indiqué dans `tokenizerRendu/README.md`.
---
## Objectifs pédagogiques (ch. III) — à mentionner à l’oral
- Maîtrise d’**au moins un langage** chaîne (Solidity).
- Familiarité **blockchain publique** (réseau, explorer, adresses, txs).
- Capacité d’**adaptation** (apprentissage Web3).
---
## Erreurs fréquentes à éviter (checklist anti-échec)
| Erreur | Risque |
|--------|--------|
| Dépôt racine = `tokenizer/` avec `docs/` au lieu de `tokenizerRendu/` seul | Structure hors sujet |
| Pas d’adresse / réseau dans Git | T16 manquant |
| `documentation/` = copie de la doc dev ou liens vers `docs/pedagogie` | Évaluateur perdu ; fuite hors rendu |
| Clé privée / `.env` commité | Sécurité + disqualification possible |
| Nom sans `42` | T1 |
| Mainnet / vrai BNB obligatoire | T4 |
| Token non déployé sur chaîne publique | T14 |
| Code non commenté / illisible en review | T9–T10 |
| README sans **pourquoi** (liste d’outils seule) | T5 |
| Compter sur la vidéo pour la note | Inutile pour la note |
| Présenter le bonus sans obligatoire parfaite | Règle ch. V |
---
## Démo minimale — script aligné sujet (ch. IV + éclaircissements)
1. **Explorer** : adresse contrat + page **token** (symbole, supply).
2. **Lecture** : `name`, `symbol`, `totalSupply` (BscScan ou wallet).
3. **`transfer`** entre deux comptes test (MetaMask).
4. **Sécurité** : qui est `owner` ; **pas** de mint après deploy ; pas de privilèges cachés.
5. **`documentation/`** : montrer qu’un tiers peut importer FG42 et transférer.
6. **`code/`** : ouvrir `FGC42Forge.sol` (revue de code courte).
---
## Prochaine étape doc perso
→ Fiche de soutenance : [`fiche-soutenance-tokenizer.md`](fiche-soutenance-tokenizer.md)
→ Audit rendu avant push : [`audit-rendu-tokenizer.md`](audit-rendu-tokenizer.md)