Je viens de sortir d’une période assez folle. J’avais deux pages de destination très personnalisées à livrer en peu de temps. Les deux avaient un style complètement différent du reste de leur boutique. Pas de problème, je me suis dit. Ce n’était pas la première fois que j’étais dans le jus. Je devrais pouvoir livrer les deux à temps sans trop souffrir.

Ce que je n’avais pas prévu, c’est que les deux boutiques tournaient sur de vieux thèmes, dont un sur Debut 1.1, que plusieurs développeurs avaient personnalisés au fil des ans. C’était le bordel et j’y ai passé pas mal plus de soirées que prévu. Ça m’a fait réfléchir à ce que je pouvais faire pour éviter de me retrouver dans la même situation. Selon le point de départ, qu’est-ce qui sera facile à modifier ou à mettre à jour ? Qu’est-ce que le commerçant pourra faire lui-même ? Et à quoi ressemblera le travail de développement par la suite ? Je vois trois approches qui couvrent pas mal tous les cas.

  1. Partir de zéro.
  2. Partir d’un thème minimaliste comme Dawn.
  3. Partir d’un thème payant comme Flex.

Partir de zéro

Un éditeur de code affiche le HTML d’un site créé de zéro.

À mon avis, c’est une mauvaise idée dans 99 % des cas. Il y a trois raisons à ça.

  1. Vous allez réinventer une roue qui a déjà été réinventée un million de fois. Le formulaire du panier se fait à peu près toujours de la même façon. La pagination des collections est un problème réglé. Et est-ce qu’on a vraiment besoin d’écrire un autre schéma pour une section image et texte ? Qui aime écrire des schémas, de toute façon ?
  2. Vous avez beau être excellent, le compromis entre la qualité, le coût et le délai sera mauvais. Pour livrer un site complet, ça va coûter une fortune, prendre une éternité ou vous obliger à tourner les coins ronds. En partant d’une page blanche, vous ne pourrez pas égaler la qualité d’un thème commercial dans lequel on a investi des milliers, voire des dizaines de milliers d’heures.
  3. Il faut entretenir tout ça. Il n’y a pas de chemin prévu pour les mises à jour, puisqu’il n’y aura pas de mise à jour tant que le client n’en demandera pas. Comme le Web évolue constamment, c’est peut-être bon pour le portefeuille du développeur. Pour la santé mentale du client, c’est une autre histoire.

Partir d’un thème minimaliste

La fiche du thème Dawn montre des aperçus de boutique sur ordinateur et sur mobile.

Un thème minimaliste qui mise d’abord sur le HTML et le CSS, avec du JavaScript au besoin, offre un bon équilibre. Le développeur peut le personnaliser sans trop de friction, et le commerçant peut s’en servir sans toujours devoir passer par un développeur. Les schémas du thème et des sections permettent d’intégrer les règles de la marque tout en donnant au commerçant assez de latitude dans l’éditeur de thème pour créer ce dont il a besoin sans que ça vire au spaghetti visuel.

Avec un thème comme Dawn, les mises à jour sont simples si on structure bien les personnalisations. Je touche le moins possible aux fichiers CSS existants comme base.css. Je préfère dupliquer une section qui ressemble à ce que je veux et ajouter du CSS qui s’applique seulement à cette copie avec le sélecteur #shopify-section-. Je peux ensuite mettre le thème à jour quand une fonctionnalité ou un correctif sort, puisque les sections d’origine sont intactes. Mettre tout le CSS dans le même fichier donnerait peut-être un tout petit gain de performance. Je préfère garder le code modulaire pour me simplifier l’entretien.

J’aime travailler avec Dawn. Chaque section a ses propres fichiers .css et .js, et le peu de JavaScript qu’il y a est facile à comprendre et à modifier au besoin. Je peux créer une section sur mesure sans trop me compliquer la vie et profiter de toutes les fonctionnalités déjà en place. Si j’ai du développement à faire, Dawn est mon premier choix.

Partir d’un thème payant

Quatre boutiques créées à partir d’un thème Shopify payant.

Les thèmes payants comme Flex sont pratiques pour les commerçants qui veulent éviter le développement. Ils sont faciles à utiliser, bien documentés, accompagnés d’un bon service d’assistance et étonnamment flexibles. En regardant Fresh, Glow et Techno, on pourrait croire que ce sont trois thèmes différents. Les trois ont été faits avec Flex, directement dans l’éditeur de thème, sans une ligne de code.

C’est un bon point de départ pour un commerçant peu à l’aise avec la technique qui veut monter sa boutique lui-même et faire appel à un développeur seulement pour les petites choses que le thème ne permet pas de faire. Si le code a peu changé, les mises à jour seront assez simples à faire en suivant la procédure prévue par le créateur du thème.

Ça se complique quand il faut ouvrir le capot et toucher à autre chose qu’à l’apparence. Par exemple, j’ai déjà dû modifier l’ajout au panier dans Flex pour imposer une quantité minimale et la vente par lots. Flex gère l’ajout au panier en JavaScript. Il y a deux fichiers JavaScript principaux qui totalisent plus de 3 000 lignes de code, et 25 modules de 100 à 2 000 lignes chacun. Le code est bien écrit, les noms sont clairs et les commentaires aident. Ça reste un gros chantier pour un besoin sur mesure. Ça m’a pris beaucoup plus de temps que dans un thème qui s’appuie moins sur JavaScript. Même avec du bon travail, les mises à jour seront plus compliquées, parce que les changements sont plus difficiles à isoler.

Quand vous discutez d’un projet ou que vous le planifiez, prenez le temps de comprendre les besoins du client. Les vrais. Posez-lui les bonnes questions pour l’aider à les mettre en mots. Vous avez vu ce qui fonctionne chez plusieurs clients. Lui connaît son entreprise et son secteur. Pesez le pour et le contre ensemble, donnez la priorité à ses besoins, puis assumez votre choix jusqu’au bout.

Par exemple, Dawn me facilite la vie quand je développe une boutique. Je n’hésite quand même pas à recommander un thème payant si je pense qu’il répondra mieux aux besoins du client.