summaryrefslogtreecommitdiff
path: root/lisez-moi.txt
diff options
context:
space:
mode:
authorpolo <ordipolo@gmx.fr>2022-02-17 18:13:00 +0100
committerpolo <ordipolo@gmx.fr>2022-02-17 18:13:00 +0100
commit787d03e48471ba62cd830379428f04d996f0b74b (patch)
treee9f98c7b9288c4530b50985688dd82622106ba2d /lisez-moi.txt
parent29df6f1362745eabf4fbcaedf309eb63795152fa (diff)
downloadmelaine-787d03e48471ba62cd830379428f04d996f0b74b.zip
model update
Diffstat (limited to 'lisez-moi.txt')
-rw-r--r--lisez-moi.txt100
1 files changed, 69 insertions, 31 deletions
diff --git a/lisez-moi.txt b/lisez-moi.txt
index 255b452..9f2b5be 100644
--- a/lisez-moi.txt
+++ b/lisez-moi.txt
@@ -1,31 +1,69 @@
1Pré-requis: 1Pré-requis:
2 2
3- Un serveur apache exécutant PHP. 3- Un serveur apache exécutant PHP.
4- Le n'utilise pas de base de données mais un ensemble de fichiers HTML. 4- Le n'utilise pas de base de données mais un ensemble de fichiers HTML.
5- Le module GD de PHP pour créer des miniatures des photos (bande passante). 5- Le module GD de PHP pour créer des miniatures des photos (bande passante).
6- La possibilité d'utiliser un fichier .htaccess pour la sécurité (du mot de passe admin en particulier). 6- La possibilité d'utiliser un fichier .htaccess pour la sécurité (du mot de passe admin en particulier).
7- Le responsable du site (Melaine) ne doit pas utiliser un navigateur trop vieux (ckeditor). 7- Le responsable du site (Melaine) ne doit pas utiliser un navigateur trop vieux (ckeditor).
8 8
9 9
10Informations: 10Informations:
11 11
12Le site n'utilise pas de base de données mais à la place un ensemble de fichiers. Le dossier data contient des dossiers "html" et "images", ainsi qu'un dossier 'json'. 12Le site n'utilise pas de base de données mais à la place un ensemble de fichiers. Le dossier data contient des dossiers "html" et "images", ainsi qu'un dossier 'json'.
13- Les premiers contiennent le texte sous forme de fichiers HTML. 13- Les premiers contiennent le texte sous forme de fichiers HTML.
14- Les seconds les images ainsi qu'un dossier "thumbnails" (chargement rapide des pages). 14- Les seconds les images ainsi qu'un dossier "thumbnails" (chargement rapide des pages).
15Le code suit une architecture modèle-vue-contrôleur, il n'utilise pas de framework. 15Le code suit une architecture modèle-vue-contrôleur, il n'utilise pas de framework.
16- Il n'est pas possible pour l'instant d'uploader du multimedia (son et video). Peut-être plus tard. 16- Il n'est pas possible pour l'instant d'uploader du multimedia (son et video). Peut-être plus tard.
17- Il n'est pas possible non plus d'embarquer du multimedia (son et vidéo hébergé ailleurs). Peut-être plus tard. 17- Il n'est pas possible non plus d'embarquer du multimedia (son et vidéo hébergé ailleurs). Peut-être plus tard.
18 18
19 19
20Installation: 20Installation:
21 21
22- Copier tous les fichiers sur le serveur. 22- Copier tous les fichiers sur le serveur.
23- Autoriser en écriture le dossier "data" et tout son contenu, ça se fait depuis la racine du site avec la commande: 23- Autoriser en écriture le dossier "data" et tout son contenu, ça se fait depuis la racine du site avec la commande:
24chmod -R 777 data 24chmod -R 777 data
25Le php se chargera des ajustements (supprimer l'autorisation des fichiers en exécution, permettre à l'utilisateur de manipuler les nouveaux fichiers sans accès root, créer un backup des données). 25Le php se chargera des ajustements (supprimer l'autorisation des fichiers en exécution, permettre à l'utilisateur de manipuler les nouveaux fichiers sans accès root, créer un backup des données).
26- Autoriser le .htaccess (normalement par une manipulation dans le fichier /etc/php/php.ini du serveur) 26- Autoriser le .htaccess (normalement par une manipulation dans le fichier /etc/php/php.ini du serveur)
27- Augmenter la taille maximale des fichiers (par défaut de 2Mo) pouvant être téléchargés dans le php.ini, ainsi que dans le fichier model/Image.php. Une taille max de 5Mo est très raisonnable. 27- Augmenter la taille maximale des fichiers (par défaut de 2Mo) pouvant être téléchargés dans le php.ini, ainsi que dans le fichier model/Image.php. Une taille max de 5Mo est très raisonnable.
28 28
29 29
30Redirections: 30Redirections:
31Si les redirections en cas d'erreur 404 ne fonctionnent pas c'est sans doute que le .htaccess ne pointe pas vers le fichier erreur404.php. En effet, la racine du serveur pourrait bien, du point de vue d'apache, être le dossier parent à celui du site. 31
32Si les redirections en cas d'erreur 404 ne fonctionnent pas c'est sans doute que le .htaccess ne pointe pas vers le fichier erreur404.php.
33En effet, la racine du serveur pourrait bien, du point de vue d'apache, être le dossier parent à celui du site.
34
35
36architecture Modèle-Vue-Contrôleur (MVC):
37
38 modèle
39 ^ |
40 | v
41 routeur --> contrôleur
42 |
43 v
44 vue ---> envoi de la page au client
45
46-> sens dans lequel le code est interprété
47pour retrouver quelque chose dans le code, il suffit de suivre un chemin linéaire dont le départ est ici
48pas de croisement, pas de marche arrière, impossible de se perdre!
49autre avantage: les chemins sont tous relatifs et sont toujours bons, parce que tous les fichiers sont "inclus" dans index.php
50
51Les dossiers:
52-> controller: traitements en PHP pur
53-> model: interface entre PHP et données, on y trouve le SQL ou la manipulation de fichiers textes, le PHP y est orienté objet
54-> view: le PHP y produit le HTML, il construit les pages,
55le HTML figé est placé à part dans le fichier view/template.php
56-> public: contient CSS, JS, images, polices, medias, etc, il est utilisé par template.php
57-> lib: les bibliothèques, on y trouve en particulier le ckeditor qui occupe une place centrale dans le projet, et aussi htmLawed qui nettoie le HTML produit par l'éditeur (failles XSS)
58-> data: comme son nom l'indique
59
60Quelques fichiers spéciaux (indépendants de index.php):
61- imageAJAX.php traite les requêtes AJAX envoyées par l'éditeur
62- .htaccess pour la sécurité (configurer le httpd.conf d'apache peut être nécessaire)
63- erreur404.php (fonctionne avec .htaccess)
64
65le dossier data et son contenu sont "normalement" autorisés en écriture pour deux raisons:
66- placer le contenu pré-existant avec son client FTP
67- autoriser PHP (sinon, c'est comme si on avait un site statique)
68-> pour pouvoir installer le site en n'ayant qu'à modifier les droits du dossier data uniquement et éviter les situations pénibles ou l'utilisateur est bloqué sans rien comprendre,
69on pourra créer ou utiliser des sauvegardes au format ZIP depuis une page spéciale accessible avec le compte admin