« Frankiz III » : différence entre les versions

De WikiBR
(Annulation des modifications 6483 de 129.104.201.51 (discussion))
(Mon premier post dans ce forum, je suis coiffeuse)
Ligne 1 : Ligne 1 :
{{menu Frankiz}}
Salutations  à tous les lecteurs  de ce forum de discussions  ,
== Structure du site ==


On travaille avec platal, ce qui a imposé une certaine modification de la structure de dossiers.
Pour commencer , offrez-moi la chance  de vous démontrer ma gratitude pour toutes les très "à propos"  connaissances que j'ai retrouvées  sur cet cool forum de discussions .


* '''bin''' : contient les scripts utilisés par frankiz
Je ne suis pas assuree  d'être au meilleur  endroit mais je n'en ai pas vu  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  à Elgin, ca .  J'ai vingt-cinq  années  et j'éduque  5 super enfants qui sont tous âgés entre six  et 16 années  (1 est adopté).  J'adore  beaucoup les animaux de compagnie et j'essaie de leur offrir les accessoires qui leur rendent la vie plus heureuse .


* '''core''' : contient le core de plat/al, voir ci-après la partie 'git-submodule'
Je vous remercie  dors et déjà  pour toutes les superbes  délibérations  à venir et je vous remercie de votre compréhension pour mon français moins que parfait: ma langue de naissance  est l'arabe  et je tempte  de m'enseigner  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 :
Nancy
** 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 18 novembre 2010 à 13:42

Salutations à tous les lecteurs de ce forum de discussions ,

Pour commencer , offrez-moi la chance de vous démontrer ma gratitude pour toutes les très "à propos" connaissances que j'ai retrouvées sur cet cool forum de discussions .

Je ne suis pas assuree d'être au meilleur endroit mais je n'en ai pas vu de meilleur.

Je réside à Elgin, ca . J'ai vingt-cinq années et j'éduque 5 super enfants qui sont tous âgés entre six et 16 années (1 est adopté). J'adore beaucoup les animaux de compagnie et j'essaie de leur offrir les accessoires qui leur rendent la vie plus heureuse .

Je vous remercie dors et déjà pour toutes les superbes délibérations à venir et je vous remercie de votre compréhension pour mon français moins que parfait: ma langue de naissance est l'arabe et je tempte de m'enseigner mais c'est très ardu !

A la prochaine

Nancy