Création d'application sur mesure et d'application métier

La mission d'Emagma est de faire exister vos idées en créant des applications numériques : tous les jours, nous recherchons la meilleure façon de vous rendre service en créant des fonctionnalités utiles pour votre entreprise, vos équipes et vos clients.

Pour bien comprendre notre approche, il faut déjà revenir sur la notion de logiciel sur mesure.

Qu'est-ce qu'un logiciel sur mesure ?

Le logiciel sur mesure est un logiciel qui a été conçu pour répondre à votre besoin spécifique.

Au lieu d'acheter un logiciel que tout le monde peut acquérir à l'identique, vous pouvez opter pour la création d'un logiciel spécifique au fonctionnement de votre entreprise.

Vous allez dans ce cas demander à un prestataire informatique de concevoir et de coder un logiciel avec des fonctionnalités sur mesure.

Dans le langage courant, un logiciel sur mesure est souvent appelé une application métier, c'est à dire une application qui vient répondre à un enjeu de votre métier.

Qu'est-ce qu'une application web ?

Aujourd'hui, il existe 2 types de logiciels :

  • Ceux qui s'installent sur l'ordinateur.
  • Ceux qui s'utilisent sur internet dans un navigateur, ce sont les applications web, également appelées web app.

Les applications web sont aujourd'hui dominantes car elles présentent des avantages notables :

  • Une application web peut être mise à jour à tout moment sans action de l'utilisateur, tous les utilisateurs ont la version la plus récente.
  • Une application web s'utilise quelque soit la configuration du poste de travail, elle nécessite un navigateur comme Firefox, Chrome, Edge ou Safari
  • Une application web peut fonctionner sur plusieurs terminaux : le smartphone, un ordinateur, mais aussi un écran TV.

Contrairement aux idées reçues, une application web peut être installée sur un ordinateur ou un smartphone et proposer des fonctionnalités hors ligne, c'est à dire y compris quand la connexion à internet n'est pas disponible.

C'est un cas à prendre en compte si votre application doit être utilisée en déplacement, ou dans des zones à la connectivité limitée, voire en zone blanche.

En outre, les applications web sont facilement modifiables, ce qui explique que le développement d'applications web sur mesure est devenu courant.

Créer une application métier

Votre entreprise évolue, grandit, s'adapte et résout des problèmes métier au quotidien.

Les logiciels que vous utilisez peuvent être tout à fait adaptés un jour, et source de blocages quelques temps plus tard, notamment si votre organisation a changé.

Créer une application métier devient une solution lorsque les logiciels grand public ne vous permettent plus de travailler efficacement.

Avant de lancer la création d'une application métier, nous vous invitons à comparer les avantages et inconvénients d'une application sur mesure.

En quelques mots, une application métier est intéressante pour :

  • Mettre en place des outils conformes à votre organisation.
  • Répondre à des enjeux d'efficacité : vous optimisez le fonctionnement et les process de votre entreprise.

En somme la question que vous devez résoudre est : l'entreprise doit-elle se plier au fonctionnement des logiciels qu'elle utilise, ou bien les logiciels doivent-ils s'adapter à la vision que l'entreprise porte ?

Réussir une application sur mesure grâce à une étude

Vous avez le sentiment que la création d'une application métier est la solution pour votre entreprise, vos recherches de la solution miracle déjà implémentée n'ont pas abouti, et vous avez une vision assez claire des fonctions métier à implémenter... Vous êtes sur la bonne piste !

Mais avant de lancer une consultation pour développer une application, nous vous recommandons de procéder en 4 étapes.

Benchmarker les applications existantes

Nos équipes sont rodées pour trouver et comparer des solutions qui sont en mesure de répondre à vos besoins.

Pour éviter de réinventer la roue, il convient de faire une comparaison poussée de vos besoins avec les outils du marché.

Notre étude de concurrence comparative vous permet :

  • De vérifier que votre sentiment est bien fondé, il n'y a pas de solution équivalente et adaptable pour répondre à votre besoin fonctionnel.
  • De collecter les bonnes idées qui peuvent compléter les vôtres.

Étude UX, l'expérience utilisateur

Utilisée depuis des décennies dans l'industrie, l'étude UX est aujourd'hui un pilier de la démarche Startup et de la création d'applications innovantes.

L'étude UX repose sur plusieurs techniques d'animation qui permettent de challenger votre concept et d'identifier ses points de risque, les fonctionnalités qui proposent de la valeur, et celles qui sont secondaires.

L'étude UX permet aussi de tester très rapidement une représentation visuelle de l'application auprès de publics similaires aux futurs utilisateurs.

Prévoir le temps et le budget pour réaliser cette étude UX est donc un facteur majeur pour la réussite de votre application métier.

Prototypage

Le prototypage d'une application sur mesure consiste à créer une « fausse » application qui n'a pas de réelle utilité, si ce n'est qu'elle peut être testée, c'est la vision que l'on veut réaliser.

Le prototype sera présenté à des utilisateurs témoin, à vos équipes, à un financeur, etc.

Il permet d'identifier très tôt certaines limites qui devront être levées.

Votre prototype est convaincant ? C'est bon signe, vous pouvez engager la conception fonctionnelle et le développement.

Conception fonctionnelle d'une application métier

Une fois votre étude UX et votre prototype validé, vous allez devoir définir précisément le fonctionnement de l'application.

Nous parlons de conception fonctionnelle ou de spécifications fonctionnelles.

Certaines fonctionnalités sont évidentes alors que d'autres nécessitent de détailler les mécanismes internes.

Si vous optez pour un développement en approche agile, ces spécifications n'ont pas besoin d'être définitives dès le début du projet : vous allez spécifier les principales fonctions qui créent de la valeur pour les premières semaines de développement.

Pendant que le développement de l'application débutera, vous serez amené à spécifier le fonctionnement des prochaines itérations, et ainsi de suite jusqu'à obtenir une version exploitable de votre application.

Développement d'une application sur mesure

Le développement d'une application métier, la programmation ou le codage - c'est la même chose - est souvent le poste le plus consommateur en temps et en budget pour votre projet.

Pour autant, mieux votre projet est préparé, et mieux il se déroulera.

Plusieurs organisations sont possibles pour garder le cap et de pas s'éloigner de l'idée initiale.

Nous recommandons une approche agile avec une organisation en itérations : vous définissez un espace temps, par exemple 3 semaines, pendant lesquelles l'équipe de développement a un objectif à réaliser, avec des fonctions précises.

Les itérations régulières sont autant de points de contrôles et vous permettent de maîtriser le déroulé du projet, et de prendre régulièrement des décisions pour adapter la vision initiale avec la réalisation concrète.

Exemples d'applications sur mesure

Le terme « application sur mesure » n'est pas toujours clair, peut-être parce que « application » est très générique, et qu'en français il fait penser aux applications mobiles, or ces dernières ne sont que rarement assimilées à des logiciels pour l'entreprise.

Pour être plus concret, voici quelques exemples d'applications qui peuvent être réalisées pour répondre spécifiquement à un besoin professionnel.

Création d'un intranet ou d'un extranet

Un intranet est un logiciel pour faciliter la gestion de l'information au sein de l'entreprise.

Uniquement accessible par les collaborateurs connectés dans le réseau privé de l'entreprise, il permet de présenter de l'information, d'enregistrer des données et d'effectuer le suivi d'opérations, comme par exemple la gestion d'un parc de véhicules : caractéristiques, disponibilité, emprunt, réparation.

Nous pouvons parler d'extranet lorsque l'outil permet aussi de se connecter en dehors du réseau de l'entreprise, via une simple connexion internet.

Création d'une passerelle

Une passerelle avec un outil de gestion représente un développement sur mesure assez courant pour permettre à votre outil de gestion - gestion de stock, gestion commerciale, logiciel de facturation - avec une autre solution.

Un exemple très simple consiste à connecter un site internet avec la facturation pour générer des factures conformes qui seront centralisées dans la gestion comptable.

Création d'une API

La création d'une API vous permet d'exposer des informations de votre entreprise, soit pour un usage interne - une autre application de votre entreprise va les utiliser - soit pour un usage externe - c'est le cas lorsque Météo France expose les données de la météo.

Création d'une application mobile

Une application mobile est l'exemple même de l'application qui change le fonctionnement de l'entreprise parce qu'embarquée sur un terminal personnel.

Tout le monde possède un smartphone, et l'intallation d'une application métier permet au collaborateur et à son équipe d'utiliser tout le potentiel du terminal mobile : prise de photo, scanner un code barre, enregistrer et partager une information etc.

Améliorer le système d'information

Terminons avec le Système d'information qui repose souvent sur plusieurs logiciels combinés dans les premières années de l'entreprise, et qui peut se tourner vers des applications spécifiques plus adaptées et plus évolutives, mieux intégrées aussi dans le quotidien des équipes.

Solutions techniques pour créer des applications métier

Les solutions techniques pour créer des applications sur mesure sont nombreuses et nous ne pouvons les lister de façon exhaustive.

Emagma a fait le choix de technologies open source parce qu'elles ne rendent pas nos clients captifs et qu'ils peuvent à tout moment choisir leur prestataire, sans être contraint par un modèle de license restrictif.

Symfony, le framework pour le développement sur mesure

Symfony est un outil développé en PHP et existe depuis 2007.

Il a largement évolué depuis et reste la référence par son innovation : une nouvelle version est publiée tous les 6 mois, et une version long terme tous les 2 ans.

Symfony est aujourd'hui une très belle illustration que open source et qualité industrielle peuvent co-exister dans l'intérêt des entreprises.

Frontend réactif

Le terme « frontend » désigne les interfaces, aujourd'hui sous les projecteurs car l'expérience utilisateur est au coeur du succès de nombreux projets.

Une réussite des dernières années a été la création d'interfaces réactives, c'est à dire d'interfaces qui fonctionnent sur le web comme les logiciels d'antan : pas de rechargement de page, une vitesse d'exécution proche de l'instantané.

Pour faire simple, une interface réactive se comporte comme ce que nous connaissons des applications mobiles, mais peut s'utiliser sur une application web.

Les équipes d'Emagma ont choisi VueJS pour créer des interfaces réactives.

Sylius

Sylius est une solution e-commerce moderne pour les entreprises qui ne veulent pas se contenter d'une boutique en ligne traditionnelle.

Sylius ecommerce est la solution adaptée pour le service sur mesure et une intégration parfaite dans votre système d'information.

ApiPlatform

Api Platform est un socle permettant la création d'API.

Son rôle est d'exposer des données pour la consultation et la modification.

Une API est donc un moyen d'exposer des données pour qu'un autre logiciel, ou une autre application, puisse les utiliser.

Les API ont pris en quelques années une importance particulière car elles permettent l'inter-connexion de plusieurs applications qui peuvent ainsi communiquer entre elles.

Gestion de la donnée et routines

Pour terminer cette présentation des usages du développement spécifique, nous présentons des usages qui ne passent pas par une interface utilisateur.

Transformation de données

D'autres besoins dans l'entreprise peuvent nécessiter la création d'un développement sur mesure.

C'est le cas de la transformation de données et de leur transfert entre systèmes hétérogènes.

La transformation de données, « data transformation » ou encore conversion de données est une étape habituelle des systèmes informatiques.

Elle vise à transformer une information pour qu'elle puisse être utilisée par un autre logiciel.

L'utilisation de « data transformers » et de routines de transformation sont généralement au coeur du processus qui permet de faire passer une information d'un logiciel à un autre.

On y ajoute également les API qui permettent de les exposer et ainsi de disposer du point de communication entre les logiciels.

Importer et exporter des données

L'autre besoin récurrent dans l'entreprise consiste à pouvoir exporter des données du système d'information, ainsi que les injecter à nouveau dans ce système d'information.

Les usages sont multiples, mais généralement l'objectif est de pouvoir traiter des modifications de la donnée en lot.

Un utilisateur expérimenté travaillera toujours plus rapidement sur un classeur Excel ou LibreOffice que sur une interface web.

Lui donner la possibilité d'extraire les informations dans un format excel pour les modifier, puis les réinjecter dans le système est un process très performant.

Un exemple concret est la mise à jour de conditions tarifaires sur un catalogue de produits.

Il faut pour cela pouvoir importer des données facilement dans le système, soit par l'utilisateur ou par une routine automatisée.

L'import de fichier plat, généralement au format csv est un cas fréquent, mais d'autres formats propriétaires peuvent nécessiter une adaptation à ce format, c'est par exemple le cas des fichiers du cadastre qui ont un format MAJIC 3 spécifique.

Automatisation des tâches et routines

Le dernier cas que nous souhaitons présenter est la création de routine automatisée.

Leur fonction peut être très variée : ajustement de stock, envoi d'alertes par mail ou sms, transfert de données, transmission d'informations logistique etc.

En fait les usages sont infinis, l'important est de comprendre que la création d'une tâche automatisée a pour rôle de faciliter la vie de l'entreprise en faisant 2 choses.

La première, c'est d'effectuer un traitement automatisé, c'est la fonction.

La seconde, c'est d'assurer une gestion des erreurs : si une étape se passe mal et génère une erreur, cette erreur doit être connue et traitée pour ne pas compromettre tout le traitement.

Emagma, spécialiste applications métier et développement sur mesure

Le développement sur-mesure est notre quotidien : tous les jours, nous identifions pour nos clients les solutions prêtes à l'emploi qui répondent efficacement à leur besoin général, puis nous développons des fonctionnalités métier qui viennent créer de la valeur ajoutée.

Notre objectif est d'améliorer l'efficacité de l'entreprise et de ses équipes.