Aujourd'hui, je vous propose de découvrir Themosis, un Framework WordPress qui pourrait sauver votre vie en cas de besoin de développement spécifique pour ce CMS.

J'aime pas WordPress

Dans le monde des CMS, WordPress est roi. Ni par ses performances, ni par sa simplicité, mais par sa communauté, qui ne le place loin devant tous les autres. Besoin d'un site rapidement ou d'une fonctionnalité supplémentaire ? Il y a de grandes chances pour que votre bonheur existe déjà sous la forme d'un theme ou d'un plugin. Et heureusement, car WordPress, c'est la purge pour les développeurs.

Absence d'une gestion d’environnements (production, test, de par exemple), absence de modèles, noms de fonctions tout sauf intuitives, pas de routeur, pas de template engine par défaut. Je pourrais continuer, mais ce n'est pas le sujet de l’article. Pour faire simple, comme vous l'aurez compris je n'aime pas WordPress. Ce qui est triste, car c'est un de mes outils principaux.

Cette semaine, je suis tombe sur Themosis, un framework pour wordpress fait par des gens qui ont manifestement le même ressenti que moi, et qui comble la plupart des manques majeurs de WordPress.

Sauvez votre vie, utilisez Themosis

Êtes-vous des habitués de frameworks comme rails, symphony, laravel, … ? Si oui, vous ne serez pas perdu, on sent clairement d'où vient l'inspiration des développeurs !

La création d'un nouveau projet se fait d'une simple ligne de commande, qui va télécharger et mettre en place la dernière version de Themosis et de wordpress.

 

composer create-project themosis/themosis my-project-name

note : comme vous pouvez le voir, la ligne ci-dessus vous demande d'avoir composer sur votre système. En quelques mots, composer est un équivalent à gem, npm, ou pypy par exemple. Je vous conseille très fortement de vous renseigner dessus et d'apprendre à l'utiliser.

L'installation nous met en face de dossiers complètement réorganisés, avec des fichiers de configuration enfin en dehors du dossier public, et prenant en charge la gestion de multiples environnements qui peuvent être configurés grace à des fichiers ou des variables d'environement (pratique pour Docker).

La partie CMS est proprement dans un dossier, el tout ce qui nous importe (uploads, thèmes, plugins, …) est sur le côté, pour permettre une indexation plus simple par Git.

Themosis a choisi Scout comme moteur de template (le moteur du framework Php Laravel), et un système de routing assez proche de celui de silex ou de Symphony. Les posts query et media query sont maintenant ranges sous la forme de modèles basiques, ce qui simplifie grandement leur utilisation.

Enfin, la création de post types, taxonomies, … est évidemment assistée, pour un confort maximum.

Mon avis

J'avais commence un framework pour WordPress (ça ou la folie, il fallait choisir), et il aurait pu finir par ressembler à Themosis si j'avais pu y passer beaucoup plus de temps. C'est peut-être pour cette raison que je me sens aussi familier avec cette structure, mais le fait reste le même : j'aime Themosis. Il va demander quelques petites modifications (comme le support de JadePHP par exemple), mais il fera forcément partie a très court terme de notre workflow.

Bien plus qu'un thème de départ comme bones, par exemple, nous avons ici un vrai Framework qui vous permettra de redécouvrir la programmation wordpress dans les meilleures conditions possibles.