Chapitre 10 Les composantes d'une application et la logique de programmation Introduction La mise en situation propose d'étudier le principe de fonctionnement d'une application sous forme d'une base de données comptable en analysant chacune de ses composantes : interface, traitements et protection des données. La logique de programmation est détaillée dans la deuxième partie. Lors de la mise en situation, il n'est pas possible d'étudier toute l'application comptable. Il peut donc être intéressant de montrer aux élèves la base de données dans son ensemble sur l'outil informatique (visualisation du journal, du grand livre ). Remarque importante : Dans cette base de données, le bilan n'est pas équilibré : il manque le résultat de l'exercice. Pour équilibrer le bilan, il faut solder les comptes de charges et de produits pour faire apparaître le résultat (en compte 12). Le programme de terminale CFE conseille d'utiliser la notation algorithmique pour représenter la logique des traitements. Cette démarche est donc mise en oeuvre dans ce chapitre et s'appuie sur les acquis des élèves (les algorithmes ont été étudiés en classe de première). Les exercices de ce chapitre doivent permettre aux élèves de valider leurs connaissances dans la compréhension d'un programme et accessoirement dans la notation algorithmique. Cependant, cette démarche d'analyse doit être poursuivie tout au long de l'année et notamment dans les TD sur l'outil informatique. Mise en situation Doc. 1 Base de données comptable simplifiée sous Access - Interface utilisateur (Doc. a) - Traitements et gestion des données (Doc. B : programme appelant l'état basé sur une requête / et Doc. C : exécution de la requête) - Résultat (Doc. D : l'état Balance) L'interface utilisateur permet d'accéder rapidement et facilement aux différentes fonctions de l'application.
3. La requête est un peu complexe. Il faut seulement que les élèves retrouvent les règles permettant de construire la balance : - Classer les numéros de comptes dans l'ordre croissant (Order by). - Afficher les sommes des débits et des crédits pour chaque compte (Sum). - Calculer le solde de chaque compte (la soustraction dans la clause IIF). Doc. 2 La protection des données La protection peut se faire en définissant un mot de passe qui permettra d'ouvrir l'application. Le comptable peut simplement ouvrir les tables, consulter les informations et saisir de nouvelles données. Il ne peut pas modifier la structure des tables (ajout ou suppression de champs) ou la supprimer. L'administrateur a tous les droits sur les tables (suppression, modification de la structure et gestion des droits d'accès). Doc. 3 Du programme à la notation algorithmique Une variable est un objet qui peut stocker une donnée pouvant subir des modifications au cours de l'exécution d'un programme. Elle est identifiée par un nom et un type (texte, numérique ). Une constante est un objet dont la valeur reste identique pendant toute la durée du programme. - Séquentielle (exécution d'instructions dans un certain ordre) : o Par exemple lignes 100 à 130 de l'algorithme o Par exemple lignes 90 à 120 du programme VBA - Alternative (choix d'exécution d'un ensemble d'instructions en fonction d'une condition) : o lignes 90 à 180 de l'algorithme o lignes 80 à 170 du programme VBA - Répétitive (Exécution d'une même séquence d'instructions plusieurs fois) : o lignes 70 à 200 de l'algorithme o lignes 60 à 190 du programme VBA 3. La remise est accordée pour tout montant HT strictement supérieur à 1 000 euros. Le taux de remise est de 10 %. Si HT > 1 000 Alors NETCOM <- HT*0.9 4. A la fin de l'exécution du programme, un message demande à l'utilisateur s'il désire recommencer un calcul. L'utilisateur saisi O pour oui et N pour Non. C'est la structure répétitive "Tant que" qui prend en charge cette boucle (ou Do While / Loop en VBA). 2 Chapitre 10
Exercices Ex. 1 L'interface utilisateur L'interface utilisateur permet d'accéder rapidement et facilement aux différentes fonctions d'une application. Menus Barres d'outils Zones de liste déroulante Bouton 3. Les deux interfaces sont similaires bien que les deux logiciels ne le soient pas (texteur et tableur). On retrouve des menus et des boutons identiques. Cela permet à l'utilisateur de retrouver facilement les fonctions de base (imprimer, enregistrer, mise en forme ) dans n'importe quel logiciel de la suite bureautique. 4. Ce code s'applique au bouton "imprimer" (PrintOut). Ex. 2 La protection des données Un tableau vierge permettant d'attribuer les droits est disponible sur le CDROM (Tableau droits d'accès Ex doc) Les droits d'accès permettent de sécuriser l'application et d'assurer la confidentialité des données. La gestion des droits d'accès de la chef comptable (Mme STIQUER) peut s'entendre de deux manières : 3
- Les droits sont limités aux tâches qu'elle a à exécuter. Le problème est qu'en cas d'absence d'un autre membre de l'équipe comptable, elle ne pourra pas le remplacer dans son travail. - Elle a tous les droits. Cela permet à la chef comptable de remplacer un de ses collègues, mais cela nuit à la sécurité de l'application. Il est dangereux, par exemple, d'avoir le droit de passer une facture fournisseur et d'initier son règlement. Les droits accordés peuvent être différents en fonction de l'organisation retenue. Par exemple, le lettrage des comptes peut se faire par les comptables responsables des comptes clients ou fournisseurs ou par le trésorier. La solution proposée ci-dessous n'est donc pas unique. M. HUTOFON Mme SONFEAU M. GNOL Mme STIQUER Mme STIQUER 2 Bilan - Compte de résultat x x Consultation des comptes x x x x x Echéancier - Relances x x Factures/Avoirs clients x x Génération des à-nouveaux x x Gestion des comptes x x Gestion des journaux x x Impressions courantes x x x x x Lettrage/Délettrage automatique (x) (x) x x Lettrage/Délettrage manuel (x) (x) x x Maintenance x x Opérations de clôture x x Rapprochement bancaire x x Recherche d'écritures x x x x x Règlements fournisseurs x x Saisie des paiements reçus x x Saisie Factures clients x x Saisie Factures fournisseurs x x Saisie standard x x x x x Sauvegarde/Restauration x x Ex. 3 La logique de programmation - structure séquentielle Un tableur semble le plus approprié (réalisation de calcul automatique). Algo TVA à décaisser Var TVAimmo, TVAABS, TVAcoll, TVAdéc: réels Début Saisir "Solde du compte 44562: ", TVAimmo Saisir "Solde du compte 44566: ", TVAABS Saisir "Solde du compte 44571: ", TVAcoll TVAdéc <- TVAcoll - TVAimmo - TVAABS Afficher "Montant de la TVA à décaisser: ", TVAdéc Fin 4 Chapitre 10
Ex. 4 La logique de programmation - structure alternative Les données saisies dans le formulaire sont enregistrées dans la base de données. Plus spécifiquement dans les tables ECRITURE et ENREGISTREMENT. Algo Bouton Valide Var Numécriture: entier TotalDébit, TotalCrédit : réels Début Numécriture <- numéro de l'écriture en cours TotalDébit <- somme des débits de l'écriture Numécriture TotalCrédit <- somme des crédits de l'écriture Numécriture si TotalDébit = TotalCrédit alors afficher "Ecriture équilibrée" sinon afficher "Ecriture non équilibrée" Fin si Fin Ex. 5 La logique de programmation - structure alternative et répétitive La fonction SOMME est saisie dans les cellules contenant 33 500 et 30 900. La fonction SI est insérée dans la cellule déterminant le bénéfice ou la perte. Algo Résultat var Charges, Produits, Résultat, Totalcharges, Totalproduits : réels Début Totalcharges <-0 Totalproduits <- 0 Répéter Saisir "Solde du compte de charges :", Charges Totalcharges <- Totalcharges+Charges Jusqu'à Charges = 0 Répéter Saisir "Solde du compte de produits :", Produits Totalproduits <- Totalproduits+Produits jusqu'à Produits = 0 Résultat <- Totalproduits - Totalcharges Si Résultat > 0 alors Afficher "Le bénéfice est de : ", Résultat Sinon Résultat <- Résultat*-1 Afficher "La perte est de : ", Résultat finsi fin 5
Ex. 6 Application informatique Le corrigé complet est dans le fichier C10 Ex6 Appli info Corrigé.mdb sur le CDROM. La base de données pour les élèves (indispensable) est nommée C10 Ex6 Appli info Elève.mdb Ce TD d'informatique a deux objectifs : la logique de traitement des données dans un état et la création d'une interface graphique. C'est pour cette raison que la base de données proposée est pratiquement achevée. Pour que les élèves puissent travailler davantage sur la base de données, il est possible de supprimer quelques éléments (les formulaires par exemple). Par contre, la mise en forme de l'état dans son entier est assez fastidieuse, donc il est préférable de le laisser ainsi que la requête sur laquelle il est basé. Il est souhaitable que chaque élève réalise une copie de l'état facture avant de commencer le travail, car les erreurs de mise en forme dans un état sont difficilement récupérables (par exemple, suppression malencontreuse d'un champ). Une remarque concernant les formules de l'état : On peut faire plus simple en renommant les zones de texte contenant les formules (dans les propriétés du champ). Exemple: Total HT : Somme ([quantité]*[prix]) renommé TotalHT Montant TVA devient alors : [TotalHT]*0.196 6 Chapitre 10