Une technologie de développement ne fournit pas de fonctionnalité en propre et pourtant, elle conditionne bien des aspects de votre projet. Le choix est structurant à plus d’un titre et contraint à différents niveaux.

En fonction de votre niveau de compétence technique, la question peut se poser de différentes manières. A la fin, c’est la technologie web de développement qui est fixée. Elle se compose de trois couches : le système de gestion de bases de données, le langage de développement et les outils de développement (API, Framework, solution logicielle).

Etablir son système de gestion de bases de données

Le choix du système de gestion de bases de données pourrait faire l’objet d’un dossier à part entière. Base de données relationnelle ou de type noSQL, open source ou sous licence, ce ne sont pas les options qui manquent. Parfois, le choix s’effectue par défaut, parce qu’une autre brique fonctionne particulièrement bien avec celui-ci ou bien parce que l’on souhaite s’inscrire dans la continuité d’un choix d’éditeur (SQL Server et .NET).

Une grande majorité de projets web s’appuient sur une base de données MySQL.

Plus couramment, l’alternative se situe entre une solution sous licence (Oracle, SQL Serveur, DB2) généralement imposée par la DSI pour des raisons de cohérence et de compétences, et une solution OpenSource de type relationnelle (MySQL, MariaDB, PostgreSQL) ou noSQL (Cassandra, MongoDB).

La popularité des systèmes de gestion de bases de données

DB-Engine.com propose un classement par popularité des systèmes de gestion de bases de données. Ce classement s’applique à l’ensemble des projets informatiques et non pas uniquement les projets web. Mais on mesure tout de même l’écart entre le trio de tête (Oracle, MySQL et SQL Server) – dont la constance est exemplaire – et les suiveurs.

systeme-gestion-bdd.png

 

Définir le langage de développement le plus adapté

Pour les projets Web, trois langages de développement tiennent l’essentiel du marché : PHP, Java et .NET.

D’autres langages, comme Python ou Ruby peuvent se révéler intéressants. .NET est un choix qui s’inscrit dans une démarche d’éditeur. Pour PHP ou Java, il s’agira d’un choix d’école. Historiquement, Java était un choix d’informaticiens pendant que PHP était plutôt un choix d’agence. Aujourd’hui cette dualité s’est résorbée.

En pratique, on peut citer trois critères de choix du langage de développement. Le premier est l’expérience de l’entreprise ou du prestataire pour un ou plusieurs langages. Il n’est pas conseillé de se lancer avec un langage avec lequel on a peu ou pas d’expérience. Le second est l’environnement technique du projet. L’infrastructure envisagée, l’intégration dans un système d’information existant, ou encore la sécurisation de l’application, sont des facteurs qui peuvent conduire à un choix plutôt qu’un autre.

A moins de contraintes de DSI, le choix est conditionné par l’expérience et la solution logicielle choisie.

Ces facteurs sont normalement prédéterminés sous la forme de contraintes dans le cahier des charges de l’application. Enfin, une solution logicielle, comme un outil de gestion de contenu (CMS), peut avoir été pressentie ou même choisie pour des raisons d’orientation fonctionnelle ou d’exploitation. Cette solution conditionnera le choix du langage de développement. Par exemple, Drupal ou Typo3 s’appuient sur PHP, Alfresco ou OpenCMS exploitent Java, pendant que Sharepoint ou DotNetNuke s’associent aux solutions Microsoft.

De fait, pour un projet dont les contraintes sont avant tout fonctionnelles, c’est le choix de la solution logicielle qui prévaut. Vous pouvez choisir une solution de type packagée comme Prestashop (ecommerce) ou Odoo (CRM/ERP) ou encore DataShare (groupware). Vous pouvez également adopter une brique modulaire et adaptable comme un CMS (Drupal, DNN, Django CMS) ou un système ecommerce (Magento) ou une GED (Alfresco). Enfin, pour disposer de la plus grande liberté de mouvement, éventuellement en association avec une brique modulaire, vous vous appuierez sur un framework de développement (voir notre encadré sur le sujet) comme Symfony ou JWT.

Les objectifs du projet sont prioritaires, même si cela implique des choix techniques difficiles.

LA LISTE DES Frameworks de développement

Les langages de développement posent des modèles d’architecture, des méthodes de développement et une sémantique. Mais pour développer des applications, en particulier des applications web, même si le langage intègre de nombreuses possibilités – notamment PHP – il convient de lui adjoindre des capacités spécialisées. C’est l’objet même des frameworks. En voici quelques-uns populaires pour le développement d’applications web.

Langage

Framework

Côté serveur

.NET

.NET Framework

Java

Spring MVC

JSF (Java Server Faces)

GWT

PHP

Symfony

Zend Framework

CodeIgniter

Node 

Laravel

Python

Django

TurboGears

Javascript

Node.js

Ruby

Ruby on Rails

Sinatra

Côté Client

Javascript

React

JQuery

Angular

Web

Bootstrap

Foundation

Prendre en compte les outils de développement

Nous l’avons vu, nombre de facteurs sont pris en compte à l’heure du choix. C’est pourquoi le risque existe de perdre l’objectif de vue : la réussite du projet. Certes les considérations techniques de maintenabilité, de sécurité ou de facilité d’intégration dans le SI, sont d’une grande importance. Mais si pour cela on doit renoncer à répondre à des besoins stratégiques du projet, alors on n’a pas la bonne réponse. Ainsi, les contraintes techniques d’un cahier des charges se doivent d’être compatibles avec les objectifs du projet, quitte à quelques compromis techniques. Par exemple, même si tout le SI d’une entreprise s’appuie sur des technologies Microsoft, il n’est pas interdit d’envisager PHP pour une application web périphérique dans la mesure où son exploitation est garantie et que les interfaces utiles sont prévues.

Quelle solution pour quel projet web ?

Publié par Adimeo
CEO Adimeo
Retrouvez moi sur :

Un conseil, un projet, un devis ?
Nous repondons a toutes vos questions !

N'hésitez pas à nous contacter pour plus d'informations

Nous contacter

Sur les mêmes sujets