PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

Nouveauté WINDEV 24 !
  • Ce que vous allez apprendre dans cette leçon
  • Qu'est-ce qu'un audit ?
  • Audit statique
  • Procédure non exécutée
  • Elément orphelin
  • Nettoyage du projet
  • Audit dynamique
Leçon 6.2. Audits du projet
Ce que vous allez apprendre dans cette leçon
  • Qu'est-ce qu'un audit et à quoi ça sert ?
  • Lancer et analyser l'audit statique.
  • Lancer et analyser l'audit dynamique.

Durée estimée : 15 mn
Leçon précédenteSommaireLeçon suivante
Qu'est-ce qu'un audit ?
Les audits apportent une série de fonctionnalités permettant d'améliorer automatiquement la qualité et les performances d'un projet et de suivre plus précisément ses conditions de mise en exploitation.
Deux types d'audits sont disponibles :
  • L'audit statique. L'audit statique consiste en une analyse détaillée d'un projet et de ses éléments. Cet audit est effectué directement depuis l'éditeur de projet.
  • L'audit dynamique. L'audit dynamique est une analyse du comportement d'un projet pendant son exécution. Cet audit peut être réalisé en mode test ou directement dans l'environnement de production.
Nous allons tout de suite tester ces audits sur le projet "WD Optimisation".
Audit statique
L'audit statique est une fonctionnalité de l'environnement permettant d'analyser les sources d'un projet pour détecter différents problèmes et proposer des améliorations.
  • Pour lancer l'audit statique sur le projet "WD Optimisation" :
    1. Sous le volet "Projet", dans le groupe "Audit et performances", déroulez "Audit d'édition" et sélectionnez "Déclencher l'audit d'édition".

      Note

      L'audit statique du projet peut également être lancé depuis le Tableau de bord du projet, via le Widget "Audit statique et Compilation".
      Il suffit de :
      • activer le Widget si nécessaire (cliquez sur le lien "Cliquez ici pour réactiver").
      • cliquer sur la flèche.
    2. L'assistant se lance. Nous allons définir la cible de l'audit statique.
    3. Sélectionnez l'option "Lancer l'audit statique sur le projet complet".
    4. Validez l'assistant.
    5. Le rapport d'audit est affiché :
L'audit statique se compose de :
  • L'audit statique du projet.
  • L'audit du contenu de la bibliothèque de l'application.
  • L'audit du contenu de l'installation.
  • Examinons avec attention les points présentés par ce rapport.

Procédure non exécutée

Dans notre projet, l'audit nous indique qu'une procédure n'est jamais exécutée.
Il arrive fréquemment dans des projets importants, de créer une ou plusieurs procédures pour réaliser un traitement, puis suite à une réorganisation du code, la procédure n'est plus utilisée mais reste dans le projet. La présence de procédures non utilisées alourdit inutilement les ressources distribuées aux utilisateurs finaux.
  • Pour traiter ce problème :
    1. Cliquez sur le bouton [...] pour obtenir plus de renseignements. La fenêtre listant les codes morts apparaît.
    2. La procédure "ProcédureObsolète" n'est jamais appelée. Cette fenêtre permet de :
      • spécifier que la procédure est tout de même utilisée (bouton "Marquer comme utile"). Dans ce cas, la procédure ne sera plus prise en compte lors de l'audit.
      • supprimer la procédure si elle est réellement inutilisée (bouton "Supprimer").
      • voir la procédure (bouton "Voir").
      • rechercher les cas d'utilisation dans les chaînes par exemple (bouton "Rechercher").
    3. Dans notre cas, cette procédure est réellement inutilisée, cliquez sur "Supprimer".
    4. Une fenêtre s'affiche demandant la confirmation de la suppression. Confirmez la suppression en cliquant sur le bouton "Supprimer".
    5. Fermez la fenêtre du code mort (utilisez la croix en haut à droite).
  • Dans la fenêtre de l'audit statique, cliquez sur le bouton "Rafraîchir" pour mettre à jour le rapport d'audit.

Elément orphelin

L'audit nous indique que notre projet contient un élément orphelin.
Comme pour les procédures exécutées, il arrive fréquemment de créer des fenêtres, des états afin d'effectuer un test rapide, de les enregistrer et de les oublier. La présence d'éléments orphelins dans l'exécutable alourdit inutilement les ressources distribuées aux utilisateurs finaux.
  • Pour traiter ce problème :
    1. Cliquez sur le bouton [...] pour obtenir plus de renseignements. La fenêtre listant les éléments orphelins apparaît.
    2. La fenêtre "FEN_FenêtreInutilisée" n'est jamais appelée. La fenêtre listant les éléments orphelins permet de :
      • spécifier que l'élément est tout de même utilisé (bouton "Marquer comme utile"). Dans ce cas, la fenêtre de notre exemple ne sera plus prise en compte lors de l'audit. Cette option peut être intéressante par exemple dans le cas d'une fenêtre de test spécifique au développement.
      • supprimer l'élément s'il est réellement inutilisé (bouton "Supprimer").
      • voir l'élément (bouton "Voir").
      • rechercher les cas d'utilisation dans les chaînes par exemple (bouton "Rechercher").
    3. Dans notre cas, cette fenêtre "FEN_FenêtreInutilisée" est réellement inutilisée, cliquez sur "Supprimer".
    4. Fermez la fenêtre des éléments orphelins (utilisez la croix en haut à droite).
  • Dans la fenêtre de l'audit statique, cliquez sur le bouton "Rafraîchir" pour mettre à jour le rapport d'audit.

Nettoyage du projet

Notre projet contient plusieurs fichiers inutilisés. Il est possible de nettoyer le projet pour ne conserver que les éléments nécessaires. L'exécutable et l'installation client ne sont pas alourdis avec des images, fichiers externes, ... non utilisés.
  • Pour traiter ce problème :
    1. Cliquez sur le bouton [...] pour obtenir plus de renseignements.
    2. L'assistant de nettoyage de projet se lance. Cet assistant indique les fichiers inutilisés qui peuvent être supprimés.
    3. Passez à l'étape suivante.
    4. Indiquez le type de nettoyage à réaliser. Il est possible de :
      • créer un fichier zip avec les fichiers inutiles.
      • déplacer les fichiers inutiles dans un répertoire spécifique.
    5. Validez l'option proposée par défaut et passez à l'étape suivante.
    6. Terminez l'assistant.
Nous avons optimisé notre projet en suivant tous les conseils de l'audit statique.
L'audit statique permet d'avoir un état général sur les sources de votre projet. Notre conseil : lancez-le régulièrement !
Maintenant, voyons ce qui se passe en exécution en lançant l'audit dynamique.
Audit dynamique
L'audit dynamique permet d'analyser l'exécution de l'application. L'audit permettra de déceler des problèmes tels que :
  • Consommation excessive de mémoire,
  • Lenteurs des algorithmes utilisés,
  • Erreurs "masquées" lors de l'exécution,
  • ...
Un audit dynamique peut être effectué dans un environnement de test ou sur une application en production.
Le projet "WD Optimisation" contient une fenêtre spécifique provoquant des erreurs pouvant être détectées par l'audit dynamique.
Nous allons lancer l'audit dynamique en même temps que le test du projet.
  • Pour lancer l'audit dynamique sur le projet "WD Optimisation" :
    1. Sous le volet "Projet", dans le groupe "Mode test", déroulez "Mode test" et sélectionnez "Déboguer le projet avec l'audit activé". Le test du projet se lance.

      Note

      L'audit dynamique du projet peut également être lancé depuis le Tableau de bord du projet, via le Widget "Exécution". Il suffit de :
      • activer le Widget si nécessaire (cliquez sur le lien "Cliquez ici pour réactiver").
      • dérouler la flèche et de sélectionner "Go minutieux du projet".
      Remarque : A chaque lancement de l'application par un GO du projet, l'audit dynamique est automatiquement exécuté. Un compte-rendu est automatiquement affiché dans le Tableau de bord :
    2. Cliquez sur le bouton "Fenêtre de test de l'audit dynamique".
    3. Cliquez sur les différents boutons présents dans la fenêtre. A la fin de chaque traitement, un message sous forme de toast est affiché pour indiquer que le traitement est terminé. Pour l'option "Assertion et Exception", une assertion est affichée : cliquez "Continuer" pour voir apparaître le message sous forme de toast.
    4. Arrêtez le test de l'application.
    5. La fenêtre de compte-rendu de l'audit dynamique s'affiche.
  • Examinons cette fenêtre :
    • La partie haute de cette fenêtre permet de choisir le mode d'affichage des données. Il est possible de :
      • choisir un affichage chronologique (respectant l'ordre d'arrivée des événements) ou un affichage synthétique, permettant de regrouper les différents types de problèmes. Dans ce cas, la frise chronologique permet de voir la position et l'importance des problèmes.
      • choisir le type de problème à afficher (erreur, assertion, ...). Il est ainsi par exemple possible de se concentrer uniquement sur les erreurs graves, ...
    • La partie basse de cette fenêtre affiche les différents événements survenus pouvant poser problème dans l'application.
  • Dans cet exemple, l'audit dynamique détecte plusieurs problèmes :
    • Un libellé trop long affecté par programmation,
    • Une boucle de type SELON dont aucun CAS n'est exécuté,
    • Une assertion déclenchée au lieu d'une exception,
    • L'ouverture d'un fichier qui n'existe pas,
    • L'affectation d'un fichier image qui n'existe pas à un champ Image.
    Pour chaque problème, un bouton "..." permet d'accéder au détail de l'événement enregistré. Si l'événement est relié à une ligne de code particulière, le bouton permet d'ouvrir directement l'éditeur de code à l'emplacement correspondant afin de corriger le problème.
  • Fermez la fenêtre de l'audit dynamique.

Note

L'audit dynamique d'un projet peut également être effectué lorsqu'une application est déployée sur les postes clients.
Il est possible :
  • soit de modifier l'application et d'utiliser la fonction dbgActiveAudit pour lancer l'audit.
  • soit d'utiliser un fichier texte dans le répertoire de l'application. Cette solution permet de ne pas modifier l'exécutable. Il suffit de créer dans le même répertoire que l'exécutable un fichier portant le même nom que l'exécutable et d'extension ".WX".
L'audit génère un fichier ".wdaudit", ce fichier doit être chargé dans l'environnement de développement pour analyser le résultat.
Pour plus de détails, consultez Audit dynamique.
Leçon précédenteSommaireLeçon suivante
Version minimum requise
  • Version 24
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire