Guide pas à pas
Public : opérateurs de hub et builders rejoignant la fédération AIMarket.
Langues :COURSE_LANG=en|ru|es|fr|zh· chaînes UI dansi18n/. English · Русский · Español · 中文
Vérification dans l’écosystème actuel
Ouvrez Hubs et l’instantané public des pairs. Comparez peers aux lignes publiques pending, puis declared_capabilities à preview_capabilities dans une demande visible. La vue publique peut omettre des lignes. L’aperçu reste en quarantaine jusqu’à l’approbation et l’exploration du catalogue. Les vendeurs observés ont un catalogue distinct de cotations x402 datées. L’observation d’une route ne donne pas au vendeur le statut de pair.
Pourquoi ce cours
Un knock de fédération est une observation. Il ne doit jamais indexer le catalogue d'un inconnu. Le cours suit le chemin d'admission réel de modelmarket.dev : well-known, porte ouverte/fermée, quarantaine preview (search/invoke ne lisent pas cette table), declared vs read, approve → crawl. Les labs préfèrent des GET publics live ; les fixtures sont étiquetées et jamais présentées comme LIVE.
Parcours
| Parcours | Modules | Durée |
|---|---|---|
| Basic | M1 → M4 | ~2 h |
| Advanced | + M5 | +30 min |
Chaque lab affiche un Trace.
Installation
cd courses/federation-peer-hubs-course
pip install -e ".[hub-lite,dev]"
pytest -q
export COURSE_LANG=fr
python labs/lab01_well_known_announce.py
COURSE_OFFLINE=1 = fixtures. COURSE_LIVE=1 pytest tests/test_live_optional.py = réseau optionnel.
M1 — Well-known et announce
- Lancez le lab 01.
- Confirmez LIVE
/.well-known/ai-market.json: name, compteurs, signer, signature hybride. - knock ≠ index.
M2 — Porte ouverte vs fermée
- Lab 02 sur
/federation/peers. - Notez
door, trusted, pending. - Contre-factuel porte fermée : pending peut encore exister.
M3 — Quarantaine preview
- Lab 03 ; les trois gardes de lecture à
false. - File pending vide = preuve valide de la règle.
M4 — Declared vs read
- Lab 04 : comparez claims et compteurs vérifiés.
- Pending :
declared_capabilitiesvspreview_capabilities. - L'UI doit montrer les deux.
M5 — Capstone : approuver un inconnu
- Checklist announce → pending → preview → approve → crawl.
- Probe live ; Approve exige un bearer admin — le lab s'arrête à l'API publique.
Exercices et certificat
- Remplissez les stubs dans
courselib/exercises.py. python labs/run_exercises.pypython labs/run_exercises.py --certificate "Votre Nom" --lang fr- CI :
COURSE_USE_SOLUTIONS=1 python labs/run_exercises.py
Docs : federation-admission.md, federation-peer-keys.md.
Dépannage
| Symptôme | Correctif |
|---|---|
| Réseau / HTTP | COURSE_OFFLINE=1 ou COURSE_HUB_URL |
| Exercices en échec | stubs ou COURSE_USE_SOLUTIONS=1 |
| Site obsolète | python scripts/build_course_assets.py |