|
1 | 1 |
|
2 | 2 | *SAND est nommé pour l'acronyme récursif (Simplement [AND et] un Autre Nouveau Dossier)* |
3 | 3 |
|
4 | | -Tout d'abord, avant même de vouloir ajouter de nouvelles pages, je vais vous présenter la structure, ainsi vous comprendrez où se trouvent les fichiers nécessaires afin d'ajouter une simple page `Hello_World` |
| 4 | +Tout d'abord, avant même de vouloir vous montrer comment ajouter de nouvelles pages, je vais représenter la structure, ainsi vous comprendrez où se trouvent les fichiers nécessaires où que vous devrez implémenter afin d'ajouter une simple page `Hello_World` et un peu plus `Hello_All_About_The_World` |
5 | 5 |
|
6 | 6 | ## Comment est architecturé le framework SAND ? |
7 | 7 |
|
8 | 8 | La racine de SAND contient les dossiers suivant : |
9 | 9 |
|
10 | | -- `application` : dossier contenant différents fichiers, propre à l’application et au framework dont on détaillera le contenu plus bas. |
| 10 | +- `application` |
11 | 11 |
|
12 | | - 1. `class` : dossier contenant les fichiers propres au framework. Ne doit pas être modifié. |
| 12 | + 1. `class` : |
13 | 13 | |
14 | | - 2. `config` : dossier contenant les fichiers de configuration, normalement lors de la récupération du dépôt, les fichiers sont a renommer et a ancrer avec les bonnes valeurs |
| 14 | + 2. `config` : dossier contenant les fichiers de configuration de l'application |
15 | 15 | |
16 | | - 3. `include` : dossier de développement contient : |
| 16 | + 3. `include` : **DOSSIERS CENTRAUX DE DEVELOPPEMENTS** |
17 | 17 | |
18 | | - 1. `actions` : dossier contenant les actions réutilisables dans les vues de l’application |
| 18 | + * `actions` : dossier contenant les actions réutilisables dans les vues de l’application |
19 | 19 | |
20 | | - 2. `conduits` : dossier contenant le contrôleur qui est conduit par le routage symfony, ici utilisé exclusivement pour générer des réponses AJAX |
| 20 | + * `conduits` : dossier contenant le contrôleur qui est conduit par le routage symfony, ici utilisé exclusivement pour générer des réponses AJAX |
21 | 21 | |
22 | | - 3. `controlleurs` : dossier contenant les contrôleurs de l’applications, nous verrons plus tard le modèles MVC propre au framework, mais il faut savoir que les controlleurs contiennent les accès en bdd de la page correspondant à son nom |
| 22 | + * `controlleurs` : dossier contenant les contrôleurs de l’applications, nous verrons plus tard le modèles MVC propre au framework, mais il faut savoir que les controlleurs contiennent les accès en bdd de la page correspondant à son nom |
23 | 23 | |
24 | | - 4. `modeles` :dossier contenant les modèles de l’application, il faut savoir que les modèles ont l’extension .model et contiennent les variable propres à la page, comme le title, la description ou plus récemment le fil d’ariane |
| 24 | + * `modeles` :dossier contenant les modèles de l’application, il faut savoir que les modèles ont l’extension .model et contiennent les variable propres à la page, comme le title, la description ou plus récemment le fil d’ariane |
25 | 25 | |
26 | | - 5. `vues` : dossier contenant les fichiers blade ou twig utilisé dans les pages, les actions et les conduits dont voici le détail : |
| 26 | + * `vues` : dossier contenant les fichiers blade ou twig utilisé dans les pages, les actions et les conduits dont voici le détail : |
27 | 27 | |
28 | | - 1. `cache` : dossier contenant les fichiers de cache généré par le moteur de rendu |
| 28 | + _ `cache` : dossier contenant les fichiers de cache généré par le moteur de rendu |
29 | 29 | |
30 | | - 2. `layout` : dossier contenant les différents layouts des pages |
| 30 | + _ `layout` : dossier contenant les différents layouts des pages |
31 | 31 | |
32 | | - 3. `system` : dossier contenant le/les layout(s) système(s) |
| 32 | + _ `system` : dossier contenant le/les layout(s) système(s) |
33 | 33 | |
34 | | - 4. `view` : dossier contenant toutes les vues de l’application, une convention de nommage peut être établie suivant le domaine de l’application, par exemple, toutes les vues des actions doivent commencer par action et toutes les vues des conduits doivent commencer par le nom du conduit duquel ils sont appelés |
| 34 | + _ `view` : dossier contenant toutes les vues de l’application, une convention de nommage peut être établie suivant le domaine de l’application, par exemple, toutes les vues des actions doivent commencer par action et toutes les vues des conduits doivent commencer par le nom du conduit duquel ils sont appelés |
35 | 35 | |
36 | | - 4. `logs` : dossier contenant les logs générer par l’application, une classe dédiée aux logs est contenue dans le framework |
| 36 | + 4. `logs` : dossier contenant les fichiers de logs générés par vos controlleurs |
37 | 37 | |
38 | | - 5. `modules` : dossier contenant les modules de l’application, il faut savoir que le framework peut contenir des applications modulaires, genre des applications symfony, wordpress, etc… toutes applications externe php peut avec un peu de doigté peut être intégré à une application, typiquement on peut intégrer un module de dépôt git genre gitlist à l’application que l’on est en train de développer. |
| 38 | + 5. `modules` : dossier contenant les modules de l’application |
39 | 39 | |
40 | | - 6. `objets` : dossier contenant les objets de session du framework, ce dossier peut être modifié par l’utilisateur, il contient des classes qui sont utilisé dans le cadre de la gestion de session, par exemple l’authentification CAS |
| 40 | + 6. `objets` : **DOSSIER DE PULL-SEMI-DEVELOPPEMENT** dossier contenant les objets de session du framework pouvant être modifié par un utilisateur et qui peut être soumis à un pull request, mais pas toujours |
41 | 41 | |
42 | | - 7. `traitements` : dossier contenant les traitements de formulaire selon le respect du pattern PRG (Post Redirect Get) |
| 42 | + 7. `traitements` : **DOSSIER DE DEVELOPPEMENT PRG** dossier contenant les traitements de formulaire selon le respect du pattern PRG (Post Redirect Get) |
43 | 43 |
|
44 | 44 |
|
45 | 45 | - `console` : dossier contenant les commandes console propres au framework et à l’application* |
46 | 46 |
|
47 | 47 | 1. `command` : dossier contenant les commandes console du framework et de l’application |
| 48 | + |
| 49 | + * `App` : **DOSSIER DE DEVELOPPEMENT COMMAND** dossier contenant vos commandes |
| 50 | + |
| 51 | + * `Sand` : **DOSSIER DE PULL-SEMI-DEVELOPPEMENT** dossier contenant les commandes du framework pouvant être modifié par un utilisateur et qui peut être soumis à un pull request, mais pas toujours |
48 | 52 | |
49 | | - 2. `skel` : dossier contenant les squelettes utilisés lors des appels console |
50 | | - |
| 53 | + 2. `skel` : |
| 54 | + |
51 | 55 |
|
52 | 56 | - `data` : dossier contenant des données qui sont chargé par l’applications ou le framework |
53 | 57 |
|
54 | 58 | 1. `docs` : dossier contenant la documentation de l’application |
55 | 59 | |
56 | | - 2. `domain` : dossier contenant les classes propres à la manipulation du domaine visé par l’application, ces classes peuvent être testées unitairement par PHPUnit |
| 60 | +- `domain` : **DOSSIER DE DEVELOPPEMENT DDD** dossier contenant les classes propres à la manipulation du domaine visé par l’application, ces classes peuvent être testées unitairement par PHPUnit |
57 | 61 |
|
58 | | - 3. `output` : dossier contenant les sorties des commandes console de l’applications, ce peut être des logs ou des fichiers de traitement |
59 | | - |
| 62 | + |
| 63 | +- `public` : **DOSSIER DE DEVELOPPEMENT GRAPHIK** dossier contenant la racine publique de l’application, le serveur apache doit pointer sur ce dossier pour que le reste ne soit pas accessible, il contient tous les assets (css, js) de l’application ainsi que le fichier index.php et .htaccess redirigant toutes les requêtes vers l’index. |
60 | 64 |
|
61 | | -- `public` : dossier contenant la racine publique de l’application, le serveur apache doit pointer sur ce dossier pour que le reste ne soit pas accessible, il contient tous les assets (css, js) de l’application ainsi que le fichier index.php et .htaccess redirigant toutes les requêtes vers l’index. |
62 | | - |
63 | | -- `tests` : dossier contenant les fichiers de tests unitaire ou fonctionnels |
| 65 | +- `tests` : **DOSSIER DE DEVELOPPEMENT TDD** |
| 66 | + |
| 67 | + 1. `behat` : dossier contenant les fichiers de tests fonctionnels |
| 68 | + |
| 69 | + 2. `phpunit` : dossier contenant les fichiers de tests unitaire |
64 | 70 |
|
65 | 71 | et : |
66 | 72 |
|
67 | | -- `vendor` : dossier créé par composer lors de la récupération des paquets nécessaire à l’application, contient aussi l’autoloader de l’application généré à la volée par composer |
| 73 | +- `vendor` |
| 74 | + |
| 75 | +- `node_modules` |
| 76 | + |
68 | 77 |
|
69 | | -- `node_modules` : dossier créé par npm lors de la récupération des paquets pouvant être nécessaire à l’application |
70 | 78 |
|
71 | 79 | ## Comment ajouter une nouvelle page nommé hello_world ? |
72 | 80 |
|
|
0 commit comments