Basculer le menu
Changer de menu des préférences
Basculer le menu personnel
Non connecté(e)
Votre adresse IP sera visible au public si vous faites des modifications.
Version datée du 23 août 2026 à 12:32 par Eugene (discussion | contributions)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

Retour Accueil


🏗️ Architecture complète de vocab-app FastAPI (propre et modulaire) modifier le wikicode

app/
│
├── main.py
├── database.py
├── dependencies.py
│
├── models/
│   ├── user.py
│   ├── progress.py
│   └── __init__.py
│
├── routers/
│   ├── auth.py          # login / logout / register
│   ├── users.py         # profil, préférences
│   ├── progress.py      # progression vocabulaire
│   ├── vocab.py         # gestion des mots
│   └── __init__.py
│
├── services/
│   ├── auth_service.py  # hashing, validation, création user
│   ├── progress_service.py
│   └── vocab_service.py
│
├── middleware/
│   ├── session.py       # gestion des cookies signés
│   └── __init__.py
│
├── utils/
│   ├── security.py      # bcrypt, tokens
│   ├── validators.py
│   └── __init__.py
│
├── templates/
│   ├── base.html
│   ├── login.html
│   ├── register.html
│   ├── dashboard.html
│   ├── review.html
│   └── components/
│       ├── navbar.html
│       ├── card.html
│       └── stats.html
│
└── static/
    ├── css/
    │   ├── main.css
    │   └── theme.css
    ├── js/
    │   ├── htmx.min.js
    │   └── app.js
    └── img/
        └── icons/

🎯 Explication claire de chaque partie modifier le wikicode

1) models/ modifier le wikicode

Contient les tables SQLAlchemy :

  • user.py → comptes utilisateurs
  • progress.py → progression par utilisateur
  • vocab.py (si tu veux) → mots, catégories

2) routers/ modifier le wikicode

Chaque fonctionnalité a son routeur :

  • auth.py → login, logout, register
  • users.py → profil, préférences
  • progress.py → progression vocabulaire
  • vocab.py → ajout / édition / suppression de mots

3) services/ modifier le wikicode

Toute la logique métier :

  • auth_service.py → hashing, création user, validation
  • progress_service.py → mise à jour progression
  • vocab_service.py → gestion des mots

4) middleware/ modifier le wikicode

Le middleware de session :

  • charge la session depuis le cookie
  • stocke user_id
  • rend l’utilisateur disponible dans request.state.user

5) templates/ modifier le wikicode

Structure claire :

  • base.html → layout global
  • login.html / register.html
  • dashboard.html → page d’accueil utilisateur
  • review.html → révision vocabulaire
  • components/ → fragments réutilisables (navbar, cartes, stats)

6) static/ modifier le wikicode

Tout ce qui est visuel :

  • CSS
  • JS
  • images
  • icônes

🧠 Et le main.py devient ultra propre modifier le wikicode

Il ne contient que :

  • création de l’app
  • middleware
  • montage des routes
  • montage des templates
  • montage du static

🎉 Résultat modifier le wikicode

Tu obtiens une architecture :

  • professionnelle
  • modulaire
  • scalable
  • parfaite pour plusieurs utilisateurs
  • idéale pour ton app de vocabulaire
  • compatible avec sessions + progression + comptes