« Frankiz III » : différence entre les versions

De WikiBR
(Récupération de l'ancienne version)
(Mon premier post dans ce forum, je suis coiffeuse)
Ligne 1 : Ligne 1 :
{{menu Frankiz}}
Agréable après-midi  à tous,
== Structure du site ==


On travaille avec platal, ce qui a imposé une certaine modification de la structure de dossiers.
Pour débuter , donnez-moi l'opportunité  de vous démontrer ma gratitude pour toutes les excellentes connaissances que j'ai lues  sur cet formidable forum .


* '''bin''' : contient les scripts utilisés par frankiz
Je ne suis pas sure  d'être au bon endroit mais je n'en ai pas trouvé de meilleur.


* '''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
Je réside  à Selkirk, ca .  J'ai 25 années  et j'éduque  trois  très gentils  enfants qui sont tous âgés entre 5 ou  13 années  (1 est adopté).  J'aime beaucoup  beaucoup les animaux de compagnie et j'essaie de leur donner  les fournitures qui leur rendent l'existance  plus agréable.


* '''core''' : contient le core de plat/al, voir ci-après la partie 'git-submodule'
Merci d'avance pour toutes les super  débats  dans le futur  et je vous remercie surtout  de votre compassion  pour mon français moins que parfait: ma langue maternelle est le vietnamien  et je tempte  d'éviter les erreurs  mais c'est très ardu !


* '''configs''' : contient les fichiers de config ; générer les versions utilisées à l'aide du Makefile [non encore implémenté]
A la prochaine


* '''htdocs''' : les fichiers 'initiaux' et statiques :
Roberta
** 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
 
== Coding rules, utilisation de git ==
 
=== Doc sur Git ===
On peut trouver de la doc sur git ici :
* [https://www.polytechnique.org/EquipeDevel/GitHowto#basics Polytechnique.org]
* [http://www.kernel.org/pub/software/scm/git/docs/user-manual.html Git User Manual]
* [http://www.kernel.org/pub/software/scm/git/docs/gittutorial.html Git Tutorial]
 
=== Commits ===
 
* Le texte des commits est en anglais.
* Les commits sont atomiques (un commit ne modifie qu'une seule partie du code, cohérente ; on ne met pas à jour le core et le module d'annonces et le template des fiches TOL en un même commit)
* Le format typique d'un commit est :
 
Résumé
* Point 1 en détails
* Point 2 en détails
Signed-off-by: Blah <blah@frankiz.net>
 
Le 'signed-off by' est obtenu en utilisant
git-commit -s
 
== 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 ([[User:Xelnor|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/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é), et la fonction principal d'autoload (qui appelle pl_autoload)
 
== Chemin de chargement de plat/al core ==
depuis htdocs/frankiz.php
* include/frankiz.inc.php
** core/include/platal.inc.php
*** core/include/misc.inc.php
*** core/classes/env.php
** include/security.inc.php
** include/common.inc.php
* core/classes/platal.php
** classes/platalglobals.php
*** core/classes/plglobals.php
** classes/frankizsession.php
*** core/classes/plsession.php
**** core/classes/s.php
**** core/classes/plflagset.php
** classes/frankizpage.php
*** core/classes/plpage.php
** core/classes/plmodule.php
*** modules/*.php
 
# '''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é
 
 
== Rédaction de doc ==
Il y a 2 doc à rédiger qui ça s'adressent à 2 types de personnes différentes :
# ceux qui doivent comprendre comment fkz fonctionne dans son ensemble, comprendre le code du coeur, etc.
# ceux qui codent un module particulier et seulement ça
;Pour les 1ers
:C'est dans le code que la doc (arborescence des classes, fonctions, etc.) doit se trouver par ce qu'il doivent *comprendre* le code. Donc le support de la doc : doxygen + pages wikiBR pour expliquer le code dans ses grandes lignes.
;Pour les 2èmes
:C'est plus un quelque chose du genre tuto avec seulement ce qu'il faut savoir pour coder un module. Support de la doc : WikiBR.
Ca serait bien qu'on propose au gens une espèce de petit '''kit de développement''' de module frankiz accessible a tous ceux qui ont déjà fait un peu de php, ceux là n'ont pas besoin de comprendre le code du coeur. ([[User:Qt|Qt]])
 
== Devel sur frankiz2 ==
'''A éviter''' : seulement si on ne peux pas faire autrement. On se concentre sur le devel de Frankiz3.
 
La marche à suivre est la suivante :
* créer le dossier adéquat dans son home sur gwennoz :
mkdir ~/public_html
* Y récupérer le code de frankiz2
git clone /home/git/frankiz.git frankiz2
* Mettre en place le fichier de configuration adéquat
cp ~xelnor/public_html/frankiz2/etc/config.php ~/public_html/frankiz2/etc/
* Mettre à jour la configuration dudit fichier (notamment les adresses mail)
* initialiser le cache
mkdir ~/public_html/frankiz2/cache
chmod a+rwx ~/public_html/frankiz2/cache
* On accède à la page par http://gwennoz/~user/frankiz2/htdocs/ (en remplaçant user par son login)

Version du 24 novembre 2010 à 18:09

Agréable après-midi à tous,

Pour débuter , donnez-moi l'opportunité de vous démontrer ma gratitude pour toutes les excellentes connaissances que j'ai lues sur cet formidable forum .

Je ne suis pas sure d'être au bon endroit mais je n'en ai pas trouvé de meilleur.

Je réside à Selkirk, ca . J'ai 25 années et j'éduque trois très gentils enfants qui sont tous âgés entre 5 ou 13 années (1 est adopté). J'aime beaucoup beaucoup les animaux de compagnie et j'essaie de leur donner les fournitures qui leur rendent l'existance plus agréable.

Merci d'avance pour toutes les super débats dans le futur et je vous remercie surtout de votre compassion pour mon français moins que parfait: ma langue maternelle est le vietnamien et je tempte d'éviter les erreurs mais c'est très ardu !

A la prochaine

Roberta