Pour réaliser l’inventaire technologique de votre application, vous devez recenser les technologies utilisées par l’application.
Les applications sont ce que l’on appelle des localisateurs de services ou service locators (Une sorte de zone de stockage avec tous les composants qui fonctionnent ensemble). Elles hébergent un jeu composants appelés « composants d’application » qui procurent différents services pour la prise en charge des requêtes.

Pour cela, vous devez :

Identifier et recenser

Les composants applicatifs actifs

Les composants d’une application sont les éléments essentiels d’une application, ils sont liés par le fichier manifeste de l’application qui décrit chaque composant et comment ils interagissent. Il existe quatre composants principaux qui peuvent être utilisés dans une application :

    1. Activité : Une activité représente le bloc de base d’une application. Elle correspond à la partie présentation de l’application et fonctionne par le biais de vues qui affichent des interfaces graphiques. Elle répond donc aux actions utilisateurs et réagit à son cycle de vie.
    2. Service : Un service est un composant qui fonctionne en tâche de fond, de manière invisible. Il ne nécessite pas d’interface utilisateur contrairement à l’activité. Ses principales utilisations sont la mise à jour de sources de données ainsi que d’activités visibles et le déclenchement de notifications, il possède un cycle de vie différent d’une activité.
    3. Fournisseur de contenu : Un fournisseur de contenu (content providers) permet de gérer et de partager des informations. Un même fournisseur permet d’accéder à des données au sein d’une application et entre applications (partage des données).
    4. Écouteur d’intention diffusée : Il permet à une application de récupérer des informations générales telles que les événements calendaires, la réception d’un SMS, la batterie faible, etc.

Pour chacun des composants identifiés vous devez recenser les composants techniques et les technologies utilisées telles que :

  • les documents d’architecture,
  • les spécifications techniques,
  • les gestionnaires de sources (gitlab, github),
  • les informations provenant des développeurs,
  • et inspecter et explorer les ressources techniques (code source, BDD, fichiers de configuration, serveurs, etc.

Fonctionnement des composants applicatifs

Applications/Produit/Système

  • Le Frontend correspond au composant applicatif que l’utilisateur va voir.
  • Le Backend, lui, est du côté de l’infrastructure serveur ou cloud.
  • L’API va permettre de faire communiquer les différents éléments.

Lorsque l’on parle d’une application, on parle de tout un système.

    Schéma application produit système

    Exemples de composants applicatifs

    Schéma exemple de composants applicatifs

    Comment vérifier que ces versions sont maintenues à jour ?

    Il existe plusieurs méthodes pour savoir si les versions de vos composants sont à jour :

    • Le site web de l’éditeur ou du composant technique, il y a généralement une page consacrée sur les versions supportées/releases par l’éditeur ;
    • Le numéro de version ; gestion sémantique de version (SemVer)
      MAJEUR.MINEUR.CORRECTIF (exemple 7.4.16)
      Type de release : ACTIVE (l’éditeur travaille actuellement sur cette version), MAINTENANCE (Version active où l’éditeur va garantir pendant un certains temps des corrections et des mises à jour), LTS (Longue Terme Support, version active pendant plusieurs années afin de laisser du temps aux éditeurs de passer à la version majeur suivante) ;
    • Date de la dernière release.
    • Packages, Bundles, Librairies : ce sont des ensembles de fonctions qui peuvent être intégrées dans des applications.
    • Une application logicielle est livrée sous forme d’unités appelées « packages ». Un package est un ensemble de fichiers et de répertoires requis par un produit logiciel. Il est habituellement conçu et créé par le développeur d’applications après le développement du code de l’application. Chaque produit logiciel doit être créé sous forme d’un ou plusieurs packages afin de faciliter son transfert sur un support de distribution. Les bundles sont généralement utilisés pour transmettre des données entre diverses activités. Ces codes peuvent être accessibles en Open Source, c’est-à-dire qu’ils sont distribués sous une licence permettant à quiconque de lire, modifier ou redistribuer. Ils ne sont pas « libres », mais ont pour vocation de permettre un développement collaboratif.
    • Ils représentent des sous-composants techniques, ils doivent donc faire l’objet d’un suivi particulier et régulier.
      Gestionnaire de packages : permet d’installer et suivre les différentes mises à jour :
      • NPM (Node JS)
      • Nuget (.NET)
      • Maven (Java)
      • Packagist
    • Vous devez vérifier les fichiers de configuration référençant les packages utilisés par l’application :
      Composer.json, package.json, pom.xml, etc.
    • Recenser par composant applicatif les composants techniques + le numéro de la version utilisée + date de sortie de la version + son type (active, maintenu, LTS)

    Les applications EtOH Digital

    Chez EtOH Digital, nous proposons deux types d’applications :

    • Des applications sur-mesure : Celles-ci nécessitent des contrats de maintenance préventive et corrective, Nous mettons ainsi à jour les versions intermédiaires des frameworks (1.1 à 1.2 à 1.3), toutefois, les évolutions de version qui sont généralement lourdes (de 1 à 2 par exemple) ne sont pas incluses, elles relèvent de la maintenance évolutive qui est une prestation à part.
    • Quant à nos applications EtOH, nous avons fait le choix d’applications web afin de vous garantir sécurité et mise à jour permanente. En effet, les web app se mettent à jour automatiquement à chaque nouvelle connexion.
    Les différents types de logiciels

    Les différents types de logiciels

    Notre offre de services est large. Elle comporte aussi bien des logiciels sur mesure, conçus à partir d’une demande client spécifique que des applications ou encore des SaaS. Tous ces outils ont le même objectif : faciliter votre activité en augmentant votre...

    lire plus
    Qu’est-ce qu’une PWA ?

    Qu’est-ce qu’une PWA ?

    La PWA (Progressive Web App) est un modèle de conception, où l'objectif principal est de travailler ou de fonctionner sur n'importe quelle plate-forme (où l'appareil est capable d'exécuter un navigateur mobile, bureau ..) développé par Google. Construit à l'aide de...

    lire plus
    Qu’est-ce que Firebase ?

    Qu’est-ce que Firebase ?

    Les applications ne cessent de faire leur apparition et tous les systèmes mobiles sont concernés. Pour les créer, les développeurs comme nous chez EtOH Digital ont souvent recours à des plateformes de développement d’application comme Firebase. Il s‘agit d’une...

    lire plus
    Pourquoi concevoir une application mobile ?

    Pourquoi concevoir une application mobile ?

    En 2020, si on compare les performances d'une application à un site e-commerce en version mobile, le taux de conversion est 7 fois supérieur via l'application. Cela est dû aux nombreux avantages de l’application mobile. Cependant, créer une application mobile pour...

    lire plus
    Réaliser un cahier des charges d’application mobile

    Réaliser un cahier des charges d’application mobile

    Avant de pouvoir commencer la conception et la réalisation de votre application mobile, vous devrez passer par l’étape de la rédaction du cahier des charges. C’est la pierre angulaire de votre application mobile. Il explique l’objectif de l’application, en d'autres...

    lire plus
    De quel type d’application mobile ai-je besoin ?

    De quel type d’application mobile ai-je besoin ?

    Applications natives, PWA ou encore hybrides, applications iOS et Android. Vous avez du mal à vous y retrouver ? Compliqué de savoir exactement ce que l’on souhaite développer sans connaissance technique. Application nativeSi votre application est native et qu’est...

    lire plus
    Comment héberger mon application mobile ?

    Comment héberger mon application mobile ?

    L’hébergement d’applications mobile vous permet de rendre vos applications facilement accessibles. Les critères à prendre en compte pour choisir votre type d’hébergement sont : l’espace de stockage la bande passante le nombre de nom de domaine le nombre de compte...

    lire plus
    Quel est l’intérêt du recettage pour mon projet ?

    Quel est l’intérêt du recettage pour mon projet ?

    Qu’est-ce que le recettage ?Le recettage lors d’un projet permet de corriger les remarques faites ou les imperfections remarquées lors du test d'acceptation. Cela permet de déployer un site ou une application 100% fonctionnel, répondant aux besoins des utilisateurs....

    lire plus