Les applications Web se développent à très grande vitesse principalement à cause des nombreux avantages qu’elles procurent. Cependant, à cause des limites du codage HTML, les applications Web demeureront toujours plus limitées en fonctionnalités et de 5% à 10% moins performantes que les applications de bureau traditionnelles.
Par Michel Boisvert, président, IPSO Technologies
Devant la fulgurante croissance des applications Web, nous nous sommes faits à l’idée qu’un jour toutes les applications deviendraient des applications Web. La mort des applications bureau (desktop applications) est annoncée. Mais est-ce vraiment le cas?
Définissons d’abord les termes
Une application Web est une application qui s’affiche dans votre navigateur (Chrome, Internet Explorer) en opposition avec une application bureau qui s’exécute sur le PC directement de façon traditionnelle.
La technologie Internet a tellement évolué qu’il est maintenant raisonnable de faire héberger ses données à distance, dans le nuage (cloud) sans pour autant souffrir de ralentissement significatif. Pour éviter les incontournables interruptions d’Internet, de nouveaux routeurs permettent de se connecter sur plusieurs fournisseurs et d’égaliser la charge selon l’achalandage de façon à optimiser le transit et réduire les pannes. Ces avancées font naître de nouvelles possibilités, ce qui a provoqué l’explosion d’applications Web que nous connaissons actuellement.
Quels sont les avantages/inconvénients d’une application Web?
Côté serveur
D’abord, pour une application Web, les serveurs sont dans le nuage et vous n’avez plus à maintenir un serveur localement. Les mises à jour d’équipements se font automatiquement. Plus de soucis. Il en coûte un peu plus cher, environ 4 fois le prix, mais comme c’est offert en versements mensuels, la formule réduit les frais de démarrage et plaît énormément.
Côté logiciel
Les logiciels sont également hébergés dans le nuage, aucune installation ni mise à jour sont nécessaires, puisqu’elles sont faites automatiquement, pratiquement sans dérangement. Vous n’avez qu’à vous abonner. Plus de soucis de ce côté non plus. La formule Software as a Service (SaaS) a ses avantages, vous ne devez plus débourser pour l’achat du logiciel, celui-ci étant loué comme un service et les déboursés sont mensuels et ça plaît à tout le monde. Certains logiciels offrent souvent une version gratuite ou démo vous permettant d’essayer avant d’acheter.
Et la vitesse?
Pas de souci, le Web est aussi rapide que votre connexion Internet. Loin des grands centres, la vitesse peut être moindre cependant, il faut vérifier. Et la vitesse peut également varier selon l’achalandage, car Internet est un réseau public, le trafic inégal peut devenir un facteur.
Pour parer à ces inconvénients ou pour les applications plus lourdes en transfert de données, certains fournisseurs offrent d’installer l’application Web sur votre serveur et d’utiliser votre Intranet. Vous perdez cependant tous les avantages d’une installation Web, sans pour autant bénéficier des avantages d’une application bureau. C’est le pire des 2 mondes!
Et la sécurité?
Internet est un réseau public, vos données sont donc cryptées. Cela occasionne un petit délai supplémentaire et vous donne un faux sentiment de sécurité. Ainsi, Internet est loin d’être sécuritaire, un serveur Web reçoit en moyenne 1 500 attaques chaque jour, et ce chiffre est en nette progression. Chacune de celle-ci peut mettre fin à votre journée de travail si vous utilisez une application Web pour gérer vos affaires. Et l’avenir ne s’annonce guère plus reluisant. Comme souvent vos données sont hébergées à l’étranger, prenez soin de lire les petits caractères de votre contrat pour éviter les surprises et connaître vos recours si les choses tournent mal.
Et si le fournisseur de service cesse ses opérations?
Comme l’application Web est considérée comme un service payable mensuellement, si elle n’est pas renouvelée, le service cesse et vous n’aurez plus accès à votre application, ni à vos données (lisez les petits caractères de votre contrat). Cela pourra mettre sérieusement en péril votre organisation, selon les applications que vous utilisez. Il faut donc prévoir un plan B.
Et la performance?
Une application Web utilise le langage HTML comme support, afin de pouvoir s’afficher dans votre navigateur. Chaque page doit être transférée au complet à chaque fois (layout et données), ce qui fait plus de volume sur votre réseau. Mais le plus ennuyant, c’est que les fonctionnalités de la page sont également liées aux limites intrinsèques du langage HTML.
En HTML, il y a typiquement moins de 10 types de composants pour afficher tous les types de données, alors qu’en application bureau, on utilise régulièrement plus de 100 différents composants. Une application bureau est assurément plus riche et plus facile à utiliser en général. La densité d’information par centimètre carré d’écran y est beaucoup plus grande. Par exemple, sur Nethris, un logiciel pour la paie, le dossier de l’employé se scinde en une dizaine de fenêtres différentes qu’il faut utiliser si on désire entrer un dossier d’employé au complet, ce qui complique énormément son utilisation. Le Web ne convient donc pas à des fenêtres complexes où la densité d’information est importante.
Il faudra vous adapter également aux fonctionnalités restrictives des grilles HTML. En HTML, on ne peut pas facilement réaménager (déplacer, désactiver, ou ajouter) les colonnes d’une grille, à son goût. C’est un peu contraignant et il faut parfois faire des cabrioles pour arriver à consulter nos données convenablement. Ce problème apparaît dans les applications plus complexes ou lorsqu’il y a plus de données à consulter.
En mode Web, afin de conserver une bonne vitesse, les transactions demeurent courtes et limitées. On ne transférera typiquement que quelques records à la fois, 20 ou 50 par exemple. Et pour obtenir les 20 ou 50 records suivants ou précédents, vous devez redemander. C’est un peu plus long, surtout si vous consultez des statistiques ou des historiques fréquemment ou si ce que vous cherchez est très bas dans la liste. Impossible également d’obtenir un total en bas de la liste, car elle n’est jamais complète.
C’est la différence entre efficacité et efficience. Une application Web est efficace, parce qu’elle permet d’atteindre vos objectifs de gestion (on peut faire la paie), mais pas très efficientse car la vitesse, la sécurité et les limites du langage HTML ne permettent pas d’être optimal (ça prend plus de temps et d’efforts).
La version bureau est également plus sécuritaire, car on peut facilement contrôler le niveau d’accès, les paramètres d’affichage ou la visibilité de chacun des champs affichés, ce qui n’est pas toujours possible en version Web. Une application bureau peut être multifenêtre et permet d’ouvrir et d’accéder à plusieurs vues simultanément, alors qu’en version Web une seule vue s’ouvre à la fois, masquant la précédente.
Et une version Web ne peut accéder directement aux différentes ressources du PC, ce qui peut être un frein si vous devez interfacer avec des équipements particuliers.
Microsoft, sur son site de développement MSDN(1), ne recommande pas l’utilisation du Web pour des applications complexes comme les ERP ni pour des applications à usage élevé. La perte de performance est trop grande pour les utilisateurs et le gain réalisé par les bénéfices du Web sont vite anéantis par la sous-performance de l’application. C’est l’efficience qui n’est pas au rendez-vous.
Pourquoi une telle recommandation? Même s’il ne s’agit que d’une minute ici et là, la somme de temps perdu au niveau organisationnel peut facilement se situer entre 5% à 10% selon l’usage que chacun en fait au quotidien et encore plus si l’application Web est mal conçue. Vous réalisez très rapidement que pour une organisation où plusieurs employés doivent passer plusieurs heures par jour dans l’application, 5% à 10% peuvent se traduire en perte de performance se chiffrant à plusieurs dizaines de milliers de dollars par mois, année après année.
Les ERP et toutes les applications lourdes en fonctionnalités ne devraient donc jamais être des applications Web, la perte d’efficacité des utilisateurs mine radicalement la rentabilité d’un tel système. À chaque plate-forme, ses forces et faiblesses!
Mais rassurez-vous, car pour la plupart des autres applications Web, les pertes de performance sont moins importantes, ce qui en définitive est bien, car les applications Web sont ici pour rester.