Olivier C a écrit :
@sepecat : Avec WordPress il faut partir du principe que deux fichiers seulement sont obligatoires pour créer un thème WordPress : le fichier style.css et... un fichier index.php. Un point c'est tout.
Certes... mais quelles contraintes !!!
Si j'en crois le (
Codex WordPress), voici les spécifications en matière de "File header", reportées ici in extenso :
- Header are written in a block in the beginning of a PHP or CSS file.
- A block might be placed in a files comment, like a PHP or CSS comment.
- The whole header block must be placed inside the first 8 192 bytes of the file.
- Headers follow up to each other, one on it's own line.
- A header consists of a name and a value.
- Name and value are separated by the ':' character.
- The name has a minimum of one, and a maximum of three words.
- The minimum length of a word is three, the maximum length is 12 characters.
- A word consists of the characters a-z and A-Z.
- Words are separated by a single space (d32/x20)
- A name starts after the beginning of a line or after a whitespace character.
- A name ends before the ':' character.
- A value starts after the ':' character.
- Sometimes the ':' character is suffixed by a space. This space is considered to not be part of the value.
- A header-value can contain any characters but not a newline.
- Header values might become filtered before they are used.
- Header values can but must not contain HTML code in form of certain XHTML Elements or HTML Tags.
Autant de sources d'erreurs potentielles, et nous n'en sommes qu'à deux fichiers...
En toute honêteté, ceci n'est pas propre à WordPress et d'autres langages / environnements ont ce type de contraintes.
Juste par expérience, j'ai suffisamment vu de logiciels développés en Java "planter" au seul motif que l'une des lignes d'un fichier ".properties" se terminait par un caractère " " après le "\" censé initier un retour à la ligne suivante, pour considérer aujourd'hui que ces contraintes sont rédhibitoires.
Dans le meilleur des cas, celui qui doit déboguer a déjà rencontré le problème et sait le régler, dans le pire des cas, vu le "turn over" des équipes, on aura un petit nouveau qui passera une journée entière à chercher, avant de s'apercevoir qu'un simple " ", bin ça ne se voit pas à l'écran mais ça pose problème car les spécifications ne prévoient pas son existence.
Une autre page du Codex précise par ailleurs (en gras, pour bien attirer l'attention) que :
No two Themes are allowed to have the same details listed in their comment headers
Ceci me paraît une autre source d'erreur potentielle, nécessitant une attention permanente de la part du concepteur du site pour éviter que deux ressources n'empiètent l'une sur l'autre.
Sur un portail d'une dizaine de pages, ce n'est pas insurmontable. Pour un site institutionnel d'une centaine de pages, cela devient un peu plus compliqué. Un copier / coller intempestif est si vite arrivé... et oublié.
Après avoir installé WordPress hier soir, j'ai dans le même temps aussi visionné un
tutoriel en ligne, fort intéressant, sur la création de thème avec ce CMS (durée 2 H 49 mn, pour les plus courageux...).
En général, j'aime bien approfondir les choses.
Pour ce soir, ce sera probablement installation du Drupal, histoire de varier les réjouissances et comparer in situ.
Les observations ci-dessus se bornent à être objectives et tirées de la documentation officielle. Je n'ai aucun grief particulier contre WordPress et ceux qui en vivent / s'en amusent. Par contre, je considère que l'environnement correspondant offre (comme Drupal et autres...) une fausse idée de simplicité, occultant l'envers du décors.
C'est tout aussi vrai d'autres langages...
Faire son premier programme "Hello world" en Java ne prend que 5 mn. Ecrire une application SWT / Web dans son intégralité requiert un autre niveau et une bonne connaissance des petits "pièges" cachés au détour des fichiers de configuration, par exemple.