Carnet Wiki

DaniCodingParty

Version 1 — Mars 2006 — Dan Hetzel — Version initiale

[Erreur...2]ecrire/lang/spip_fr.php est un fichier de langue.

sous répertoires de ecrire/ :
/exec : lectures de pages par SPIP.
/action : actions sur des objets de spip (ex uploader, tourner une image)
/inc : librairires de fonctions,
/ base : accès à la base

à la racine :
/plugins/
squelettes/
formulaires/

formulaires/ doit être un sous-répertoire du dossier squelette/ ?

Appel d’une page de l’espace privé

[Erreur...8]Objectifs de la réorg : On peut changer radicalement le fonctionnement de spip en surchargeant à peu près tous les fichiers par des fichiers homonymes dans le répertoire squelette. tout ceci est écrit dans le ecrire/index.php

L’ordre pour discriminer est donné par le finding path, un peu comme dans un unix.

Pour trouver le fichier :
find_in_path(’exec/truc.php’)
find_in_path(’article.html’)
la fonction s’arrête dès qu’on en a trovué un. ordre de recherche : :
$dossier_squelettes, si défini, on peut en définir plusieurs, séparés par des «  : » :
squelettes/
plugins/ (c’est là ??)
./
formulaires/
dist/
ecrire/

[Erreur...12]Autre appel : $f = include_fonction(truc, exec)
non seulement elle cherche le fichier ’truc’ dans le répertoire exec (grâce à include_spip) et le charge, mais aussi elle cherche et renvoie la fonction : exec_truc si elle existe ou la fonction exec_truc_dist

Appel d’une page de l’espace public

[Erreur...16]

C’est important d’optimiser ce processus, car c’est lui qui peu charger le site. D’où certaines complexités du codage.

Le compilateur

-  Analyse syntaxique est faite dans ecrire/public/phraser_html.php

— -> arbre de syntaxe abstraite. décrit dans ecrire/public/compilo-api.php

Deux passes de compilation :

[Erreur...23]- 2/ On construit les requêtes SQL après coup, car ce n’est qu’une fois parcouru la totalité du code que l’on peut mieux optimiser les requêtes SQL (en particulier quels champs appeler).

[Erreur...25]Sécurité

[Erreur...27]Critères dtévaluation de ce qui est sécurisé : dépand de ceux qui analysent. Ex : script de redirection par injection dans les forums, peut être vu sur le contrôle des forums dans l’espace public, suffisant de le supprimer. Correspond aux besoins des usages de spip. Mais maintenant les analystes de sécurité s’intéressemtn à Spip.....

[Erreur...29][Erreur...30]Injection de code SQL :
ex : « SELECT * FROM ... WHERE id_article = ». $id_article

le $id_article peut être « 1 OR [une commande SQL qui sera executée] »

[Erreur...33][Erreur...34][Erreur...35]Avertir via l’interface privée ? Genre firefox, ubuntu ou MacOS.

Retour à la version courante

Toutes les versions