« Frankiz III » : différence entre les versions
De WikiBR
Ligne 66 : | Ligne 66 : | ||
## Charge le wiki : ''include/wiki/engine.php'' | ## Charge le wiki : ''include/wiki/engine.php'' | ||
# '''include/frankiz.inc.php''' : | # '''include/frankiz.inc.php''' : | ||
## Appelle ''include/platal.inc.php'' | ## Définit des variables globales de plat/al (nom des classes globale, de session, de page) | ||
## Appelle ''include/ | ## Appelle ''core/include/platal.inc.php'' | ||
## Appelle ''include/ | ## Appelle ''include/security.inc.php'' | ||
## Appelle ''include/common.inc.php'' | |||
# '''core/include/platal.inc.php''' : | |||
# '''include/platal.inc.php''' : | |||
## Définit l'autochargement de classes | ## Définit l'autochargement de classes | ||
## Définit un certain nombre de fonctions (erreurs, encodage, redirection de page) | ## Définit un certain nombre de fonctions (erreurs, encodage, redirection de page) | ||
# '''include/ | # '''include/platalglobals.inc.php''' : définit la classe ''PlatalGlobals'' | ||
## Contient la connexion à la bdd | ## Contient la connexion à la bdd | ||
## Contient des fonctions de gestion de la configuration | ## Contient des fonctions de gestion de la configuration | ||
# '''include/security.inc.php''' : définit des fonctions de sécurité, non encore implémentées | |||
# '''include/common.inc.php''' : définit des chemins alternatifs d'autoload (non encore utilisé) | |||
# '''include/frankiz/session.inc.php''' : | # '''include/frankiz/session.inc.php''' : | ||
## Charge ''include/frankiz.misc.inc.php'' | ## Charge ''include/frankiz.misc.inc.php'' |
Version du 7 août 2008 à 05:23
Structure du site
On travaille avec platal, ce qui a imposé une certaine modification de la structure de dossiers.
- bin : contient les scripts utilisés par frankiz
- classes : contient les classes spécifiques à frankiz, ainsi que la classe platalglobals.php (dérivée à partir de platalglobals.php.in), qui contient une partie de la conf
- core : contient le core de plat/al, voir ci-après la partie 'git-submodule'
- configs : contient les fichiers de config ; générer les versions utilisées à l'aide du Makefile [non encore implémenté]
- htdocs : les fichiers 'initiaux' et statiques :
- frankiz.php, qui initie le site
- .htaccess, qui contient les règles de réécriture (mettre à jour à partir de .htaccess.in quand on checkout sa version)
- les skins, les images fixes, le fkz.opensearch.xml pour la barre de recherche, les CSS
- include : les fichiers à inclure (fonctions, ...)
- modules : les modules, i.e les différentes pages (profil, annonces, activités, ...)
- old : contient les fichiers de frankiz 2.x (0<x<5), à terme devra être vide.
- platal : un checkout de platal, au début pour avoir le core, à terme pour pouvoir y piquer des fonctions et des includes (avec du ln -s)
- plugins : contient les plugins smarty, à savoir les instructions de mise en forme des variables en sortie
- spool : le cache des templates, les données, ...
- templates : les templates, i.e la mise en forme des variables fournies par les fichiers dans les modules
- upgrades : contient les scripts d'upgrade de la bdd, des dossiers, ... pour passer d'une version à une autre
Configuration
Pour fonctionner correctement, il faut :
- Récupérer le core de plat/al :
git submodule init git submodule update
- mettre à jour les fichiers de configs (mettre les mots de passe pour les bdds, actualiser les adresses mail, ...)
- mettre en place classes/platalglobals.php à partir de platalglobals.php.in
- configurer le .htaccess dans htdocs
- s'assurer que le vhost est bien configuré :
- Faire du rewrite de ?vars vers frankiz.php?vars (sinon, le mettre dans le .htaccess)
- include_path dans le php.ini contenant :
.:./include:../include:../../include
Remarques
Cette partie sert à lister les remarques venant au cours de l'analyse du code de plat/al
Généralités
include/security.inc.php
- fonctions check_ip et check_email : décider si on la veut, et créer la BDD qui va bien
- fonctions check_account et check_redirect : les comprendre, et voir si on en veut
- fonction send_warning_mail : corriger les trucs nécessaire ; j'aime assez l'idée (Xelnor)
- fonction kill_session : créer le script adéquat
- fonctions udate_NbValid et update_NbNotifs : adapter à notre structure (requêtes et notifications en attente)
Fonctionnement du site
Liste des fichiers appelés, dans l'ordre :
- htdocs/frankiz.php
- appelle include/frankiz.inc.php
- Lance Plat/al (platal->run())
- Charge le wiki : include/wiki/engine.php
- include/frankiz.inc.php :
- Définit des variables globales de plat/al (nom des classes globale, de session, de page)
- Appelle core/include/platal.inc.php
- Appelle include/security.inc.php
- Appelle include/common.inc.php
- core/include/platal.inc.php :
- Définit l'autochargement de classes
- Définit un certain nombre de fonctions (erreurs, encodage, redirection de page)
- include/platalglobals.inc.php : définit la classe PlatalGlobals
- Contient la connexion à la bdd
- Contient des fonctions de gestion de la configuration
- include/security.inc.php : définit des fonctions de sécurité, non encore implémentées
- include/common.inc.php : définit des chemins alternatifs d'autoload (non encore utilisé)
- include/frankiz/session.inc.php :
- Charge include/frankiz.misc.inc.php
- Définit les cookies, voir à remplacer par les fonctions de plat/al
- Définit la classe FrankizSession, qui contient quelques anciennes fonctions, à réécrire.
- include/frankiz.misc.inc.php :
- Définit des fonctions de gestion de caractères, de proximité sonore, de sécurité