Guide ultime de la modernisation d’une application FileMaker patrimoniale

Pourquoi devrais-je moderniser mes applications ?

Qu’est-ce qu’une application patrimoniale ?

Il existe quelques facteurs qui, lorsqu’ils sont combinés, constituent une application patromoniale. Les applications qui ont une dette technique et qui utilisent des technologies obsolètes essentielles aux opérations quotidiennes sont ce que nous appelons des applications patrimoniales. Elles causent constamment de la difficulté à leurs utilisateurs et, pour cette raison, sont la cible d’initiatives de modernisation d’applications. Cet article a pour but de vous aider à déterminer comment vous pouvez identifier et remplacer/améliorer vos applications patrimoniales.

Qu’est-ce que la dette technique ?

Vous avez probablement entendu cette expression à sensation depuis quelques années, en particulier de la part de personnes qui essaient de vous vendre leurs services pour vous aider à « vous débarrasser de votre dette technique ». Mais qu’est-ce que la dette technique exactement, et quel est son rapport avec les applications patrimoniales ?

La dette technique est une métaphore qui décrit ce qui se passe lorsque les développeurs d’applications accélèrent la livraison d’une fonctionnalité ou d’un projet au détriment de la qualité. En d’autres termes, lorsque votre équipe de développement tente de livrer quelque chose de « rapide et grossière », elle crée une dette technique. Les applications présentant une dette technique deviennent alors obsolètes ou difficiles à utiliser.

Ward Cunningham, qui a inventé cette expression/métaphore, explique la dette technique comme suit :

« Avec de l’argent emprunté, vous pouvez faire quelque chose plus tôt que vous ne l’auriez fait autrement, mais jusqu’à ce que vous remboursiez cet argent, vous payez des intérêts. Je pensais qu’emprunter de l’argent était une bonne idée, je pensais que se précipiter sur un logiciel pour acquérir de l’expérience était une bonne idée, mais que bien sûr, vous reviendriez éventuellement en arrière et qu’au fur et à mesure que vous apprendriez des choses sur ce logiciel, vous rembourseriez ce prêt en remaniant le programme pour refléter votre expérience au fur et à mesure que vous l’acquerriez ».

Les trois piliers d’une application

Aujourd’hui, tout est codé. Pour mieux comprendre les conséquences de la dette technique et les solutions possibles, j’aimerais vous présenter les trois piliers d’une application : l’infrastructure de la plateforme, l’architecture interne et les fonctionnalités. Dans la suite de l’article, nous utiliserons des couleurs pour indiquer à quel pilier se rapporte le problème ou la solution.

L’infrastructure

L’infrastructure est le corps physique de votre application.

Pour une application FileMaker, les composants les plus importants de son infrastructure sont les suivants :

  • Le matériel du serveur (sur site ou dans le nuage)
  • Le système d’exploitation
  • La plate-forme Claris/FileMaker (Claris/FileMaker Server, Claris/FileMaker Pro et autres logiciels faisant partie de la plate-forme).

Une bonne infrastructure fournit en permanence un environnement sûr avec suffisamment de ressources pour que les applications fonctionnent efficacement.

Architecture

L’architecture est l’ensemble des décisions de conception de l’application, qu’elles concernent des détails de bas niveau ou des décisions de haut niveau. Toutes les décisions de conception forment un tissu continu qui définit la forme de l’application ; c’est l’architecture.

Comme nous l’avons mentionné plus haut, l’architecture couvre un très grand nombre de décisions sous différents aspects. Il est difficile de ne retenir que quelques éléments importants. Mais s’il le faut, pour une application FileMaker, voici quelques aspects auxquels nous accordons une attention particulière lorsque nous essayons d’améliorer l’architecture :

  • Schéma de données
  • Conventions de nommage et consistance
  • Décisions d’abstraction (modularité, facilité de réutilisation, niveau de redondance)
  • Lisibilité du code

Une bonne architecture permet de maintenir les coûts de maintenance et de développement à un niveau raisonnable et permet à l’application d’évoluer en permanence. En d’autres termes, une bonne architecture permet au logiciel de rester souple (facile à modifier).

Fonctionnalités

Les fonctionnalités représentent ce qu’une application peut faire pour ses utilisateurs. Les fonctionnalités décrivent la manière dont une application entend générer de la valeur pour une entreprise.

Un bon ensemble de fonctionnalités doit pouvoir répondre aux besoins actuels des entreprises/utilisateurs.

Ai-je une application patrimoniale?

Nos clients nous répètent sans cesse que « si ce n’est pas cassé, ne le réparez pas ». Cependant, il y a souvent des signes qui montrent que votre application est peut-être cassée d’une manière que vous n’avez pas encore constatée.

Les trois piliers (infrastructure, architecture, fonctionnalités) peuvent influencer la longévité d’une application. Si l’un des piliers est défaillant, votre application devient obsolète et ne peut plus s’acquitter correctement de ses responsabilités.

Voici quelques signes indiquant que c’est le cas pour votre (vos) application(s). La liste est classée en fonction des trois piliers.

Problèmes d’infrastructure

  • Perte d’assistance de la part de vos fournisseurs informatiquesVous rencontrez un problème avec FileMaker. Après avoir appelé Claris, vous apprenez que votre version de FileMaker n’est plus prise en charge et qu’ils ne peuvent pas vous aider.
  • Impossibilité de mettre à jour les logiciels/matériels – Vos appareils actuels fonctionnant avec FileMaker commencent à arriver en fin de vie. Au moment d’acheter de nouveaux appareils, vous vous rendez compte que la version de FileMaker que vous utilisez actuellement ne peut pas être installée sur les nouveaux appareils/systèmes d’exploitation.
  • Personnel – Votre informaticien part à la retraite. Le nouveau venu voit vos appareils/OS et a l’air confus.
  • Le nouveau venu voit vos appareils/OS et a l’air confus. – Si un incendie ravage votre salle des serveurs, toutes vos données disparaîtront, sans qu’il soit possible de les restaurer.
  • Problèmes de sécurité – L’idée que vos applications puissent être piratées vous effraie car vous ne savez même pas si votre application est verrouillée et qui pourrait être en mesure de l’ouvrir.

Problèmes d’architecture

  • Problèmes de performance – Votre application est lente.
  • Problèmes d’évolutivité – Votre application a du mal à évoluer (en fonction de la localisation, du nombre d’utilisateurs ou du volume de données).
  • Problèmes de stabilité/robustesse – Votre application est défectueuse.
  • Coûts de maintenance et de développement élevés – Modifier votre application coûte beaucoup plus cher qu’auparavant.
  • Faible vélocité de livraison – Les nouvelles fonctionnalités prennent une éternité avant d’être mises en production.

Problèmes de fonctionnalités

  • Impossibilité de répondre aux besoins les plus récents – Votre application ne répond pas à la demande en constante évolution de votre entreprise.
  • Perte de confiance de la part des utilisateurs – Vous entendez sans cesse des personnes recommander de nouvelles applications standard, et la saveur change toutes les deux semaines.

Quelles sont mes options pour moderniser mes applications FileMaker existantes ?

Vous êtes peut-être en train de vivre l’un ou l’autre des scénarios énumérés ci-dessus. Mais la reconstruction d’une application semble faire un trou dans le budget déjà serré de l’entreprise1.

La bonne nouvelle, c’est que la reconstruction est l’une des options qui s’offrent à vous, mais pas la seule. Permettez-moi d’abord d’énumérer les options qui s’offrent à vous, puis de vous expliquer comment faire un choix dans la section suivante.

Mise à jour de Claris/FileMaker (Infrastructure)

La mise à jour vers la dernière version de Claris FileMaker est principalement une approche d’infrastructure.

Elle permet à votre application de bénéficier des dernières fonctions de sécurité, des corrections de bogues, des améliorations de la stabilité et des performances, ainsi que du support de Claris.

Elle permet également aux développeurs d’exploiter les nouvelles fonctionnalités de la dernière version de FileMaker pour améliorer l’architecture de l’application ou créer de nouvelles fonctionnalités.

Quels sont les problèmes que cette approche permet de résoudre ?

  • Problèmes de sécurité
  • Perte de soutien de la part de vos fournisseurs informatiques
  • Impossibilité de mettre à jour les logiciels/matériels

Réhébergement dans le nuage (infrastructure)

Il s’agit de déplacer l’application complète vers un nouveau site afin de bénéficier d’un nouveau matériel et/ou d’une technologie “cloud”.

Quels sont les problèmes que cette approche permet de résoudre ?

  • Absence de capacité de reprise après sinistre
  • Problèmes de sécurité

Refonte/Re-Architecture (architecture)

Il s’agit de restructurer le code existant afin de supprimer la dette technique et d’améliorer l’application. L’application aura la même apparence et le même comportement.

Quels sont les problèmes que cette approche permet de résoudre ?

  • Coûts de maintenance et de développement élevés (notez que le projet de refonte a son propre coût)
  • Faible vitesse de livraison
  • Problèmes de performance
  • Problèmes d’évolutivité
  • Problèmes de stabilité/robustesse

Reconstruction (infrastructure, architecture)

Il s’agit de reconstruire et de réécrire à partir de zéro, tout en conservant le champ d’application et les spécifications du projet d’origine. L’application reconstruite sera dotée de nouvelles interfaces utilisateur, d’une logique de “back-end” et d’intégrations qui permettront d’offrir les mêmes fonctionnalités que l’application d’origine.

Cette approche devrait sans aucun doute être combinée avec la mise à jour de votre plateforme Claris/FileMaker vers la dernière version afin de tirer parti des derniers outils de développement disponibles.

Quels sont les problèmes que cette approche permet de résoudre ?

  • Coûts de maintenance et de développement élevés(notez que le projet de refonte a son propre coût)
  • Faible vitesse de livraison
  • Problèmes de performance
  • Problèmes d’évolutivité
  • Problèmes de stabilité/robustesse
  • Problèmes de sécurité
  • Perte de soutien de la part de vos fournisseurs informatiques
  • Impossibilité de mettre à jour les logiciels/matériels

Encapsulation (fonctionnalités)

L’encapsulation consiste à laisser l’application en place, à ajouter des services et une couche API, à créer une nouvelle interface utilisateur et à se connecter à la base de données de l’ancienne application.

Cette approche ne modifie pas beaucoup l’application d’origine, mais elle permet d’étendre les fonctionnalités de l’application d’origine en faisant table rase du passé.

Quels sont les problèmes que cette approche permet de résoudre ?

  • Impossibilité de répondre aux besoins les plus récents
  • Perte de confiance des utilisateurs

Remplacement (infrastructure, architecture, fonctionnalités)

Reconstruire et repenser de nouvelles applications sur la base de nouvelles exigences. Le remplacement peut se faire en utilisant la dernière version de la plateforme Claris/FileMaker ou d’autres technologies qui répondent à vos besoins, comme une application web personnalisée utilisant Laravel, ou en utilisant une autre plateforme low-code comme OutSystems ou Toca.

Quels sont les problèmes que cette approche permet de résoudre ?

  • Perte de soutien de la part de vos fournisseurs informatiques
  • Impossibilité de mettre à jour les logiciels/matériels
  • Absence de capacité de reprise après sinistre
  • Problèmes de sécurité
  • Problèmes de performance
  • Problèmes d’évolutivité
  • Problèmes de stabilité/robustesse
  • Coûts de maintenance et de développement élevés
  • Faible vitesse de livraison
  • Impossibilité de répondre aux besoins les plus récents
  • Perte de confiance des utilisateurs

Quelle(s) option(s) dois-je choisir ?

Maintenant que vous connaissez toutes les options disponibles pour moderniser une application patrimoniale et les implications de ces décisions, voyons comment choisir celle qui convient le mieux à votre organisation.

Tout d’abord, soyez à jour (mettez à jour votre plateforme Claris/FileMaker)

Supposons que vous utilisiez une version non prise en charge de la plate-forme Claris/FileMaker2. Dans ce cas, vous devez mettre à jour Claris/FileMaker vers une version prise en charge, de préférence la dernière version ou une version ultérieure, en fonction de la stabilité de la version actuelle.

Je pourrais écrire un article entier sur les raisons pour lesquelles vous devriez mettre à jour, mais je ne le ferai pas ici. Sachez qu’il est pratiquement inutile d’évoquer d’autres options (hormis le remplacement si vous décidez de quitter la plate-forme Claris/FileMaker) sans commencer par une mise à jour. C’est le strict minimum si vous voulez vraiment moderniser votre application.

Si votre budget est serré, envisagez au moins cette option.

Envisagez le réhébergement dans le nuage

Parfois, vous devez mettre à niveau votre matériel pour installer la dernière version de la plate-forme Claris/FileMaker. Dans ce cas, envisagez un réhébergement dans le cloud. L’hébergement dans le nuage vous libère complètement de la gestion de votre matériel, avec l’avantage supplémentaire d’options de sauvegarde pratiques et de solutions de reprise après sinistre faciles à mettre en œuvre. Le coût de l’informatique dématérialisée diminue chaque année.

Déterminez si les fonctionnalités de votre application sont toujours utiles

Je ne sais pas pourquoi, mais chaque fois que je dis « Les logiciels sont censés être souples », les gens rient. C’est pourtant le cas. Les logiciels sont créés pour répondre aux besoins des utilisateurs, qui peuvent évoluer (et ont tendance à le faire).

La plupart des applications existantes ont quelques années devant elles. Vous devez donc déterminer si votre application apporte toujours la valeur qu’elle est censée apporter. Votre application répond-elle toujours aux besoins des utilisateurs ?

Avant de répondre à votre propre questionnement, interrogez vos utilisateurs, observez-les ou envoyez-leur des sondages pour connaître leur avis et recueillir leurs commentaires.

Les caractéristiques actuelles sont suffisantes

Félicitations, vous avez un design intemporel si votre application offre toujours les fonctionnalités dont les utilisateurs ou l’entreprise ont besoin. Cela signifie également que les problèmes qui vous poussent à moderniser votre application ne sont pas liés à ses fonctionnalités, mais plutôt à l’infrastructure et à l’architecture. Dans ce cas, la refonte ou la reconstruction de votre application sera votre meilleure option.

La refonte tend à être plus appropriée entre les deux si votre application est petite et pas très complexe (pour simplifier à l’extrême, disons que petite signifie que votre application a moins de dix tables). Dans le cas contraire, la reconstruction peut s’avérer plus économique, étant donné qu’elle n’exige pas des développeurs qu’ils apprennent les habitudes et les intentions des développeurs précédents (il est toujours difficile de porter les chaussures d’autrui).

Les fonctionnalités actuelles sont insuffisantes

Si les fonctionnalités de votre application ne sont plus adaptées, l’encapsulation ou le remplacement sont vos meilleures options.

Entre les deux, envisagez l’encapsulation si votre application existante peut encore fournir de manière compétente ce qu’elle fournissait auparavant (c’est-à-dire sans problème de stabilité, de performance ou d’évolutivité), mais qu’il est trop difficile d’ajouter de nouvelles fonctionnalités à sa base de code. Dans le cas contraire, le remplacement est la meilleure solution si votre application est cassée (elle coche la majorité des points problématiques de notre liste de contrôle).

Arbre de décision

Vous ne savez toujours pas quoi faire ?

Si vous souhaitez une solution de modernisation adaptée à vos besoins, n’hésitez pas à nous contacter. Nous disposons d’analystes d’affaires et d’experts techniques qui peuvent vous aider à identifier vos points problématiques et vos besoins, à élaborer des stratégies et à formuler des solutions, ainsi qu’à mettre en œuvre et à fournir ces solutions.

Note :

  1. Pour les futurs lecteurs, afin de situer le contexte, au moment de la rédaction de cet article (avril 2023), le monde subit les conséquences du COVID ; les guerres se poursuivent activement ; l’économie est plutôt mauvaise partout dans le monde ; les gens sont licenciés à gauche et à droite, et le budget est serré, partout, tout le temps.
  2. 2. Consultez la Politique de Soutien de Claris pour savoir si votre version est toujours prise en charge.