Prérequis : L'application gère la sauvegarde du fichier dansle disque dur Variables utilisées par le programme : |----------------------------------------------------------------------------------------- | NOM VARIABLE | TYPE | DESIGNATION |----------------|--------|--------------------------------------------------------------- | date | STRING | Stock la date du jour | fichier | STRING | nom du fichier utilisé pour enregistrer les 8 candidats | requete | STRING | enregistre les requêtes qui seront exécutées | limit_nbr_eleve| INT | Compte le nombre d'élève réunissant les conditions pour se | | | présenter à l'examen | id_eleve | STRING | Identifiant de l'élève pour exécuter les requêtes appropriée | nbr_seance_ok | INT | Compte le nombre de séance réunissant les conditions pour être | | | comptabilisé |----------------------------------------------------------------------------------------- DEBUT // Récupérer la date au format JJMMAAAA auprès du système date = date_system // Création du fichier à envoyer à l'administration fichier = "presentation_code_" + date_creation_fichier + ".csv" // Test d'enregistrement du fihcier sur le disqur dur SI fichier existe ALORS // Informer l'utilisateur de l'existence du fichier ECRIRE = "Fichier existant, voulez-vous le supprimer?" SI utilisateur veut supprimer ALORS Supprimer fichier existant SINON FIN DU PROCESSUS Retour à la page d'accueil de l'application GEELI FIN SI FIN SI CONNEXION A LA BASE DE DONNEES // Exécuter la requête de TRI sur la table CLIENT par ordre décroissant sur la colonne DATE_NAISSANCE requete = "SELECT * FROM CLIENT c ORDER BY c.DATE_NAISSANCE DESC" limit_nbr_eleve = 0 // Parcourir toute la table CLIENT dans une structure itérative TANT QUE ce n'est pas la fin de la table CLIENT FAIRE // Stock la valeur du champ CLIENT_OID dans une variable id_eleve = CLIENT_OID // Exécuter la requête de jointure interne entre trois tables // La requête se termine par un TRI décroissant sur le champ COURS.DATE // L'objectif est de sélectionner les 4 dernières séances requete = "SELECT CLIENT_OID.CLIENT, NEPH.CLIENT, NOM.CLIENT, PRENOM.CLIENT, DATE_NAISSANCE.CLIENT, DATE.COURS, EST_OK.RESULTAT FROM CLIENT_COURS c_crs INNER JOIN CLIENT c ON c.CLIENT_OID = c_crs.CLIENT_OID INNER JOIN COURS crs ON crs.COURS_OID = c_crs.COURS_OID WHERE CLIENT_COURS.CLIENT_OID = " + id_eleve + " ORDER BY COURS.DATE DESC" nbr_seance_ok = 0 // Parcourir les 4 premiers enregistrements de la jointure TANT QUE ce n'est pas la fin de la 4ème jointure FAIRE // Vérifie si l'élève a reussi au 4 dernières séances théoriques SI EST_OK = true ALORS nbr_seance_ok = nbr_seance_ok + 1 FIN SI FIN TANT QUE // Si l'élève a 4 dernières réussites, l'inscrire dans le fichier SI nbr_seance_ok == 4 ALORS // Ecrire dans le fichier la ligne suivante ligne = NEPH + "," + NOM + "," + PRENOM + "," + "DATE_NAISSANCE" limit_nbr_eleve = limit_nbr_eleve + 1 FIN SI // Dès qu'on obtient 8 élèves le processus prend fin SI limit_nbr_eleve == 8 ALORS ENREGISTREMENT DU FICHIER SUR LE DISQUE DUR // Avec cette structure conditionnelle, un fichier vide ne n'est pas transmis SI le fichier n'est pas vide ALORS ENVOIE DU FICHIER PAR MAIL À L'ADMINISTRATION FIN SI FERMETURE DU FICHIER EN ECRITURE FIN SI FIN TANT QUE FIN