On va en baver un peu ... !!

On va en baver un peu ... !!

par Valery Fremaux,
Nombre de réponses : 1

Pour tous ceux qui ont commencé à regarder la compatibilité de leurs blocs en 1.8.1, et après discussion avec Nicolas des H.Q. la version 1.8 va poser les difficultés que tous ce qui se frottent au XML validé vont connaître.

Comme me l'epliquait Nicolas, la décision de produire du XML validé vient entre autres que certains pays n'acceptent plus institutionnellement que des produits open-source qui produise du code validé et respectueux de l'accessibilité.

Recoder nos blocs et nos modules pour respecter ces conditions est indispensable puisque le DOCTYPE est passé en Strict par défaut dans la version 1.8.

Cela ne va pas sans surprise et difficultés :

  • les messages d'erreur de validation sous Explorer sont tronqués.
  • les messages d'erreur sous les deux (Mozilla et Explorer) sont pas toujours compréhensibles (exemple plus bas)
  • les erreurs de validation ne sont pas identiques sous Explorer et sous Mozilla.

Voici par exemple une erreur (???) donnée par l'insertion d'une URL dans un $tabObject, bien difficile à comprendre

Erreur d'analyse XML : mal formé
Emplacement : http://127.0.0.1/WWW-MOODLE1_8_1-PHP/mod/techproject/view.php?id=16
Numéro de ligne 173, Colonne 47 :
<li class="first"><a href="view.php?id=16&view=description" title="Description"><span>Description</span></a></li>
----------------------------------------------^

Voilà ce que propose Explorer pour exactement la même page :

<>

Le symbole point-virgule était attendu. Erreur de traitement de la ressource http://127.0.0.1/WWW-MOODLE1_8_1-PHP/mod/techp...

 
    

>/>>/>

>/>>

                        
Moyenne des évaluations  -
En réponse à Valery Fremaux

Re: On va en baver un peu ... !!

par Valery Fremaux,

Bon, dans ce cas c'est réglé, ce qui conduit à donner quelques indications sur des reprises de modules ou blocs pre 1.8 vers du Strict XHTML :

  • vérifier les <input> des formulaires :
    • vérifier le / de la fin : <input ... />
    • vérifier d'éventuels attributs sans valeur : selected ou checked, on les écrit souvent simplement alors que le XHTML demande selected="selected" et checked="checked"
  • Vérifier les <br> qui doivent s'écrire <br/>
  • Vérifier les <img> qui doivent aussi se terminer par un slash.
  • vérifier toutes les URL des liens et notemment celles qui contiennent des couples paramètres=valeur : <a href="index.php?param1=valeur1&amp;param2=valeur2..."> 
  • laisser le vérificateur intégrer déceler les autres erreurs (balises non fermées, éléments non attendus à cet endroit, ...).

Un point positif avec la 1.8.1+ : à part quelques très rares exceptions, les développeurs du Moodle core ont fait du bon boulot : les librairies moodle qui produisent quelque chose à l'écran fournissent du code compatible.

Donc : s'il y a erreur, il y de forte chance que ce soit dans des modules additionnels.

Le cas précédent (de l'article d'origine) est en fait la quatrième cause d'erreurs classiques.