Dernière mise à jour juillet 23rd, 2016 à 16:08
Au cours de mes années de développement, je me suis toujours heurté à la même problématique qui consiste à utiliser un framework ou pas. Et avec le temps et l'expérience je préfère aujourd'hui créer un thème "à partir de rien", plutôt que d'utiliser un framework qui alourdit terriblement et la création de modèles (au sens pattern) et la mise à jour-debugging.
Les frameworks sont des outils puissants et incontournables pour tout ce qui touche au portail communautaire, au blog, ou au réseau social. Les frameworks de type Genesis, par exemple, ont tout à fait leur place dans la mise en place d'un intranet-extranet collaboratif, d'une plate-forme d'échange de données ou d'informations... En revanche, dans la création d'un site d'entreprise, où le contenu doit être sélectionné et mis en valeur de manière très précise, où la place pour la fantaisie du contributeur/administrateur est réduite au minimum, à savoir sa créativité sur le plan du fond et non sur celui de la forme, alors, il vaut mieux un thème créé sur mesure, "from scratch", pour pouvoir répondre de manière très souple et très réactive aux divers changements.
"La simplicité est la sophistication suprême" (Léonard De Vinci)
Et pour parvenir à cette simplicité en terme de thème WordPress cela ne se fait pas en utilisant un framework. La création d'un thème léger, rapide, et qui ne fait rien d'autre que ce qu'on lui dit de faire se fait forcément "from scratch".
La création d'un thème "from scratch" pour WordPress permet plusieurs choses :
Pour les framework javascript, je ne me pose plus la question, j'utilise depuis longtemps jQuery, bien que sur mes derniers développements, j'aie réduit le nombre de plugins à quasiment zéro pour n'utiliser finalement que les classes et fonctions de base de jQuery. Car en utilisant Bootstrap en parallèle, l'utilisation de plugins pour un site de présentation, ou même un site de type blog devient quasiment superfétatoire. De plus, avec l'avènement du mobile, et du responsive, l'utilisation de plugins du type Colorbox ou prettyPhoto devient absurde. Ou alors, l'activer, oui, mais uniquement pour les résolutions desktop (c'est ce vers quoi je tends de plus en plus en réalité), car il est idiot de zoomer une image encore en plus petit que son affichage pleine largeur dans sa colonne responsive.
Pour les plugins WordPress, à part des plugins majeurs du genre Contactform 7, ou Woocommerce, ou encore Advanced Custom Fields (très utile pour filtrer des groupes de contenus distincts, plus efficace à mon goût que les post formats, et bien plus fin que les custom post templates qui alourdissent l'ensemble) qui sont devenus incontournables dans leur spécialité, je ne vois pas l'intérêt d'utiliser un plugin pour créer des shortcodes dans son édition, je préfère largement les coder directement dans le functions.php, et créer des modèles de content-mon-contenu-spécial.php que j'appelle en conditionnel dans single.php, page.php, ou archive.php, par exemple.
Pour les galleries, idem, je préfère coder un shortcode utilisant les functions natives de gallery de WordPress dans le functions.php, et ne plus avoir à mettre dans modèles qu'un <?php echo do_shortcode('[mon_type_de_galerie]'); ?> ou directement le shortcode dans l'éditeur en admin [mon_type_de_galerie].
En bref, le bénéfice ne se récolte pas spécialement au moment de la création (car il est plus contraignant de reprendre presque à zéro à chaque fois), mais bien au cours de la vie du site. Cela permet de répondre de manière extrêmement pertinente et rapide à n'importe quelle contrainte nouvelle (ajout de type de galerie, nouveau modèle de catégorie, etc...), et de simplifier au maximum le processus de mise à jour-évolution.