<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://wiki-br.binets.fr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Brice.gelineau.x</id>
	<title>WikiBR - Contributions [fr]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-br.binets.fr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Brice.gelineau.x"/>
	<link rel="alternate" type="text/html" href="https://wiki-br.binets.fr/Sp%C3%A9cial:Contributions/Brice.gelineau.x"/>
	<updated>2026-10-06T04:49:21Z</updated>
	<subtitle>Contributions</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wiki-br.binets.fr/index.php?title=Frankiz_III&amp;diff=6518</id>
		<title>Frankiz III</title>
		<link rel="alternate" type="text/html" href="https://wiki-br.binets.fr/index.php?title=Frankiz_III&amp;diff=6518"/>
		<updated>2010-11-30T17:14:17Z</updated>

		<summary type="html">&lt;p&gt;Brice.gelineau.x : Récupération de l&amp;#039;ancienne version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{menu Frankiz}}&lt;br /&gt;
== Structure du site ==&lt;br /&gt;
&lt;br /&gt;
On travaille avec platal, ce qui a imposé une certaine modification de la structure de dossiers.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;bin&#039;&#039;&#039; : contient les scripts utilisés par frankiz&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;classes&#039;&#039;&#039; : 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&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;core&#039;&#039;&#039; : contient le core de plat/al, voir ci-après la partie &#039;git-submodule&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;configs&#039;&#039;&#039; : contient les fichiers de config ; générer les versions utilisées à l&#039;aide du Makefile [non encore implémenté]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;htdocs&#039;&#039;&#039; : les fichiers &#039;initiaux&#039; et statiques : &lt;br /&gt;
** frankiz.php, qui initie le site&lt;br /&gt;
** .htaccess, qui contient les règles de réécriture (mettre à jour à partir de .htaccess.in quand on checkout sa version)&lt;br /&gt;
** les skins, les images fixes, le fkz.opensearch.xml pour la barre de recherche, les CSS&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;include&#039;&#039;&#039; : les fichiers à inclure (fonctions, ...)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;modules&#039;&#039;&#039; : les modules, i.e les différentes pages (profil, annonces, activités, ...)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;old&#039;&#039;&#039; : contient les fichiers de frankiz 2.x (0&amp;lt;x&amp;lt;5), à terme devra être vide.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;platal&#039;&#039;&#039; : 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)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;plugins&#039;&#039;&#039; : contient les plugins smarty, à savoir les instructions de mise en forme des variables en sortie&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;spool&#039;&#039;&#039; : le cache des templates, les données, ...&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;templates&#039;&#039;&#039; : les templates, i.e la mise en forme des variables fournies par les fichiers dans les modules&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;upgrades&#039;&#039;&#039; : contient les scripts d&#039;upgrade de la bdd, des dossiers, ... pour passer d&#039;une version à une autre&lt;br /&gt;
&lt;br /&gt;
== Coding rules, utilisation de git ==&lt;br /&gt;
&lt;br /&gt;
=== Doc sur Git ===&lt;br /&gt;
On peut trouver de la doc sur git ici :&lt;br /&gt;
* [https://www.polytechnique.org/EquipeDevel/GitHowto#basics Polytechnique.org]&lt;br /&gt;
* [http://www.kernel.org/pub/software/scm/git/docs/user-manual.html Git User Manual]&lt;br /&gt;
* [http://www.kernel.org/pub/software/scm/git/docs/gittutorial.html Git Tutorial]&lt;br /&gt;
&lt;br /&gt;
=== Commits ===&lt;br /&gt;
&lt;br /&gt;
* Le texte des commits est en anglais.&lt;br /&gt;
* Les commits sont atomiques (un commit ne modifie qu&#039;une seule partie du code, cohérente ; on ne met pas à jour le core et le module d&#039;annonces et le template des fiches TOL en un même commit)&lt;br /&gt;
* Le format typique d&#039;un commit est :&lt;br /&gt;
&lt;br /&gt;
 Résumé&lt;br /&gt;
 &lt;br /&gt;
 * Point 1 en détails&lt;br /&gt;
 * Point 2 en détails&lt;br /&gt;
 &lt;br /&gt;
 Signed-off-by: Blah &amp;lt;blah@frankiz.net&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le &#039;signed-off by&#039; est obtenu en utilisant &lt;br /&gt;
 git-commit -s&lt;br /&gt;
&lt;br /&gt;
== Remarques ==&lt;br /&gt;
&lt;br /&gt;
Cette partie sert à lister les remarques venant au cours de l&#039;analyse du code de plat/al&lt;br /&gt;
&lt;br /&gt;
=== Généralités ===&lt;br /&gt;
&lt;br /&gt;
=== include/security.inc.php ===&lt;br /&gt;
* fonctions &#039;&#039;check_ip&#039;&#039; et &#039;&#039;check_email&#039;&#039; : décider si on la veut, et créer la BDD qui va bien&lt;br /&gt;
* fonctions &#039;&#039;check_account&#039;&#039; et &#039;&#039;check_redirect&#039;&#039; : les comprendre, et voir si on en veut&lt;br /&gt;
* fonction &#039;&#039;send_warning_mail&#039;&#039; : corriger les trucs nécessaire ; j&#039;aime assez l&#039;idée ([[User:Xelnor|Xelnor]])&lt;br /&gt;
* fonction &#039;&#039;kill_session&#039;&#039; : créer le script adéquat&lt;br /&gt;
* fonctions &#039;&#039;udate_NbValid&#039;&#039; et &#039;&#039;update_NbNotifs&#039;&#039; : adapter à notre structure (requêtes et notifications en attente)&lt;br /&gt;
&lt;br /&gt;
== Fonctionnement du site ==&lt;br /&gt;
Liste des fichiers appelés, dans l&#039;ordre :&lt;br /&gt;
# &#039;&#039;&#039;htdocs/frankiz.php&#039;&#039;&#039; &lt;br /&gt;
## appelle &#039;&#039;include/frankiz.inc.php&#039;&#039;&lt;br /&gt;
## Lance Plat/al (&#039;&#039;platal-&amp;gt;run()&#039;&#039;)&lt;br /&gt;
## Charge le wiki : &#039;&#039;include/wiki/engine.php&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;include/frankiz.inc.php&#039;&#039;&#039; : &lt;br /&gt;
## Définit des variables globales de plat/al (nom des classes globale, de session, de page)&lt;br /&gt;
## Appelle &#039;&#039;core/include/platal.inc.php&#039;&#039; &lt;br /&gt;
## Appelle &#039;&#039;include/security.inc.php&#039;&#039;&lt;br /&gt;
## Appelle &#039;&#039;include/common.inc.php&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;core/include/platal.inc.php&#039;&#039;&#039; :&lt;br /&gt;
## Définit l&#039;autochargement de classes&lt;br /&gt;
## Définit un certain nombre de fonctions (erreurs, encodage, redirection de page)&lt;br /&gt;
# &#039;&#039;&#039;include/security.inc.php&#039;&#039;&#039; : définit des fonctions de sécurité, non encore implémentées&lt;br /&gt;
# &#039;&#039;&#039;include/common.inc.php&#039;&#039;&#039; : définit des chemins alternatifs d&#039;autoload (non encore utilisé), et la fonction principal d&#039;autoload (qui appelle pl_autoload)&lt;br /&gt;
&lt;br /&gt;
== Chemin de chargement de plat/al core ==&lt;br /&gt;
depuis htdocs/frankiz.php&lt;br /&gt;
* include/frankiz.inc.php&lt;br /&gt;
** core/include/platal.inc.php&lt;br /&gt;
*** core/include/misc.inc.php&lt;br /&gt;
*** core/classes/env.php&lt;br /&gt;
** include/security.inc.php&lt;br /&gt;
** include/common.inc.php&lt;br /&gt;
* core/classes/platal.php&lt;br /&gt;
** classes/platalglobals.php&lt;br /&gt;
*** core/classes/plglobals.php&lt;br /&gt;
** classes/frankizsession.php&lt;br /&gt;
*** core/classes/plsession.php&lt;br /&gt;
**** core/classes/s.php&lt;br /&gt;
**** core/classes/plflagset.php&lt;br /&gt;
** classes/frankizpage.php&lt;br /&gt;
*** core/classes/plpage.php&lt;br /&gt;
** core/classes/plmodule.php&lt;br /&gt;
*** modules/*.php&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;include/frankiz/session.inc.php&#039;&#039;&#039; : &lt;br /&gt;
## Charge &#039;&#039;include/frankiz.misc.inc.php&#039;&#039;&lt;br /&gt;
## Définit les cookies, voir à remplacer par les fonctions de plat/al&lt;br /&gt;
## Définit la classe FrankizSession, qui contient quelques anciennes fonctions, à réécrire.&lt;br /&gt;
# &#039;&#039;&#039;include/frankiz.misc.inc.php&#039;&#039;&#039; :&lt;br /&gt;
## Définit des fonctions de gestion de caractères, de proximité sonore, de sécurité&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rédaction de doc ==&lt;br /&gt;
Il y a 2 doc à rédiger qui ça s&#039;adressent à 2 types de personnes différentes :&lt;br /&gt;
# ceux qui doivent comprendre comment fkz fonctionne dans son ensemble, comprendre le code du coeur, etc.&lt;br /&gt;
# ceux qui codent un module particulier et seulement ça&lt;br /&gt;
;Pour les 1ers&lt;br /&gt;
:C&#039;est dans le code que la doc (arborescence des classes, fonctions, etc.) doit se trouver par ce qu&#039;il doivent *comprendre* le code. Donc le support de la doc : doxygen + pages wikiBR pour expliquer le code dans ses grandes lignes.&lt;br /&gt;
;Pour les 2èmes&lt;br /&gt;
:C&#039;est plus un quelque chose du genre tuto avec seulement ce qu&#039;il faut savoir pour coder un module. Support de la doc : WikiBR.&lt;br /&gt;
Ca serait bien qu&#039;on propose au gens une espèce de petit &#039;&#039;&#039;kit de développement&#039;&#039;&#039; de module frankiz accessible a tous ceux qui ont déjà fait un peu de php, ceux là n&#039;ont pas besoin de comprendre le code du coeur. ([[User:Qt|Qt]])&lt;br /&gt;
&lt;br /&gt;
== Devel sur frankiz2 ==&lt;br /&gt;
&#039;&#039;&#039;A éviter&#039;&#039;&#039; : seulement si on ne peux pas faire autrement. On se concentre sur le devel de Frankiz3.&lt;br /&gt;
&lt;br /&gt;
La marche à suivre est la suivante :&lt;br /&gt;
* créer le dossier adéquat dans son home sur gwennoz :&lt;br /&gt;
 mkdir ~/public_html&lt;br /&gt;
* Y récupérer le code de frankiz2&lt;br /&gt;
 git clone /home/git/frankiz.git frankiz2&lt;br /&gt;
* Mettre en place le fichier de configuration adéquat&lt;br /&gt;
 cp ~xelnor/public_html/frankiz2/etc/config.php ~/public_html/frankiz2/etc/&lt;br /&gt;
* Mettre à jour la configuration dudit fichier (notamment les adresses mail)&lt;br /&gt;
* initialiser le cache&lt;br /&gt;
 mkdir ~/public_html/frankiz2/cache&lt;br /&gt;
 chmod a+rwx ~/public_html/frankiz2/cache&lt;br /&gt;
* On accède à la page par http://gwennoz/~user/frankiz2/htdocs/ (en remplaçant user par son login)&lt;/div&gt;</summary>
		<author><name>Brice.gelineau.x</name></author>
	</entry>
</feed>