📁 app/ # Routeur d'application
📁 public/ # Actifs statiques à servir
.../
Structure et organisation du projet
Conventions de dossiers et de fichiers
Les dossiers de niveau supérieur sont utilisés pour organiser le code et les ressources statiques de votre application.
Les fichiers de niveau supérieur sont utilisés pour configurer votre application, gérer les dépendances, exécuter des intergiciels, intégrer des outils de surveillance et définir des variables d'environnement.
📄 nexy-config.py # Fichier de configuration pour Nexy
📄 requirements.txt # Dépendances et scripts du projet
📄 middleware.py # Intergiciel de requête Nexy
📄 .env # Variables d'environnement
📄 .gitignore # Fichiers et dossiers Git à ignorer
Fichiers de routage
📄 controller.py # Le seul fichier routable dans Nexy
📄 layout.html # Mise en page
📄 view.html # Page de routage
📄 not-found.html # Interface utilisateur non trouvée
📄 error.html # Interface utilisateur d'erreur
Itinéraires imbriqués
📁 app/
├── 📁 dossier/ # Segment d';itinéraire
│ └── 📁 dossier/ # Segment d'itinéraire imbriqué
│ └── 📁 dossier/ # Segment d'itinéraire imbriqué
└── 📁 autre/ # Autre segment d'itinéraire
└── 📁 dossier/ # Segment d'itinéraire imbriqué
Itinéraires dynamiques
📁 [dossier]/ #itinéraire dynamique
📁 ![dossier] #itinéraire dynamique facultatif
📁 [_dossier]/ #itinéraire dynamique four tout
📁 ![_dossier]/ #itinéraire dynamique facultatif et four tout
Dossiers privés
📁 _dossier/ # Dossier privé
Organiser votre projet
Outre les conventions relatives aux dossiers et aux fichiers, Nexy n'a pas d'opinion sur la manière dont vous organisez et regroupez les fichiers de votre projet. Cependant, il fournit plusieurs fonctionnalités pour vous aider à organiser votre projet.
Colocation
Dans le répertoire app
, des dossiers imbriqués définissent la structure de l'itinéraire. Chaque dossier représente un segment d'itinéraire mappé à un segment correspondant dans un chemin d'URL.
Cependant, même si la structure de l'itinéraire est définie via des dossiers, un itinéraire n'est pas accessible publiquement tant qu'un fichier controller.py
n'est pas ajouté à un segment d'itinéraire.
📁 app/
├── 📁 blog/
│ ├── 📄 controller.py # Pour le blog
│ ├── 📄 service.py # Services du blog
│ └── 📁 [slug]/
│ ├── 📄 controller.py # Pour /blog/[slug]
│ └── 📄 service.py # Services des articles
🌐 url = / # n'est pas accessible publiquement
🌐 url = /blog # n'est pas accessible publiquement
🌐 url = /blog/1 # n'est pas accessible publiquement
Et, même lorsqu'un itinéraire est rendu accessible au public, seul le contenu renvoyé par controller.py
est envoyé au client.
📁 project/
├── 📁 app/
│ ├── 📄 controller.py
│ ├── 📁 blog/
│ │ ├── 📄 controller.py
│ │ └── 📁 [slug]/
│ │ └── 📄 controller.py
│ ├── 📁 _docs/
│ ├── 📄 controller.py
│ └── 📁 [slug]/
│ └── 📄 controller.py
🌐 url = / # accessible publiquement
🌐 url = /blog # accessible publiquement
🌐 url = /blog/1 # accessible publiquement
🌐 url = /docs # n'est pas accessible , _docs/ est privé
🌐 url = /docs/1 # n'est pas accessible, _docs/ est privé
Exemple de structure de projet
L'architecture de base d'un projet Nexy est une symphonie d'organisation, orchestrée pour maximiser la clarté et l'efficacité de votre code. Voici un exemple de cette structure harmonieuse et bien pensée :
📁 Projet/
├── 📁 app/
│ ├── 📄 controller.py # Pour la route /
│ ├── 📄 view.html
│ ├── 📄 layout.html
│ ├── 📁 components/
│ ├── 📁 actions/
│ ├── 📄 service.py # Services
│ ├── 📁 modals/
│ ├── 📁 users/
│ │ ├── 📄 controller.py # Pour /users
│ │ ├── 📄 view.html
│ │ └── 📁 [id]/
│ │ └── 📄 controller.py
│ ├── 📁 blog/
│ │ ├── 📄 controller.py # Pour /blog
│ │ └── 📁 [slug]/
│ │ └── 📄 controller.py
│ ├── 📁 projects/
│ │ ├── 📁 [projectId]/
│ │ │ ├── 📁 tasks/
│ │ │ │ ├── 📄 controller.py
│ │ │ │ └── 📁 [taskId]/
│ │ │ │ └── 📄 controller.py
├── 📁 public/
├── 📁 tests/
└── 📄 nexy-config.py
- Familiarisez-vous avec la structure du projet pour bien comprendre l'organisation des fichiers et répertoires. Prenez le temps d'analyser comment chaque composant interagit avec les autres.
- Concevez votre première route pour ajouter des fonctionnalités à votre application. Commencez par une tâche simple, comme une page d'accueil ou une API basique.
- Expérimentez avec les composants Nexy pour créer des interfaces utilisateur réutilisables et maintenables.
- Explorez les fonctionnalités avancées telles que les WebSockets et les actions serveur pour développer des applications interactives.