Bonjour,
Pourquoi, dans ecrire/inc_barre.php3
(le php pour utiliser le javascript de spip_barre.js ),
la ligne 44 contient « attribut_html($help) »
alors que la ligne 45 contient « addslashes(attribut_html($help)) » ?
De plus, je suis tombé sur un petit problème,
comme je l'écrivit le 2003-11-20.
Recette :
- Prendre une installation de SPIP (1.7 convient, peut être d'autres).
- Créer un couple de fichiers test-probleme.html et test-probleme.php3
- Remplir test-probleme.php3 avec le code php habituel,
en ajoutant une ligne « @header("Content-type: text/xml"); ».
http://www.spip.net/spip-dev/devel/SPIP-v1-7/backend.php3 convient :
(en remplaçant "backend" par "test-probleme")
« <?php
$fond = "backend";
$delais = 3600;
// cette ligne empeche l'affichage des boutons d'administration
$flag_preserver = true;
@header("Content-type: text/xml");
include ("inc-public.php3");
?> »
- Supprimer test-probleme.html
- Appeler test-probleme.php3 avec le logiciel client
- Admirer le résultat
Exemple : http://www.internet.gouv.fr/backend.php3
Le squeleete n'étant pas trouvé, cela appelle
install_debut_html dans ecrire/inc_presentation.php3
Le contenu envoyé en http a un en-tête Content-type: text/xml
et comme le contenu n'est pas du xml conforme ça fait une erreur d'analyse du xml.
Possibilités pour éviter (piste, non exhaustif):
- Faire en sorte que le html envoyé soit du xml valide,
en faisant du code conforme à xhtl 1
install_debut_html dans ecrire/inc_presentation.php3
appelé par chercher_squelette_hierarchie dans inc-calcul.php3 .
Cela fait grincer des dents ?
Mais cela ne vaut que pour text/xml
(car du html peut aussi être du xml), pas en cas d'autre erreur,
par exemple ical.php3.
- Faire en sorte que l'en-tête http soit bien
remplacé dans le code générant le message d'erreur
(voir http://www.php.net/manual/fr/function.header.php ).
- Ne pas envoyer dès le début du code php du ficher .php3 du
couple php3-html.
Complexe à mettre en oeuvre, il faudrait envisager tous les cas...
Mais ce problème n'est pas critique ou fondamental.
Je ne serais pas géné qu'il soit juste noté.
Mais au moin il sera noté quelque part et connu.
Que pensez vous de ma modification de ecrire/inc_presentation.php3
dans mon message du 2003-11-27 ?
Ma proposition du jour, à ajouter éventuellement à la liste des choses à faire :
Faire en sorte que la totalité du code html produit par SPIP
soit conform à la norme html 4.0 ou à la norme xhtml 1.0
(on peut se limiter à la partie publique ou à la partie privée).
Quelles choses sont déjà prévues « sur le métier »
pour la prochaine version ?
Salutations.