Le développement web, c’est quoi ça, encore, mon cher Jean-Pierre ?

Pour faire simple, on va dire que le développement web c’est la partie « technique » et immergée d’un site ou d’une application web. Ce sont ces centaines de milliers de lignes de code – fruit de notre dur labeur – qui permettent d’ajouter une multitude de fonctionnalités indispensables à son site internet (afficher l’heure qu’il est actuellement au Pérou sur une page de son blog, enregistrer des commentaires sur un article comme celui que vous lisez actuellement, vous faire couler un café à la simple pression d’un bouton sur le tableau de bord de votre intranet…). Ces fonctionnalités peuvent être plus ou moins complexes mais dans l’ensemble, il n’y a presque aucune limite à ce que l’on peut développer dans une application web.

Julien, développeur web chez Keole.net qui boit son premier café de la journée après avoir cliqué sur le bouton : « Gogo Gadgeto Café » de l’application secrète Keole

Lorsque l’on parle de développement web, il est question de langages. Parmi les plus connus : PHP, HTML, Javascript… Je ne rentrerai pas trop dans les détails pour éviter de vous perdre dès le deuxième paragraphe, mais sachez que tous les sites que vous pouvez consulter sur la toile sont développés avec des langages de programmation Web.

Elle est bien belle ton histoire Jean-Pierre mais du coup c’est quoi le but de ton article ?

Aujourd’hui, je vais vous présenter deux solutions que nous, en tant qu’agence web de petite taille, nous proposons à nos clients en expliquant les critères qui nous permettent de choisir laquelle est la plus adaptée à leur projet. Bien évidemment, il existe des centaines d’autres solutions mais ce sont les deux que nous utilisons le plus souvent.

Commençons par WordPress. Même si vous ne connaissez pas ce nom je suis prêt à parier que vous avez forcément visité au moins un site développé avec ce CMS dans votre vie. D’abord, parce que 30% des sites web sont développés avec ce CMS, mais aussi parce l’article que vous lisez actuellement est sur un site WordPress. (on vous a bien eu, n’est-ce-pas ?)

Vous après cette révélation fracassante

Présentation de WordPress

WordPress est donc le CMS le plus répandu sur le web. A la base il est pensé pour permettre à tout un chacun, sans compétence pointue, de créer son site. Il est possible de gérer des pages, des articles, des menus, des commentaires et bien plus encore… En plus des capacités « de base », vous avez la possibilité d’installer moult modules (plugins) pour ajouter de nouvelles fonctions à votre site. Il en existe des centaines de milliers, plus ou moins utilisés et plus ou moins qualitatifs… Si toutefois vous ne trouvez pas votre bonheur, il est toujours possible de faire développer les fonctionnalités qu’il vous manque.

Présentation de Symfony

Symfony est un Framework PHP open source – lui aussi très répandu – développé par l’agence web Française Sensiolabs. Il a notamment été utilisé pour le développement de grandes plateformes telles que Yahoo ou Dailymotion, mais sert également de base à certains CMS concurrents de WordPress comme Druppal, eZ-Publish, ou encore Prestashop pour l’e-commerce. La différence majeure avec un CMS « clés en main » type WordPress, c’est que Symfony est destiné à être utilisé par des développeurs web expérimentés. Sans compétences en programmation et dans les langages web, vous ne pourrez pas développer votre site avec Symfony.

D’accord, mais comment savoir si je dois utiliser WordPress ou Symfony pour mon projet ?

La première chose à faire avant de pouvoir déterminer la solution la plus adaptée pour votre projet web, c’est de vous poser les questions suivantes :

Ai-je besoin d’un développement spécifique / sur mesure ?

Si votre site a pour vocation de présenter vos récits de voyages à vos parents, vos collègues de travail, votre belle famille, votre chat… Il y a fort à parier que la réponse soit non et que toutes les fonctionnalités dont vous avez besoin se trouvent déjà dans WordPress.

Si, par contre, vous avez besoin de quelques fonctionnalités un peu plus spécifiques, c’est probablement le signe que vous avez besoin d’un développement sur mesure. Dans le cas où ces fonctionnalités sont peu nombreuses et peu complexes, il est tout a fait possible de les implémenter dans WordPress à l’aide de plugins et/ou d’un petit peu de personnalisation du thème de votre site. On peut ainsi obtenir une véritable « mini-application » grâce à cette méthode.

Le plus beau dans tout ça, c’est qu’il existe déjà des milliers de plugins et de thèmes spécialement développés pour WordPress et disponibles pour quelques dizaines / centaines d’euros voire gratuitement pour certains. Cependant, l’utilisation de ce type de plugin implique de faire certaines concessions. Il faut être conscient que dans la grande majorité des cas, vous trouverez des plugins qui font « à peu près » ce que vous voulez mais qu’il y aura toujours une ou plusieurs spécificités dans vos besoins qui feront que le plugin ne colle pas à 100% à votre façon de travailler. Il faudra alors s’adapter. L’autre solution, comme évoquée auparavant, est de faire appel à des développeurs spécialisés (coucou) qui pourront développer le plugin qui correspond parfaitement à votre cahier des charges et embarque toutes les fonctionnalités dont vous pouvez rêver (à condition que cela reste légal et moralement correct bien entendu).

Exemple de fonctionnalités pouvant être ajoutées à un WordPress : calendrier avec gestion d’événements, espace documentaire, formulaires de contact complexes, simulateur de prix, outil de devis, mini-boutique e-commerce…

« Bon bah c’est sympa, on peut tout faire avec un WordPress, c’est génial j’ai ma réponse… »

Eh bien non, pas tout à fait ! Avant toute chose, il faut savoir que tout ce qu’on peut développer avec WordPress, on peut également le faire avec Symfony… En mieux et de manière plus poussée. Avant de me lyncher, laissez-moi le temps de m’expliquer. WordPress permet de gagner énormément de temps en proposant une solution prête à l’emploi avec des fonctionnalités déjà développées, mais le problème avec ce mode de fonctionnement, c’est qu’il impose des limites techniques dans ce que l’on peut faire sans sortir complètement du cadre de WordPress. Autrement dit, on n’est pas libres à 100% de nos mouvements et on doit composer avec ce que le système nous donne la possibilité de faire ou pas. En plus de cela, le fait que tous les composants de WordPress soient chargés influe de manière négative sur les performances du site (vitesse de navigation, d’affichage des pages, poids de celles-ci…). Ainsi, il est plus compliqué sur un CMS comme WordPress d’avoir d’aussi bonnes performances que sur une application Symfony ou un site HTML / CSS. C’est encore bien pire quand on commence à ajouter un trop grand nombre de briques (plugins) ou que l’on traite un trop grand nombre de données. Cela nous amène donc à notre deuxième point.

Quelle(s) évolution(s) pour mon application ?

Il est parfois nécessaire de revoir ses ambitions à la baisse au moment de lancer son projet pour des questions de budget ou de délais par exemple. Ce qui peut signifier diviser le développement en plusieurs phases (versions), avec une V1 (version initiale) composée du minimum vital auxquelles viendront ensuite se greffer de nouvelles fonctionnalités dans une nouvelle version.

Même si dans un premier temps votre site sera simplissime avec deux fonctionnalités qui se battent en duel, il est important d’avoir une vision globale du projet et d’anticiper les évolutions et les améliorations futures pour éviter certaines déconvenues lorsqu’il sera temps de passer à la vitesse supérieure. Cette anticipation vous permettra, avec l’aide de votre prestataire, de vous orienter vers la bonne solution dès le début du projet.

Exemple :

Un client vient nous voir pour son site vitrine avec 3 pages de contenus et un simulateur de tarif avec quelques règles de calcul. A première vue, un WordPress (avec un mini développement pour le simulateur) semble tout indiqué. Cependant, le client nous explique que d’ici environ 6 mois il aura probablement besoin qu’on développe un CRM pour gérer les prospects générés par son simulateur et qu’il voudra donner la possibilité à ses clients d’accéder à un espace perso pour suivre l’avancement de leurs projets et consulter leurs factures. Nous tiendrons compte de ces informations pour éventuellement l’orienter sur un Symfony si nous pensons que dans 6 mois nous nous retrouverions bloqués par les limites de WordPress.

La structure d’une application Symfony la rendra bien plus facile à faire évoluer et à maintenir qu’un site WordPress, c’est pour cela qu’il peut être judicieux de créer son projet avec Symfony si celui-ci a un fort potentiel d’évolutions. Quitte à investir un peu plus au lancement du projet, on peut dans certains cas s’y retrouver financièrement au bout de quelques mois car les évolutions coûteront moins cher et il y’aura moins de frais de maintenance qu’avec un WordPress.

Quel est mon budget ?

Avant de se lancer, il faut avoir une fourchette de prix en tête. De manière générale, si votre projet est clair, bien cadré et surtout réaliste, nous arriverons à vous dire quelle solution technique serait la plus adaptée. Puis, en fonction de votre budget, nous trouverons un compromis pour que la solution retenue colle au mieux à votre cahier des charges sans dépasser votre budget. Encore une fois, il faut parfois savoir faire des concessions et abandonner certaines fonctionnalités non vitales.

Conclusion

A travers ces exemples, j’ai essayé de vous expliquer notre manière de raisonner lorsqu’il s’agit de sélectionner entre un développement WordPress et une application Symfony. De nombreux critères rentrent en ligne de compte, mais si vous ne deviez en retenir qu’un ce serait : la finalité du site. Si votre site a pour vocation d’être un CRM, un intranet ou un outil de gestion complexe pour votre entreprise, il y a de forte chance qu’une application Symfony soit ce qu’il vous faut. Si en revanche, votre site n’est qu’un simple site vitrine avec quelques fonctionnalités spécifiques (simulateur de tarif, QCM, moteur de recherche d’événements ou d’établissements…) alors le développement d’un site WordPress pourrait suffire.

Encore une fois, il faut garder à l’esprit qu’un site ou qu’une application évolue au fil du temps et de vos besoin et que parfois, il est souvent judicieux de voir sur le long terme pour que votre projet web se passe au mieux pour vous, et pour nous, développeurs.

Un article rédigé pour vous par Julien

Développeur web. "Développeur aguerri, il surprend par son aptitude à gérer un projet. Réactif et efficace, il est le partenaire indispensable pour mener votre projet à son terme et dans les délais." Spécialités : le design et l'ergonomie avec spé bûcheron | Râleur de niveau 100 (certification Sauvé obtenue en 2016). Il aime : les interfaces simples et épurées avec du rose et du vert en couleurs principales | Safari | l'Aïoli | téléphoner aux clients | J.R Smith | les :first-child et autres :nth-child. Il aime pas : les lignes de code, il y est allergique | les Dallas Mavericks.