le code
contenu du dossier wiki
Télécharger l'archive, la décompresser et analyser le contenu du dossier :
- fichier index.php
- dossier meca
- fichier index.php
- fichier PHP.php
- fichier PARSER.php
- fichier JS.js
- dossier skins
- dossier fixed
- fichier HTML.html
- fichier CSS.css
- fichier copyleft.png
- fichier diag_tore.jpg
- dossier elastic
- fichier HTML.html
- fichier CSS.css
- dossier pages
- fichier index.php
- fichier start.txt
- fichier ...
- dossier history
- fichier index.php
- dossier start
- fichier index.php
- fichier 20110212-221617.txt
- fichier 20110212-221610.txt
- fichier ...
- dossier ...
- dossier data
- fichier index.php
- ...
fonctions du fichier PHP.php
- function view ( $page )
- function edit ( $page )
- function save ( $page, $content )
- function history ( $page, $content )
- function liste ()
- function doBody ()
- function doHTML ()
- function doUpdate ()
- function doTheJob ()
fonctions du fichier PARSER.php
- function doControlName ( $chaine )
- function doControlContent ( $chaine )
- function doWikisyntax ( $chaine )
Fonctions du fichier JS.js
- function doPreview ( )
- function doSave ( )
- function doCancel ( )
- function doQuit ( )
- function doFlip ( id )
fonctionnement
Quelques commentaires pour accompagner la lecture du code.
- Tout commence ... et finit dans le fichier index.php ;
- le nom du wiki et le skin sont notés, puis le contenu du fichier PHP.php est inséré dans index.php ;
- la fonction doTheJob() est appelée pour traiter deux cas : construire la page HTML (do_HTML()) ou rafraichir le contenu du cadre de prévisualisation (do_Update()), si on est en mode édition. On se placera d'abord dans le premier cas.
- La fonction do_HTML() repère le skin choisi, lit le contenu du fichier modèle HTML.html et construit son contenu avec la fonction doBody() ;
- La fonction doBody() est le coeur du moteur wiki, dispatchant les taches en fonction des contextes ;
- la fonction view() construit la page en mode visualisation,
- la fonction liste() construit une page listant les pages du wiki,
- la fonction save() enregistre sur le serveur le contenu de la page.
- la fonction history() enregistre sur le serveur dans un dossier history une copie conforme de la page.
- la fonction edit() construit la page en mode édition, c'est à dire :
- un cadre de visualisation temps réel,
- un cadre contenant deux contrôles : save et cancel,
- un cadre d'édition du code.
- Dans le cas où la fonction doTheJob() appelle la fonction do_Update(), on souhaite le rafraichissement du cadre de prévisualisation, en temps réel et sans reconstruction de la totalité de la page. En fait le déclenchement est fait à chaque entrée clavier dans le cadre éditeur (textarea) par l'intermédiaire de la fonction Javascript doPreview() contenue dans le fichier JS.js. Celle-ci lance une requête au fichier index.php sur le serveur avec le contenu du code de l'éditeur et injecte la réponse dans le cadre de prévisualisation. La requête (XMLHttpRequest) est asynchrone, ne bloque donc pas le fonctionnement de l'éditeur côté client et le retour peut se faire attendre ... ou ne jamais venir !
A suivre dans un prochain épisode ...