< Retour au sommaire de l’arbre programmatique <

 

Un exercice simple et concret

 

 

 

Le sommaire :

  1. Présentation de l’exercice.
  2. L’analyse organique.
  3. La base de données.
  4. L’arbre programmatique.
  5. En savoir davantage sur l’arbre programmatique.

 

 

Présentation de l’exercice

 

Sur un site, on nous demande de créer un module complémentaire afin de permettre aux utilisateurs d’envoyer des courriers depuis un formulaire.

Mais pour ce faire, l’utilisateur doit tout d’abord créer un compte.

Ensuite, il peut déclencher le traitement d’envoi d’un courrier.

Le module devra identifier l’utilisateur avant de lui donner accès au formulaire de saisie du message…

 

 


La base de données

 

Recensement des données :

« Login », « Mot de passe », « Nom », « Prénom », « Adresse de messagerie », « Objet » et « Message».

 

Base de données « courriers ».

Création des tables :

 

Table « Contacts ».

 « Login », champ de type alphanumérique obligatoire de 25 caractères, clef primaire et unique.

« MotDePasse », champ de type alphanumérique obligatoire de 25 caractères.

« Nom », champ de type texte obligatoire de 25 caractères.

« Prénom », champ de type texte non obligatoire de 25 caractères.

« Email », champ de type alphanumérique obligatoire de 50 caractères.

 

Table « Courriers ».

« NumCourrier « , champ de type entier obligatoire de 6 caractères, clef primaire et unique en auto incrémentation.

« Objet « , champ de type alphanumérique obligatoire de 70 caractères.

« Message », champ de type alphanumérique obligatoire de 1 000 caractères.

 

Les relations :

 

Ajout du champ « Login » dans la table « Courriers » :

« Login », champ de type alphanumérique de 25 caractères, clef secondaire avec doublon.

 

Le schéma de la relation :

Table « Contacts », (Login), 1-P >< 1-1, Table « Courriers ».

 

 


Analyse organique

 

Description de « l’écran 1 ».

Titre : « Menu des courriers ».

Contenu :

« Vous venez de choisir la rubrique « envoyer un message», vous devez être possesseur d’un compte. Si ce n’est pas le cas, veuillez tout d’abord créer votre compte avant de vous identifier ».

Bouton : « Annuler ».

Bouton : « S’identifier ».

Bouton : « créer un compte ».

 

Voir l’écran 1 >>

 

Description de « l’écran 2 ».

Titre : « Création d’un compte ».

« Login », champ alphanumérique de 25 caractères.

« MotDePasse », champ alphanumérique de 25 caractères masqué à l’écran.

« Nom », champ texte de 25 caractères.

« Prénom », champ texte de 25 caractères.

« Email », champ alphanumérique de 50 caractères.

Bouton : « Annuler ».

Bouton : « S’inscrire ».

 

Voir l’écran 2 >>

 

Description de « l’écran 3 ».

Titre : « Erreur de création de compte ».

Message :

« Erreur, le Login existe déjà ou l’un des champs n’a pas été renseigné ».

Bouton : « Ok ».

 

Voir l’écran 3 >>

 

Description de « l’écran 4 ».

Titre : « Succès ».

Message : « Votre compte a été créé avec succès, vous pouvez maintenant vous identifier. »

Bouton : « Ok ».

 

Voir l’écran 4 >>

 

Description de « l’écran 5 ».

Titre : « Identification ».

Contenu :

« Logine », champ alphanumérique de 25 caractères.

« MotDePasse », champ alphanumérique de 25 caractères, masqué à l’écran.

Bouton : « Ok ».

Bouton « Annuler ».

 

Voir l’écran 5 >>

 

Description de « l’écran 6 ».

Titre : « Erreur d’identification ».

Le message :

« Désolé, votre identification a échouée… »

Bouton : « Ok ».

 

Voir l’écran 6 >>

 

Description de « l’écran 7 ».

Titre : « Envoyer un message ».

Contenu :

« Nom », champ de type texte de 25 caractères, automatiquement renseigné depuis la table « Contacts ».

« Prénom », champ de type texte de 25 caractères, automatiquement renseigné depuis la table « Contacts ».

« Email », champ de type alphanumérique de 50 caractères, automatiquement renseigné depuis la table « Contacts ».

« Objet », champ obligatoire de type alphanumérique de 70 caractères.

« Message », champ obligatoire de type alphanumérique de 1 000 caractères.

Bouton : « Envoyer ».

Bouton : « Annuler ».

 

Voir l’écran 7 >>

 

Description de « l’écran 8 ».

Titre : « Confirmation d’envoi ».

Message :

« Votre message est bien parti ».

Bouton : « Ok ».

 

Voir l’écran 8 >>

 

 

L’enchaînement des écrans :

 

Écran 1.

Bouton : « Annuler » > Fermer l’écran.

Bouton : « S’identifier » > Écran 5.

Bouton : « Créer un compte » > Écran 2.

 

Écran 2.

Bouton : « Annuler » > Écran 1.

Bouton : « S’inscrire » > Traitement Enregistrement-contact.

 

Traitement Enregistrement-contact.

Si enregistrement du contact « Ok », Alors

Écran 3,

Sinon

Écran 4.

 

Écran 3.

Bouton : « Ok » > Écran 1.

 

Écran 4.

Bouton : « Ok » > Écran 1.

 

Écran 5.

Bouton : « Annuler » > Écran 1.

Bouton : « s’identifier » > Traitement V »rification-identification.

 

Traitement V »rification-identification :

Si Identification de l’utilisateur « Ok », Alors

Écran 7,

Sinon, Écran 6.

 

Écran 6.

Bouton : « Ok », > Écran 1.

 

Écran 7.

Bouton : « Annuler » > Écran 1.

Bouton : « Envoyer » > Traitement expédition.

 

Traitement Expédition.

Expédier Message puis > Écran 8.

 

Écran 8.

Bouton : « Ok » > Écran 1.

 

 


L’arbre programmatique

 

L’enveloppe

 

Niveau 0

 

Accueil :

Faire

Menu-principal

Jusqu’à ce que choix utilisateur égal « Annuler ».

 

Niveau 1

 

Menu-principal :

Afficher Écran 1

Si choix utilisateur égal « S’identifier », Alors

Faire Suite_identification

Sinon si choix utilisateur égal « Créer un compte », Alors

Faire Suite-Création-compte

Sinon

Ne rien faire.

Fin du si.

 

Niveau 2

 

Suite_identification :

Afficher Écran 5

Si fonction Vérification-identification(Écran5.login,Écran5.MotDePasse) égal « vrai », Alors

Faire Saisir-courrier

Sinon

Afficher Écran 6

Fin du si.

 

Suite-Création-compte :

Afficher Écran 2

Si choix utilisateur égal « S’inscrire », Alors

Faire Suite-inscription

Sinon

Ne rien faire

Fin du si.

 

Niveau 3

 

Saisir-courrier :

Afficher Écran7

Si choix utilisateur égal « Envoyer », Alors

Faire Envoyer-courrier

Sinon

Ne rien faire

Fin du si. 

 

Suite-inscription :

Si fonction Verifie-login-libre(Écran2.login) égal « vrai », Alors

Afficher Écran3

Sinon

Faire Enregistrement-contact

Fin du si.

 

Les feuilles

 

Fonction Verifie-login-libre :

Ouvrir table « Contacts »

Rechercher enregistrement quand Contacts.login égal Écran2.login

Retourner résultat.

 

Enregistrement-contact :

Ouvrir table « Contacts »

Enregistrer le contact pour Contacts.login = Écran2.login

Afficher Écran 4.

 

Fonction Vérification-identification :

Ouvrir table « Contacts »

Retourner résultat de

(Rechercher dans la table « Contacts » enregistrement quand :

Contacts.login=Écran5.login et Contacts.MotDePasse=Écran5.MotDePasse)

 

Envoyer-courrier :

Envoyer le courrier

Enregistrer Le message dans table « Messages »

Afficher Écran 8.

 

 


En savoir davantage sur l’arbre programmatique.

 

Dans le langage de l’arbre programmatique, vous pouvez utiliser une autre structure conditionnelle que le « Si », c’est le « Selon ».

Vous devez commencer par spécifier la variable qui doit être traitée, puis vous écrivez la liste des valeurs possibles et les traitements associés.

 

Par exemple :

 

Selon « réponse de l’utilisateur » :

 « Ok », Traitement 1,

« Aide », Traitement 2,

« Annuler », ne rien faire,

Fin du selon.

 

Vous pouvez aussi employer les 3 types de répétitives !

 

Première boucle :

Pour I allant de 1 à 100, par pas de 1

Faire traitement-itération

Fin du pour.

 

Deuxième boucle :

Faire

Traitement-itération

Jusqu’à ce que condition = vrai.

 

Troisième boucle  :

Tant que condition = vrai

Faire traitement-itération

Fin du Tant que.

 

Dans les exemples présenté ici dans les manuels, j’ai volontairement omis d’utiliser des variables, et ce, dans l’unique souci de vous soulager de cette gestion…

Cependant, rien ne vous empêche d’utiliser des variables locales et globales, il faudra néanmoins les déclarer au bon endroit. Pour les variables globales, vous devez écrire la déclaration au début de l’arbre programmatique.

Pour les variables locales, les déclarations se feront dans les différentes procédures et fonctions, donc dans les traitements…

 

Philippe BOULANGER

 

< Retour au sommaire de l’arbre programmatique <