IREX - Qualification logicielle : les concepts fondamentaux expliqués à travers le projet ACRA

Pourquoi qualifier un logiciel avant sa mise en production ? Découvrez les concepts fondamentaux de la qualification logicielle illustrés avec le projet ACRA : objectifs, niveaux de qualification, cri

 · 5 min read

SOMMAIRE :
1. Introduction
2. Qu'est-ce que la qualification logicielle ?
2.1 Pourquoi qualifier un logiciel ?
2.2 Les principaux objectifs de la qualification
3. Les concepts fondamentaux illustrés avec ACRA
3.1 Les exigences fonctionnelles
3.2 Les critères d'acceptation
3.3 Les anomalies et les non-conformités
4. La qualification d'une plateforme de supervision : le cas ACRA
4.1 Vérifier les fonctionnalités essentielles
4.2 Vérifier la sécurité de la plateforme
4.3 Vérifier l'exploitation de la solution
5. Conclusion
6. Voir aussi

1. Introduction

Développer une application fonctionnelle ne garantit pas qu'elle soit prête à être utilisée en production. Avant qu'un logiciel soit mis à disposition des utilisateurs, il doit démontrer qu'il répond aux besoins exprimés, qu'il fonctionne correctement dans son environnement cible et qu'il respecte les exigences de qualité définies par l'organisation.

Cette étape est appelée qualification logicielle. Elle consiste à vérifier méthodiquement que le logiciel répond aux attentes fonctionnelles, techniques et opérationnelles avant son déploiement.

Dans cet article, nous allons découvrir les principaux concepts de la qualification logicielle en nous appuyant sur un cas concret : ACRA, une plateforme de supervision regroupant notamment Prometheus, Grafana, Keycloak, Zabbix, Thanos et Jenkins. Ce projet servira de fil conducteur afin d'illustrer les notions essentielles rencontrées dans une démarche de qualification.

Cycle général de la qualification logicielle

2. Qu'est-ce que la qualification logicielle ?

La qualification logicielle est une démarche permettant de démontrer qu'un système satisfait les exigences pour lesquelles il a été conçu. Elle repose sur la réalisation de vérifications systématiques afin d'apporter un niveau de confiance suffisant avant la mise en production.

Contrairement à une simple démonstration du logiciel, la qualification suit une méthodologie rigoureuse basée sur des scénarios définis à l'avance, des résultats attendus et des critères de validation clairement établis.

2.1 Pourquoi qualifier un logiciel ?

La qualification permet principalement de réduire les risques liés à la mise en production. Elle vise notamment à détecter les anomalies avant qu'elles n'affectent les utilisateurs ou les services de l'entreprise.

Dans le cadre d'ACRA, une mauvaise configuration pourrait par exemple empêcher la collecte des métriques, bloquer l'authentification des utilisateurs ou produire des tableaux de bord incomplets. Ces dysfonctionnements pourraient compromettre la supervision de l'infrastructure.

  • Garantir que les fonctionnalités répondent aux besoins métier.
  • Vérifier la conformité aux exigences techniques.
  • Identifier les anomalies avant la production.
  • Limiter les risques opérationnels.
  • Augmenter la confiance dans la solution déployée.

2.2 Les principaux objectifs de la qualification

La qualification ne consiste pas uniquement à vérifier que le logiciel fonctionne. Elle permet également de s'assurer que chaque fonctionnalité produit le résultat attendu dans des conditions normales d'utilisation.

Pour ACRA, cela signifie notamment vérifier que :

  • les utilisateurs peuvent accéder aux différents services autorisés ;
  • les métriques remontent correctement depuis les équipements supervisés ;
  • les tableaux de bord affichent des informations cohérentes ;
  • les alertes sont déclenchées lorsque les seuils définis sont atteints ;
  • les composants communiquent correctement entre eux.

3. Les concepts fondamentaux illustrés avec ACRA

Avant de réaliser une campagne de qualification, plusieurs concepts doivent être clairement définis. Ils permettent de savoir ce qui doit être vérifié, comment effectuer les vérifications et à quel moment considérer qu'une fonctionnalité est conforme.

3.1 Les exigences fonctionnelles

Une exigence fonctionnelle décrit un besoin auquel le système doit répondre. Elle représente une capacité attendue par les utilisateurs ou par l'organisation.

Par exemple, dans ACRA, plusieurs exigences peuvent être définies :

  • un utilisateur authentifié doit pouvoir accéder à Grafana ;
  • Prometheus doit collecter les métriques des serveurs supervisés ;
  • les équipements réseau doivent être visibles dans la plateforme de supervision ;
  • les alertes critiques doivent être générées automatiquement en cas de panne.

Chaque exigence servira ensuite de référence lors des vérifications réalisées pendant la qualification.

3. Les principaux niveaux de qualification illustrés avec ACRA

La qualification logicielle ne consiste pas à lancer quelques tests à la fin du développement. Elle s'effectue progressivement tout au long du cycle de vie de l'application afin de réduire les risques avant la mise en production.

Dans le projet ACRA, chaque évolution d'un composant (Prometheus, Grafana, Keycloak, Jenkins, Zabbix ou encore Thanos) est validée à plusieurs niveaux avant d'être considérée comme exploitable.

3.1 Qualification fonctionnelle

La qualification fonctionnelle consiste à vérifier que chaque fonctionnalité répond au besoin exprimé.

Prenons l'exemple de Prometheus intégré à Keycloak.

Le besoin fonctionnel est simple :

  • un utilisateur autorisé doit pouvoir accéder à Prometheus ;
  • un utilisateur désactivé ne doit plus pouvoir se connecter ;
  • les métriques doivent être consultables après authentification.

Les cas de test permettront donc de vérifier :

  • la redirection automatique vers Keycloak ;
  • la réussite de l'authentification ;
  • le refus des identifiants invalides ;
  • la consultation des métriques Prometheus.
Illustration — Qualification fonctionnelle dans ACRA

3.2 Qualification technique

Une application peut fonctionner correctement tout en étant mal configurée. La qualification technique permet donc de vérifier le bon fonctionnement de l'infrastructure qui supporte la solution.

Dans ACRA, cela concerne notamment :

  • la disponibilité des services Docker ;
  • la communication entre les différents composants ;
  • la configuration HTTPS ;
  • la disponibilité des exporters ;
  • la collecte des métriques.

Par exemple, lorsqu'un nouveau serveur Linux est ajouté à l'infrastructure, plusieurs vérifications sont réalisées :

  1. installation de node_exporter ;
  2. ajout de la cible dans le fichier prometheus.yml ;
  3. rechargement de la configuration ;
  4. vérification que la cible apparaît dans Status → Targets avec l'état UP ;
  5. validation que les nouvelles métriques sont bien collectées.

Cette étape garantit que l'infrastructure de supervision fonctionne correctement avant même de vérifier les tableaux de bord.

3.3 Qualification opérationnelle

Une plateforme de supervision doit également être simple à exploiter par les administrateurs au quotidien.

La qualification opérationnelle consiste donc à vérifier que toutes les opérations d'administration prévues sont réellement possibles.

Dans le cas d'ACRA, plusieurs scénarios peuvent être qualifiés :

  • ajouter un nouvel équipement à superviser ;
  • supprimer un équipement devenu obsolète ;
  • créer un nouveau dashboard Grafana ;
  • modifier un tableau de bord existant ;
  • supprimer un dashboard ;
  • ajouter une nouvelle métrique dans un dashboard ;
  • vérifier que seules les personnes autorisées peuvent effectuer ces opérations.

Ces vérifications permettent de s'assurer que la plateforme pourra évoluer facilement sans dégrader la qualité du service.

Illustration — Exploitation quotidienne de la plateforme ACRA

4. Conclusion

La qualification logicielle constitue une étape indispensable avant toute mise en production. Elle permet de réduire les risques, de garantir la conformité des fonctionnalités et de vérifier que l'infrastructure répond aux exigences techniques et opérationnelles.

À travers le projet ACRA, nous avons vu qu'une qualification efficace ne se limite pas à vérifier qu'une application démarre correctement. Elle consiste également à contrôler l'authentification, la collecte des métriques, la supervision des équipements, les droits d'accès ainsi que les opérations quotidiennes réalisées par les administrateurs.

En appliquant cette démarche de manière systématique, il devient possible d'améliorer la fiabilité de la plateforme, de détecter les anomalies plus rapidement et de sécuriser les déploiements vers les environnements de production.

5. Voir aussi


DJIEMO KEMBOU GRACE RIHANNA

Etudiante en cybersécurité

No comments yet

No comments yet. Start a new discussion.

Add Comment