Skip to content

Commit fd48ba3

Browse files
author
Emmanuel ROY
committed
update: docs
1 parent 4b94f3f commit fd48ba3

20 files changed

Lines changed: 90 additions & 21 deletions

data/docs/00.a. Configuration de départ.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
1-
# Les étapes de configurations de SAND
1+
#Les étapes de configurations de SAND
22

33
il vous faut modifier quelques valeurs dans des fichiers de configuration
4-
- `application/config/app-parameters.php`
5-
6-
4+
- `application/config/app-parameters.php`
75
- `application/config/bdd-parameters.php`
86

97
Les autres fichiers contenus dans config servent pour la branche dev
Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,17 @@
1-
# Comment bien utiliser les urls dans le framework SAND
1+
#Comment bien utiliser les urls dans le framework SAND
2+
3+
Les urls d'accès basiques sont du type :
4+
5+
`www.domain.tld/{page}/{varname1}/{varvalue1}/{varname2}/{varvalue2}/` ...
6+
7+
Les variables sont automatiquement transmises au contrôleur et à la vue par le moteur MVC du framework
8+
9+
où {page} est le nom :
10+
11+
- Du contrôleur contenu dans `/application/include/controlleurs/{page}.php`
12+
- Du modèle contenu dans `/application/include/modeles/{page}.model`
13+
- De la vue contenue dans `/application/include/vues/view/{page}.blade.php` ou `/application/include/vues/view/{page}.html.twig` suivant le moteur de rendu
14+
15+
...
16+
17+
D’autres types d’urls peuvent être mises en place par la configuration du routing symfony et des conduits, il faut alors renseigner les informations de routage dans le fichier `/application/config/files/routing.yml` et faire correspondre l’url d’accès au Conduit.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
# Comment bien utilisre les commandes dans le framework SAND
1+
#Comment bien utiliser les commandes dans le framework SAND
Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,41 @@
1-
# Comment est architecturé le framework SAND
1+
#Comment est architecturé le framework SAND
2+
3+
Ce framework est nommé SAND pour l'acronyme récursif (Simplement [AND et] un Autre Nouveau Dossier),
4+
5+
La racine contient les dossiers suivant :
6+
7+
- `application` : dossier contenant différents fichiers, propre à l’application et au framework dont on détaillera le contenu plus bas.
8+
- `console` : dossier contenant les commandes console propres au framework et à l’application
9+
- `data` : dossier contenant des données qui sont chargé par l’applications ou le framework
10+
- `docs` : dossier contenant la documentation de l’application
11+
- `domain` : dossier contenant les classes propres à la manipulation du domaine visé par l’application, ces classes peuvent être testées unitairement par PHPUnit
12+
- `output` : dossier contenant les sorties des commandes console de l’applications, ce peut être des logs ou des fichiers de traitement
13+
- `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.
14+
- `tests` : dossier contenant les fichiers de tests unitaire ou fonctionnels
15+
- `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
16+
17+
Le dossier `application` contient les dossiers suivants:
18+
19+
- `class` : dossier contenant les fichiers propres au framework. Ne doit pas être modifié.
20+
- `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
21+
- `include` : dossier de développement contient :
22+
- `actions` : dossier contenant les actions réutilisables dans les vues de l’application
23+
- `conduits` : dossier contenant le contrôleur qui est conduit par le routage symfony, ici utilisé exclusivement pour générer des réponses AJAX
24+
- `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
25+
- `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
26+
- `vues` : dossier contenant les fichiers blade ou twig utilisé dans les pages, les actions et les conduits dont voici le détail :
27+
- `cache` : dossier contenant les fichiers de cache généré par le moteur de rendu
28+
- `layout` : dossier contenant les layout des pages
29+
- `system` : dossier contenant le layout systeme
30+
- `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
31+
- `logs` : dossier contenant les logs générer par l’application, une classe dédiée aux logs est contenue dans le framework
32+
- `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.
33+
- `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
34+
- `traitements` : dossier contenant les traitements de formulaire selon le respect du pattern PRG (Post Redirect Get)
35+
36+
37+
Le dossier `console` contient les dossiers suivants:
38+
39+
- `command` : dossier contenant les commandes console du framework et de l’application
40+
- `skel` : dossier contenant les squelettes utilisés lors des appels console, par exemple pour créer un nouvelle page vous pouvez utiliser la commande :
41+
php bin.php page:add
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#Comment modifier proprement une page contenu dans le framework SAND
2+
3+
Tout d’abord il vous faut reconnaitre la vue pour aller chercher le bon fichier à modifier dans le dossier `application/include`.
4+
5+
Si vous désirez modifier le comportement d’une page il vous faudra très certainement modifier le contrôleur et la view associé, voir peut-être l’action et sa vue.
6+
7+
Si vous désirez juste modifier l’affichage, il vous suffira simplement de modifier la vue blade ou twig suivant le moteur de rendu.
8+
9+
Le fichier `.model` de la page contient une variable engine qui peut prendre les valeurs `blade` ou `twig`.
10+
Par défaut si ce paramètre de modèle n’est pas renseigné c’est le moteur de rendu blade qui sera appelé.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#Comment faire évoluer une application écrite avec le framework SAND ?
2+
3+
Tout d’abord, une fois l’application créé, toutes les ressources sont téléchargée par composer et le fichier composer.lock est garant de la stabilité des dépôts auxquels l’application fait appel. Donc normalement il ne sera pas nécessaire de faire évoluer ces ressources.
4+
5+
Néanmoins passer vers une nouvelle version de php par exemple de la 5.6 à la 8 nécessite des connaissances évolué des fonctions dépréciées entre les versions de PHP. SAND framework est php 8 ready, néanmoins certaines lib comme phpCAS ne fonctionne que sur php7.3, mais celles-ci une fois installée ne changent pas au cours du temps car elles sont directement accessibles depuis le dossier vendor.

data/docs/01. Le controleur facile.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Le contrôleur de base le plus simple possible
1+
#Le contrôleur de base le plus simple possible
22

33
il vous faut instancier deux fichiers sous cette forme:
44

data/docs/02. Le controleur de base.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Le contrôleur de base
1+
#Le contrôleur de base
22

33
il vous faut instancier trois fichiers sous cette forme:
44

data/docs/03. Le controleur REST ou HTML.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Le contrôleur de REST / HTML
1+
#Le contrôleur de REST / HTML
22

33
>Ici le modèle (.model) n'est pas instancié, cela ressemble à symfony.
44
Étendre avec RESTResponse permet d'ajouter les methode get, put, post, delete

data/docs/05. Les Actions dans les vues.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Les actions
1+
#Les actions
22
Celles-ci peuvent être appellé dans une vue par la méthode static qu'il convient d'instancier dans un fichier se trouvant dans le dossier `application/include/action/`
33
par exemple:
44
```php

0 commit comments

Comments
 (0)