update: docs

This commit is contained in:
Emmanuel ROY 2021-02-10 11:18:10 +01:00
parent 4b94f3f6ea
commit fd48ba3ce9
20 changed files with 90 additions and 21 deletions

View file

@ -1,9 +1,7 @@
# Les étapes de configurations de SAND
#Les étapes de configurations de SAND
il vous faut modifier quelques valeurs dans des fichiers de configuration
- `application/config/app-parameters.php`
- `application/config/app-parameters.php`
- `application/config/bdd-parameters.php`
Les autres fichiers contenus dans config servent pour la branche dev

View file

@ -1 +1,17 @@
# Comment bien utiliser les urls dans le framework SAND
#Comment bien utiliser les urls dans le framework SAND
Les urls d'accès basiques sont du type :
`www.domain.tld/{page}/{varname1}/{varvalue1}/{varname2}/{varvalue2}/` ...
Les variables sont automatiquement transmises au contrôleur et à la vue par le moteur MVC du framework
où {page} est le nom :
- Du contrôleur contenu dans `/application/include/controlleurs/{page}.php`
- Du modèle contenu dans `/application/include/modeles/{page}.model`
- 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
...
Dautres types durls 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 lurl daccès au Conduit.

View file

@ -1 +1 @@
# Comment bien utilisre les commandes dans le framework SAND
#Comment bien utiliser les commandes dans le framework SAND

View file

@ -1 +1,41 @@
# Comment est architecturé le framework SAND
#Comment est architecturé le framework SAND
Ce framework est nommé SAND pour l'acronyme récursif (Simplement [AND et] un Autre Nouveau Dossier),
La racine contient les dossiers suivant :
- `application` : dossier contenant différents fichiers, propre à lapplication et au framework dont on détaillera le contenu plus bas.
- `console` : dossier contenant les commandes console propres au framework et à lapplication
- `data` : dossier contenant des données qui sont chargé par lapplications ou le framework
- `docs` : dossier contenant la documentation de lapplication
- `domain` : dossier contenant les classes propres à la manipulation du domaine visé par lapplication, ces classes peuvent être testées unitairement par PHPUnit
- `output` : dossier contenant les sorties des commandes console de lapplications, ce peut être des logs ou des fichiers de traitement
- `public` : dossier contenant la racine publique de lapplication, le serveur apache doit pointer sur ce dossier pour que le reste ne soit pas accessible, il contient tous les assets (css, js) de lapplication ainsi que le fichier index.php et .htaccess redirigant toutes les requêtes vers lindex.
- `tests` : dossier contenant les fichiers de tests unitaire ou fonctionnels
- `vendor` : dossier créé par composer lors de la récupération des paquets nécessaire à lapplication, contient aussi lautoloader de lapplication généré à la volée par composer
Le dossier `application` contient les dossiers suivants:
- `class` : dossier contenant les fichiers propres au framework. Ne doit pas être modifié.
- `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
- `include` : dossier de développement contient :
- `actions` : dossier contenant les actions réutilisables dans les vues de lapplication
- `conduits` : dossier contenant le contrôleur qui est conduit par le routage symfony, ici utilisé exclusivement pour générer des réponses AJAX
- `controlleurs` : dossier contenant les contrôleurs de lapplications, 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
- `modeles` :dossier contenant les modèles de lapplication, il faut savoir que les modèles ont lextension .model et contiennent les variable propres à la page, comme le title, la description ou plus récemment le fil dariane
- `vues` : dossier contenant les fichiers blade ou twig utilisé dans les pages, les actions et les conduits dont voici le détail :
- `cache` : dossier contenant les fichiers de cache généré par le moteur de rendu
- `layout` : dossier contenant les layout des pages
- `system` : dossier contenant le layout systeme
- `view` : dossier contenant toutes les vues de lapplication, une convention de nommage peut être établie suivant le domaine de lapplication, 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
- `logs` : dossier contenant les logs générer par lapplication, une classe dédiée aux logs est contenue dans le framework
- `modules` : dossier contenant les modules de lapplication, 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 à lapplication que lon est en train de développer.
- `objets` : dossier contenant les objets de session du framework, ce dossier peut être modifié par lutilisateur, il contient des classes qui sont utilisé dans le cadre de la gestion de session, par exemple lauthentification CAS
- `traitements` : dossier contenant les traitements de formulaire selon le respect du pattern PRG (Post Redirect Get)
Le dossier `console` contient les dossiers suivants:
- `command` : dossier contenant les commandes console du framework et de lapplication
- `skel` : dossier contenant les squelettes utilisés lors des appels console, par exemple pour créer un nouvelle page vous pouvez utiliser la commande :
php bin.php page:add

View file

@ -0,0 +1,10 @@
#Comment modifier proprement une page contenu dans le framework SAND
Tout dabord il vous faut reconnaitre la vue pour aller chercher le bon fichier à modifier dans le dossier `application/include`.
Si vous désirez modifier le comportement dune page il vous faudra très certainement modifier le contrôleur et la view associé, voir peut-être laction et sa vue.
Si vous désirez juste modifier laffichage, il vous suffira simplement de modifier la vue blade ou twig suivant le moteur de rendu.
Le fichier `.model` de la page contient une variable engine qui peut prendre les valeurs `blade` ou `twig`.
Par défaut si ce paramètre de modèle nest pas renseigné cest le moteur de rendu blade qui sera appelé.

View file

@ -0,0 +1,5 @@
#Comment faire évoluer une application écrite avec le framework SAND ?
Tout dabord, une fois lapplication 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 lapplication fait appel. Donc normalement il ne sera pas nécessaire de faire évoluer ces ressources.
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.

View file

@ -1,4 +1,4 @@
# Le contrôleur de base le plus simple possible
#Le contrôleur de base le plus simple possible
il vous faut instancier deux fichiers sous cette forme:

View file

@ -1,4 +1,4 @@
# Le contrôleur de base
#Le contrôleur de base
il vous faut instancier trois fichiers sous cette forme:

View file

@ -1,4 +1,4 @@
# Le contrôleur de REST / HTML
#Le contrôleur de REST / HTML
>Ici le modèle (.model) n'est pas instancié, cela ressemble à symfony.
Étendre avec RESTResponse permet d'ajouter les methode get, put, post, delete

View file

@ -1,4 +1,4 @@
# Les actions
#Les actions
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/`
par exemple:
```php

View file

@ -1,4 +1,4 @@
# Le conduit Symfony
#Le conduit Symfony
>Le conduit est une nouveautée de l'application, celle permet de réaliser
un controlleur similaire a Symfony qui est dénomé ici Conduit car il prend

View file

@ -1,4 +1,4 @@
# Comment Configurer un module Symfony ou tout autre application php
#Comment Configurer un module Symfony ou tout autre application php
il vous faut instancier trois fichiers:
le modèle (.model) contenant le nom de la page qui porte le model

View file

@ -1 +1 @@
# Comment bien utiliser les modules
#Comment bien utiliser les modules

View file

@ -1 +1 @@
# Comment ajouter un module Wordpress
#Comment ajouter un module Wordpress

View file

@ -1 +1 @@
# Comment ajouter un module Prestashop
#Comment ajouter un module Prestashop

View file

@ -1 +1 @@
# Comment ajouter un module PHPList
#Comment ajouter un module PHPList

View file

@ -1 +1 @@
# Comment ajouter un module GitList
#Comment ajouter un module GitList

View file

@ -1 +1 @@
# Comment ajouter un module Symfony
#Comment ajouter un module Symfony

View file

@ -1,4 +1,4 @@
# Comment troller efficacement
#BONUS - Comment troller efficacement
##prendre en compte l'aspect actuel de l'information
>en effet si absolument rendre compte que l'information n'est basé sur les faits divers et principalement sur l'actualité économique. En effet la plupart des médias ne parlent pas de l'information économique et informatique. En faisant cela vous devriez voir les niche qui doivent être visé par la trool attitude. Principalement parlez des faits divers ne nourris pas le trool. Et ne permet pas efficacement de nourrir une informations qui serait humoristique. Ainsi un troll d'humour serait basé sur des fait divers détourné et des sites comme le _Gorafi_ et l'_Echo de la boucle_ sont des niches a trool.

View file

@ -1,4 +1,4 @@
###Index
#BONUS - Quelques livres sur la programmation
* [Méta-listes](#méta-listes)
* [Non dépendant du langage](#non-dépendant-du-langage)
* [Algorithmique](#algorithmique)