Temps de lecture : 3 minutes
07/02/2020
Application web et mobile
Introduction aux technologies des applications - Partie 1 : Le moteur
Introduction aux technologies des applications web et mobile
Toutes les applications que vous utilisez au quotidien sur votre téléphone, sur votre ordinateur, le système de votre ordinateur, votre téléviseur et même votre box internet contiennent du code. Ce code sert à remplir une fonction, et il existe différents langages en fonction de ce que l’on veut faire.
Sur le web, les plus populaires sont le PHP, l’ASP.net, le Java et le Ruby entre autre. Le langage PHP est utilisé par 4 sites sur 5 dans le monde, ce qui fait de lui le langage leader du marché.
Sur un site internet ou une application, le langage PHP permet de générer le contenu des pages et leurs structures (entre autres). Il existe différentes versions (mises à jour), chacune apportant plus de performance et de sécurité, mais aussi des nouvelles fonctionnalités.
Qu’est-ce qu’un framework ?
Pour développer une application, il est possible de partir d’une page blanche. Ou alors, pour réduire les coûts en profitant de ce qui existe déjà, et profiter d’une large communauté de développeurs, il est possible d’utiliser des bibliothèques. Ces bibliothèques sont appelées framework.
Un framework contient des composants qui permettent de rapidement mettre en place des fonctions de base pour une application (authentification, sécurité, connexion à une base de données, …), un peu comme les briques d’une maison.
Pourquoi utiliser un framework PHP ?
Les principales raisons d’utiliser un framework PHP sont :
- Le cadre offert : Ils ont en général une documentation, une structure établie, des règles d’usage
- L’écosystème : Il y a bien souvent des formations disponibles, des certifications, parfois même des cours sont dispensés dans les grandes écoles,
- La pérennité : Conséquence des deux points précédents, une application sera plus facile à suivre et à maintenir, même si l’équipe de développement initiale change (internalisation des ressources de développement, changement de prestataire…).
- La sécurité : De base, des composants et des bonnes pratiques sont accessibles sans nécessiter de gros travaux de développement.
- La communauté : Chaque framework a ses supporters qui seront heureux de répondre sur des forums, d’écrire des articles sur des blogs, de compléter la documentation et de contribuer à la mise à jour.
- Les coûts : Partir d’une large bibliothèque de composants permet de réduire grandement les temps de développement et par conséquent les coûts liés.
Etat du marché
Chaque bibliothèque n’est basée que sur un langage (par exemple PHP). De plus, elles sont très souvent Open Source (c’est-à-dire qu’elles sont gratuites, libres, modifiables et communautaires).
Pour le langage PHP, celui qui nous intéresse ici pour la création d’une application web ou mobile (du moins le moteur), il existe des frameworks (bibliothèque de composants) comme Symfony, Laravel, CodeIgniter, Yii, CakePhp, Zend…
Il est difficile de connaître les part de marché pour chacun de ces Frameworks mais nous pouvons nous baser sur le volume de recherches sur Google.
En France, Symfony est largement devant (peut-être grâce à notre chauvinisme !), suivi par Laravel et les autres.
Quel framework PHP choisir ?
Il n’y a pas de réponse juste pour cette question ! Il faut simplement bien définir l’usage pour choisir le framework adapté et connaître les avantages et inconvénients de chacun. Cela peut être décidé par l’équipe de développement s’ils sont libres de leur choix, ou alors contractualisé au sein d’un cahier des charges ou d’un backlog produit défini préalablement lors des différentes sessions de conseil et d’élaboration de votre stratégie digitale.
Laravel, par exemple, est plus jeune que Symfony, et beaucoup plus permissif, et s’il est utilisé sans rigueur, des problèmes de sécurité peuvent rapidement apparaître.
À l’inverse, Symfony est plus complexe à appréhender mais est très complet. Et c’est un Framework qui existe depuis 2005.
CodeIgniter est très léger et par conséquent moins complet. Et Zend est intéressant sur des projets beaucoup plus complexes et tournés vers l’entreprise, c’est un framework adapté aux banques par exemple.
Est-ce que vous devez choisir le framework de votre projet ?
Non ! C’est un choix fait par votre Agence de développement web en fonction des besoins du projet et aussi de ses affinités.
Les points importants à retenir pour votre sont :
- L’utilisation d’un langage web courant : En effet, ne pas utiliser un langage courant expose à des problèmes pour la pérennité de votre projet. Imaginez que l’agence arrête ses services, ou que vous souhaitiez internaliser le développement, si personne n’est capable de reprendre votre projet, il faudra tout refaire.
- L’utilisation d’un framework : Comme nous l’avons souligné dans cet article, l’utilisation d’un framework permet de développer plus vite, d’offrir un cadre et de réduire les coûts. Une agence qui vous propose son propre framework, c’est une agence qui vous expose a des coûts supplémentaire, des failles de sécurité et là encore, la pérennité de votre projet est en danger.
- L’utilisation de code Open Source : Les agences qui proposent du code propriétaire, c’est-à-dire qui ne leur appartient qu’à elles, verrouillent votre projet chez elles. Tant que votre projet existera sous cette forme, il restera dans cette agence.
Et pour terminer, assurez-vous toujours si le code source vous appartiendra ou s’il restera la propriété de l’agence.
Chez 69pixl
Comme beaucoup d’agences, nous avons une préférence ! Notre coeur balance pour Symfony et nous avons créé nos process autour de ce framework. Nos outils ont été adaptés et c’est notre façon de mettre en avant des projets français.
Mais évidemment, il faut que le projet s’y prête…