Portail / Sujets autour de la programmation / Programmation C/C++ sous Linux / Serveur d'application avec Qt 6 / Documentation technique(Sommaire)

Réalisation d'une application de test.

Mise à jour du 14/11/2024.

Pour pouvoir mettre au point le serveur d'application, il faut pouvoir disposer d'ua moins un application web. Comme nous l'avons vu, pour pouvoir être lancé de manière générique directement depuis le serveur, cette application, ses services et ses ressources doivent être enregsitrées au sein d'une librairie dynamique qui sera déclarée dans la configuration du serveur et chargée dynamiquement par ce dernier.

Contexte d'emploi.

Pour permettre l'accès à des ressources statiques (Bootstrap), le serveur d'application soutiendra deux 2 applications :

  1. La première est l'application de gestion de sites statiques de classe WebSite. Cette application soutiendra deux sites :

    1. Le premier donnera accès aux librairies Bootstrap référencées par le chemin /doc/bs.
    2. Le second sera un site interne référencé par le chemin /doc auquel sera associé un sous-répertoire supportant les ressources à délivrer.
  2. La seconde application se nommera "pastest" et sera une application spécifique de classe PasTest. Son contexte de commutation sera /test. Le détail de fonctionnament de l'application est décrit dans le chapitre suivant.

Application "pastest".

Généralités.

En matière d'application web, il existe 2 fonctions techniques incontournables et 3 grandes familles de fonctions :

Les fonctions techniques incontournables sont :

Les 3 grandes familles de fonctions, quant à elles, sont ;

Spécifications fonctionnelles du prototype.

Notre application de test met en oeuvre ces fonctions :

La liste des fonctions proposées est la suivante :

Spécifications techniques du prototype.

Ici on fait le choix d'afficher une erreur fatale par un document plein-texte (non HTML) accompagné d'un statut d'erreur HTTP. Les erreurs critiques sont, quant à elles, affichées par un service dédié (document HTML) qui dispose d'un lien autorisant la poursuite de l'application. (error).

Le service d'authentification permet d'illustrer la création d'un gestionnaire de connexions PostgreSQL utilisé pour accéder à la table t_account du schéma pastest. Voici le code SQL de création de cette unique table :

CREATE TABLE t_account (
    c_id bigint NOT NULL,
    c_account character varying(16),
    c_password character varying(64),
    c_fullname character varying(128),
    CONSTRAINT t_account_pkey PRIMARY KEY (c_id)
)

Pour vos tests, vous devrez créer au moins un compte via par exemple la requête SQL :

INSERT INTO t_account
(c_id,c_account,c_password,c_fullname)
VALUES 
(0,'test','secret','M. Jean Inconnu')

Le schéma qui suit modélise la cinématique d'enchaînement des pages. Notez que, pour des raisons didactiques, nous avons volontairement séparé les pages de requêtes des pages de réponses. Dans les applications réelles elles sont souvent confondues pour permettre à l'utilisateur d'émettre depuis la même page une nouvelle requête suite à la réponse reçue (exemple : interrogation d'un moteur de recherche ou ici le service home).

Cinématique de l'application de test

Rappel : à un service correspond au plus une page

Si la règle ci-dessus n'est pas respectée, vous vivrez des moments "intéressants" lors de l'évolution ou de la maintenance corrective de l'application.

Notre application de test comporte au total 9 services :

Rédaction par Jean-Marie Piatte (1983-2021)