Démêlage technique

Temps de lecture estimé = 5 min

 

Php Symfony / Laravel, Ruby, Python, quel est le meilleur langage pour ma plateforme ?

 

Si vraiment au final il y a un meilleur langage ….

Sans rentrer dans le détail de chaque technologie, nous vous proposons ici de donner des rôles et des concurrents à chaque techno. On va essayer de vous démêler tout cela en vous donnant pas LA bonne techno, mais LES bonnes technos.

Déjà pour me présenter en 2 mots, je m’occupe de toute la relation client chez Ochelys. Je ne suis en rien développeur d’où des raccourcis que je vais prendre à des moments. Le but est de vous donner notre avis chez Ochelys de par notre expérience client.

Premièrement on va différencier des technologies qui vont gérer l’affichage (frontend) et les technologies qui vont permettre la connexion à différents services : base de données, mailer, outils externes, etc. (backend). 

 

En Frontend, comme vous le savez sûrement, l’intervention d’un intégrateur web, et/ou d’un développeur frontend, démarre à la livraison des maquettes graphiques du directeur artistique. Sa mission est de coder l’ensemble des éléments qui vont définir les pages du site : contenus, images, liens, barres de menus, etc. Il utilise des technologies comme :

  • HTML (structure la page)
  • CSS (style de la page), ainsi que des boîtes à outils comme Bootstrap, Tailwind, Foundation, etc. qui permettent de styliser des formulaires, boutons et autres éléments de navigation. Ces librairies permettent également de mettre en place du design responsive, c’est à dire adaptables à l’appareil qu’utilise l’internaute.
  • Javascript, ainsi que des frameworks comme Angular, Vue.js,  React, etc. qui permettent de rendre les pages interactives

 

Côté backend, le développeur web lui code directement en général via un framework (cadre de travail) et des langages qui peuvent être soit open source, c’est à dire accessibles librement, soit sous licence payante. Dans des cas particuliers, il est intéressant de ne pas utiliser de frameworks mais, dans ce cas là, il faut demander des explications à votre prestataire. Ces grandes « librairies de ressources » permettent en général de gagner du temps et de ne pas réinventer la roue. L’agence qui vous propose un développement uniquement via le langage doit avoir de bonnes raisons, qu’il faut challenger. Attention quand même, un code sans framework est souvent problématique sur différents plans : sécurité, performance, maintenance, évolution, reprise de l’existant par d’autres développeurs, etc.

 

Côté Ochelys nous avons fait le choix depuis nos débuts de travailler avec des outils opensources. Depuis quelques années il existe plusieurs combos « gagnants » :

  • PHP / Laravel : puissant et efficace, il est très employé dans le cadre d’un développement rapide d’applications
  • PHP / Symfony : très bon choix aussi. 
  • NodeJS : technologie rapide et puissante, mais moins populaire que PHP
  • Ruby / Rails : très bon choix, solutions de plus en plus expliquées en école de développement mais moins répandues sur le marché pro que PHP par exemple
  • Python / Django : moins de communauté mais solutions pertinentes dans certains cas de traitement de données en masse ou de modélisations par exemple.

 

En base de données, on va parler de MySQL, SQL Server, PostgreSQL, Cassandra ou encore Mongodb. Là, les bonnes technos sont celles qui s’adaptent le mieux à vos besoins en matière de stockage de données, de performance, de type de données, de volumétrie, etc. 

 

Quant aux CMS, on peut voir passer des WordPress, Drupal, Strapi, etc. Ici tout dépend de vos habitudes de travail et comment vous souhaitez administrer vos contenus. WordPress reste quand même la solution la plus utilisée dans le monde.

Concernant l’e-Commerce, vous allez sûrement rencontrer Prestashop ou Magento en solutions prépackagées. Un Sylius par exemple permettra un développement sur mesure dans un univers Symfony.

 

Pour vos projets d’applications mobiles, vous allez voir passer 2 philosophies différentes : 

  • les langages natifs qui vont permettre d’optimiser les possibilités fonctionnelles des appareils mais vont nécessiter des investissements initiaux et de maintenance multipliés par le nombre d’application, 
  • les encapsuleurs type React Native ou Ionic vont permettre de créer des applications hybrides fonctionnant dans les 2 mondes (voir 3 avec Windows phone) en 1 seul développement mais peut être moins efficaces par rapport aux possibilités fonctionnelles et aux performances.

 

Ensuite on ne va qu’à peine évoquer toute une suite de technos permettant d’optimiser :

  • les champs de recherche comme Algolia, Elasticsearch, Meilisearch, etc.
  • l’industrialisation de votre projet avec Docker
  • des tests avec Behat, PHPUnit, Atom, etc.

Vous commencez à y voir plus clair sur ce que vous propose une agence ?

Si ce n’est pas le cas, il faut déjà prendre le réflexe de demander au prestataire pourquoi il a fait ces choix. De plus, il faut vous poser les bonnes questions, à savoir :

  • est-ce que je vais vouloir internaliser à un moment ?
  • est-ce que des ressources humaines sur ces bases de technos sont faciles à trouver ? 
  • comment vais-je gérer les maintenances curatives, évolutives et donc correctives de mon application ? 
  • qu’est-ce que je veux gérer du côté business avec mes équipes de communication ou marketing ? 
  • quelles sont mes contraintes métiers ? Volume, besoin en sécurité, évolutions du besoin et donc adaptations fonctionnelles ou encore connexions à d’autres solutions en terme de système d’informations ? 

 

Chaque agence a fait ses choix et maîtrise plus ou moins des associations de technologies. Notre CTO (responsable technique) peut vous aider à y voir plus clair. Chez Ochelys, agence de développement sur Lyon, nous restons assez ouverts car nous avons fait le choix de nous monter en compétences sur plusieurs technologies afin de vous apporter la réponse la plus logique par rapport à l’ensemble de vos contraintes métiers. 

+ d’infos sur nos compétences tech : ici

N’hésitez pas à nous contacter pour une mission de préconisation technique ou pour développer directement vos solutions web métier. 

 

Bonne journée !

 

A lire aussi dans Tech