SlideShare une entreprise Scribd logo
Guillaume Cabanac
@gcabanac
Université Toulouse 3
IUT Informatique
13 septembre 2012
Pge3
Programmation événementielle
conçoit une IHM
2
Bilan et perspectives
Pge3 ― Programmation événementielle
Prl2
Moyenne générale : 9,98
Écart type : 3,38
0,00
2,00
4,00
6,00
8,00
10,00
12,00
14,00
16,00
18,00
20,00
A B C D E F
Pge3
 Exam : mardi 6 novembre 2012
Durée : 1h30
Documents non autorisés
max
min
moy
Vous êtes ici
3
 Pré-requis : algorithmique (Alg1)
 Variables, structures de contrôle
 Sous-programmes
 Enseignement de Prl2
 Vocabulaire de l’IHM
 Notions de génie logiciel
 Notions d’ergonomie
 Conception d’interfaces
 Programmation événementielle
De quoi ça parlait Prl2, déjà ?!Pge3 ― Programmation événementielle
D
4
Pge3 ― Programmation événementielle
Vocabulaire d’IHM
sélecteurs
radio buttons
interrupteurs
checkboxes
combo
zone de texte + spin
A
N
Q
5
Pge3 ― Programmation événementielle
Notions d’ergonomie
M
auvais
design
!
6
Pge3 ― Programmation événementielle
 Mauvais design logiciel
C’est pas compliqué
mamie, pour arrêter
l’ordinateur, tu cliques
sur « démarrer » en
bas à gauche, puis…
Fail.
Dict. Hachette 99
7
http://www.baddesigns.com
 Mauvais design matériel
Pge3 ― Programmation événementielle
cobayes
8
Pge3 ― Programmation événementielle
Développement d’IHM en 4 étapes
1. Aspect dynamique → diagramme états-transitions
2. Aspect statique → fenêtre et widgets
3. Programmation → code Windev
3.1. Déclarations globales de la fenêtre
(états + evts)
3.2. Initialisation de la fenêtre (appel GDE)
3.3. Génération d’événements (depuis les
widgets)
3.4. Procédure GDE
9
Pge3 ― Programmation événementielle
Rappels sur 1 exemple : phares d’une voiture
 Initialement, les feux sont éteints. En tournant la manette de 90°, on allume les
feux de position (veilleuses). Pour éteindre les feux de position, il faut tourner
la manette de -90°.
 Lorsque les feux de position sont allumés, on allume les feux de croisement
(codes) en tournant la manette de 90°. On éteint les feux de croisement en
tournant la manette de -90°. Seuls les feux de position sont alors allumés.
 Lorsque les feux de croisement sont allumés, on allume les feux de route
(phares) en tirant la manette vers soi. On éteint les feux de route 1) en
poussant la manette ou en la tournant de -90°. Seuls les feux de croisement
(cas 1) ou les feux de position (cas 2) sont alors allumés.
 Pour faire un appel de phares, lorsque les feux sont éteints ou lorsque les feux
de position sont allumés, il faut tirer la manette vers soi.
Le fait de relâcher la manette arrête l’appel de phares.
10
Pge3 ― Programmation événementielle
Conception : diagramme États-Transitions
état transitionétat initial
11
Pge3 ― Programmation événementielle
 Toujours un seul
événement d’initialisation
 Toujours déterministe
init
rotation 90°
rotation -90°
manette tirée
manette relâchée
Feux éteints
init
manette tirée
manette relâchée
Feux de position
allumésrotation 90°
rotation -90°
Appel de pharesmanette tirée manette tirée
manette relâchée manette relâchée
init
rotation 90°
rotation -90°
manette tirée
manette relâchée
Feux éteints
init
rotation 90°
rotation -90°
manette tirée
manette poussée
Feux de croisement
allumés
manette tirée
manette relâchée rotation -90°
Feux de position
allumés
Appel de phares Appel de phares +
feux de position
allumés
Feux de route
allumés
rotation 90°
rotation -90°
rotation 90°
rotation -90°
manette tirée
manette relâchée
manette tirée
manette relâchée
manette tirée
manette poussée
rotation -90°
Diagramme états-transitions :
phares d'un véhicule
Non
déterministe !
Vérificationsdebase
Diagramme États-Transitions
12
Pge3 ― Programmation événementielle
Matrice de transitions
init
rotation 90°
rotation -90°
manette tirée
manette relâchée
Feux éteints
init
rotation 90°
rotation -90°
manette tirée
manette poussée
Feux de croisement
allumés
manette tirée
manette relâchée rotation -90°
Feux de position
allumés
Appel de phares Appel de phares +
feux de position
allumés
Feux de route
allumés
rotation 90°
rotation -90°
rotation 90°
rotation -90°
manette tirée
manette relâchée
manette tirée
manette relâchée
manette tirée
manette poussée
rotation -90°
Diagramme états-transitions :
phares d'un véhicule
Feux éteints
(état initial)
Feux de position
allumés
Feux de
croisement
allumés
Appel de phares Appel de phares
+ feux de position
allumés
Feux de route
allumés
Manette tirée Appel phares Appel de phares +
feux de position
allumés
Feux de route
allumés
Manette relâchée Feux éteints Feux de position
allumés
Rotation 90° Feux de position
allumés
Feux de
croisement
allumés
Rotation −90° Feux éteints Feux de position
allumés
Feux de position
allumés
Manette poussée Feux de position
allumés
état
evt
⇑
⇓
équivalents
13
Pge3 ― Programmation événementielle
Conception de l’interface
Potentiomètre
Regroupement
des composants
14
Pge3 ― Programmation événementielle
Nommage des widgets
TDB =
Tableau de
bord
démo
15
Pge3 ― Programmation événementielle
Déclaration et initialisation de la fenêtre
 Déclarations globales de la fenêtre
 1 variable pour l’état courant
= le bout du fil d’Ariane
 N constantes pour les états
 M constantes pour les événements
 Initialisation de la fenêtre
init
rotation 90°
rotation -90°
manette tirée
manette relâchée
Feux éteints
init
rotation 90°
rotation -90°
manette tirée
manette poussée
Feux de croisement
allumés
manette tirée
manette relâchée rotation -90°
Feux de position
allumés
Appel de phares Appel de phares +
feux de position
allumés
Feux de route
allumés
rotation 90°
rotation -90°
rotation 90°
rotation -90°
manette tirée
manette relâchée
manette tirée
manette relâchée
manette tirée
manette poussée
rotation -90°
Diagramme états-transitions :
phares d'un véhicule
16
Pge3 ― Programmation événementielle
Génération des événements
17
Pge3 ― Programmation événementielle
Procédure GDE
Traduction de :
état courant, évt → état futur
• Paramètres de GDE
• pEvt : événement déclenché
• pEtat : état courant
• Modification des composants
ex : BTN_Appel..Visible =
Faux
• Mise à jour de l’état courant
ex : pEtat =
étatFeuxEteints
• Programmation défensive
AUTRE CAS : Erreur(…)
…
18
Pge3 ― Programmation événementielle
Génération de l’exécutable
Rappel : DLL = Dynamic-link library
19
Pge3 ― Programmation événementielle
Pge3Pge3
étude de cas
« Course cycliste contre la montre »
2 TD et 8 TP
20
Pge3 ― Programmation événementielle
Analyse (MLD)
Créer une liaison
Créer un fichier
 Ceci est un MLD graphique (pas un MCDi !!!) 
Coureur = {numLicence, nom, prénom, #idEquipe}
Course = {date, ville, heureDépart, deltaDépart}
Equipe = {idEquipe, nomEquipe}
Participation = {#numLicence, #date, heureDépart, heureArrivée, points, numDossard}
MLDMLD
clé primaire
clé de parcours
Fichiers
générés
21
Pge3 ― Programmation événementielle
Génération des fichiers + WDMap
Générer l’analyse
22
Pge3 ― Programmation événementielle
Lecture et écriture dans un fichier
De nombreux autres sous-programmes
existent :
• HModifie
• HLitRecherchePremier
• HTrouve
• …
 La doc est ton amie
Ceci est un tampon
 Transfère le contenu du tampon
(mémoire) dans le fichier
23
Pge3 ― Programmation événementielle
Groupware utilisateur − Activation
24
Pge3 ― Programmation événementielle
Groupware utilisateur − Création d’un login
25
Pge3 ― Programmation événementielle
Groupware utilisateur − Configuration
26
Pge3 ― Programmation événementielle
Groupware utilisateur − Test
EB
27
Pge3 ― Programmation événementielle
L’AGL Windev
 Atelier de Génie Logiciel
CASE = Computer-Aided Software Engineering
 Conception
 Développement
 Test
 Livraison
 Rappels
 1 projet Windev permet de développer une application (n fenêtres)
 Configuration :
Outils / Options / Options générales
de Windev / Répertoires
 Projets personnels H:Pge3
 Briques de code + Messages C:Temp ou H:Pge3garbage
28
Pge3 ― Programmation événementielle
L’AGL Windev chez soi
Note :
Le fichier à télécharger a une taille de 900 Mo
environ; prévoyez environ 40 minutes en ADSL.
Vous utilisez un anti-virus de l'éditeur Kapersky ?
A l'installation de la version Express, certaines
versions de cet anti-virus affichent une
information erronée : l'anti-virus indique par
erreur la présence d'un cheval de Troie.
OL'information est fausse, vous pouvez installer la
version sans aucun risque. L'éditeur Kapersky est
informé de ce "faux-positif" et travaille à sa
correction pour de prochaines versions.
Vous pouvez donc ignorer cette alerte et
continuer votre installation normalement.
Programmation événementielle avec Windev

Contenu connexe

Similaire à Programmation événementielle avec Windev

Langage c
Langage cLangage c
Langage c
Charifa Ouhaga
 
Iut lyon 1 introduction à l'agilité - 20 juin 2012
Iut lyon 1   introduction à l'agilité - 20 juin 2012Iut lyon 1   introduction à l'agilité - 20 juin 2012
Iut lyon 1 introduction à l'agilité - 20 juin 2012
agnes_crepet
 
Valtech - Gestion de projet agile, par la pratique et de façon ludique
Valtech - Gestion de projet agile, par la pratique et de façon ludiqueValtech - Gestion de projet agile, par la pratique et de façon ludique
Valtech - Gestion de projet agile, par la pratique et de façon ludique
Valtech
 
Techniques de programmation avancée LabVIEW : gestion des données de la local...
Techniques de programmation avancée LabVIEW : gestion des données de la local...Techniques de programmation avancée LabVIEW : gestion des données de la local...
Techniques de programmation avancée LabVIEW : gestion des données de la local...
Luc Desruelle
 
Gestion multi-pays & multilingue avec Drupal
Gestion multi-pays & multilingue avec DrupalGestion multi-pays & multilingue avec Drupal
Gestion multi-pays & multilingue avec Drupal
Adyax
 
Comment monitorer ses projets et rendre le on-call vivable ? (Confoo 2021 Onl...
Comment monitorer ses projets et rendre le on-call vivable ? (Confoo 2021 Onl...Comment monitorer ses projets et rendre le on-call vivable ? (Confoo 2021 Onl...
Comment monitorer ses projets et rendre le on-call vivable ? (Confoo 2021 Onl...
Lucien Boix
 
jeu dispersion 6 sigma
jeu dispersion 6 sigmajeu dispersion 6 sigma
jeu dispersion 6 sigma
CIPE
 
Cours programmation
Cours programmation Cours programmation
Cours programmation
Abdelaziz Elbaze
 
Rapport_oral_final
Rapport_oral_finalRapport_oral_final
Rapport_oral_finalJean Ibarz
 
Algorithmique iv
Algorithmique ivAlgorithmique iv
Algorithmique iv
Rachid Lajouad
 
Langage C
Langage  CLangage  C
Langage Cjwilili
 
Mardi gras du 2 juin 2010 : CSIM2
Mardi gras du 2 juin 2010 : CSIM2Mardi gras du 2 juin 2010 : CSIM2
Mardi gras du 2 juin 2010 : CSIM2
hortis
 

Similaire à Programmation événementielle avec Windev (12)

Langage c
Langage cLangage c
Langage c
 
Iut lyon 1 introduction à l'agilité - 20 juin 2012
Iut lyon 1   introduction à l'agilité - 20 juin 2012Iut lyon 1   introduction à l'agilité - 20 juin 2012
Iut lyon 1 introduction à l'agilité - 20 juin 2012
 
Valtech - Gestion de projet agile, par la pratique et de façon ludique
Valtech - Gestion de projet agile, par la pratique et de façon ludiqueValtech - Gestion de projet agile, par la pratique et de façon ludique
Valtech - Gestion de projet agile, par la pratique et de façon ludique
 
Techniques de programmation avancée LabVIEW : gestion des données de la local...
Techniques de programmation avancée LabVIEW : gestion des données de la local...Techniques de programmation avancée LabVIEW : gestion des données de la local...
Techniques de programmation avancée LabVIEW : gestion des données de la local...
 
Gestion multi-pays & multilingue avec Drupal
Gestion multi-pays & multilingue avec DrupalGestion multi-pays & multilingue avec Drupal
Gestion multi-pays & multilingue avec Drupal
 
Comment monitorer ses projets et rendre le on-call vivable ? (Confoo 2021 Onl...
Comment monitorer ses projets et rendre le on-call vivable ? (Confoo 2021 Onl...Comment monitorer ses projets et rendre le on-call vivable ? (Confoo 2021 Onl...
Comment monitorer ses projets et rendre le on-call vivable ? (Confoo 2021 Onl...
 
jeu dispersion 6 sigma
jeu dispersion 6 sigmajeu dispersion 6 sigma
jeu dispersion 6 sigma
 
Cours programmation
Cours programmation Cours programmation
Cours programmation
 
Rapport_oral_final
Rapport_oral_finalRapport_oral_final
Rapport_oral_final
 
Algorithmique iv
Algorithmique ivAlgorithmique iv
Algorithmique iv
 
Langage C
Langage  CLangage  C
Langage C
 
Mardi gras du 2 juin 2010 : CSIM2
Mardi gras du 2 juin 2010 : CSIM2Mardi gras du 2 juin 2010 : CSIM2
Mardi gras du 2 juin 2010 : CSIM2
 

Plus de Guillaume Cabanac

Adoption de l’identifiant ORCID : le cas des universités toulousaines
Adoption de l’identifiant ORCID : le cas des universités toulousainesAdoption de l’identifiant ORCID : le cas des universités toulousaines
Adoption de l’identifiant ORCID : le cas des universités toulousaines
Guillaume Cabanac
 
Dépollution de la littérature scientifique : traque d’expression torturées ...
Dépollution de la littérature scientifique : traque d’expression torturées ...Dépollution de la littérature scientifique : traque d’expression torturées ...
Dépollution de la littérature scientifique : traque d’expression torturées ...
Guillaume Cabanac
 
Interroger la science
Interroger la scienceInterroger la science
Interroger la science
Guillaume Cabanac
 
Valoriser le capital documentaire (en sommeil) d’une organisation : exploitat...
Valoriser le capital documentaire (en sommeil) d’une organisation : exploitat...Valoriser le capital documentaire (en sommeil) d’une organisation : exploitat...
Valoriser le capital documentaire (en sommeil) d’une organisation : exploitat...
Guillaume Cabanac
 
Comment analyser une mobilisation collective dans les réseaux socionumériques...
Comment analyser une mobilisation collective dans les réseaux socionumériques...Comment analyser une mobilisation collective dans les réseaux socionumériques...
Comment analyser une mobilisation collective dans les réseaux socionumériques...
Guillaume Cabanac
 
Gender as a Variable to Study Academic Writing
Gender as a Variable to Study Academic WritingGender as a Variable to Study Academic Writing
Gender as a Variable to Study Academic Writing
Guillaume Cabanac
 
Prospection de textes scientifiques : vision prospective
Prospection de textes scientifiques : vision prospectiveProspection de textes scientifiques : vision prospective
Prospection de textes scientifiques : vision prospective
Guillaume Cabanac
 
Questionner le texte scientifique pour caractériser la science et l'innovation
Questionner le texte scientifique pour caractériser la science et l'innovationQuestionner le texte scientifique pour caractériser la science et l'innovation
Questionner le texte scientifique pour caractériser la science et l'innovation
Guillaume Cabanac
 
Le carnet de l'avent de la sociologie francophone sur Twitter : réseaux et al...
Le carnet de l'avent de la sociologie francophone sur Twitter : réseaux et al...Le carnet de l'avent de la sociologie francophone sur Twitter : réseaux et al...
Le carnet de l'avent de la sociologie francophone sur Twitter : réseaux et al...
Guillaume Cabanac
 
Interroger le texte scientifique
Interroger le texte scientifiqueInterroger le texte scientifique
Interroger le texte scientifique
Guillaume Cabanac
 
The promises of web scrapping: Mining the web for relational data about artists
The promises of web scrapping: Mining the web for relational data about artistsThe promises of web scrapping: Mining the web for relational data about artists
The promises of web scrapping: Mining the web for relational data about artists
Guillaume Cabanac
 
Émergence de l’open access « gris » : LibGen et Sci-Hub comme filières clande...
Émergence de l’open access « gris » : LibGen et Sci-Hub comme filières clande...Émergence de l’open access « gris » : LibGen et Sci-Hub comme filières clande...
Émergence de l’open access « gris » : LibGen et Sci-Hub comme filières clande...
Guillaume Cabanac
 
Confrontation à la perception humaine de mesures de similarité entre membres
Confrontation à la perception humaine de mesures de similarité entre membres Confrontation à la perception humaine de mesures de similarité entre membres
Confrontation à la perception humaine de mesures de similarité entre membres
Guillaume Cabanac
 
« T'as pensé à retweeter mon article ? » Enjeux, limites et critique de la bi...
« T'as pensé à retweeter mon article ? » Enjeux, limites et critique de la bi...« T'as pensé à retweeter mon article ? » Enjeux, limites et critique de la bi...
« T'as pensé à retweeter mon article ? » Enjeux, limites et critique de la bi...
Guillaume Cabanac
 
Émergence de l’open access « gris » : LibGen et Sci-Hub
Émergence de l’open access « gris » : LibGen et Sci-HubÉmergence de l’open access « gris » : LibGen et Sci-Hub
Émergence de l’open access « gris » : LibGen et Sci-Hub
Guillaume Cabanac
 
Sur les étagères des bibliothèques numériques clandestines:
Sur les étagères des bibliothèques numériques clandestines: Sur les étagères des bibliothèques numériques clandestines:
Sur les étagères des bibliothèques numériques clandestines:
Guillaume Cabanac
 
Les altmetrics : estimer l'engouement pour la recherche sur les médias sociaux
Les altmetrics : estimer l'engouement pour la recherche sur les médias sociauxLes altmetrics : estimer l'engouement pour la recherche sur les médias sociaux
Les altmetrics : estimer l'engouement pour la recherche sur les médias sociaux
Guillaume Cabanac
 
A Journey in Scientometrics: quantitative studies of science at the crossroad...
A Journey in Scientometrics: quantitative studies of science at the crossroad...A Journey in Scientometrics: quantitative studies of science at the crossroad...
A Journey in Scientometrics: quantitative studies of science at the crossroad...
Guillaume Cabanac
 
Bibliogifts ? Les bibliothèques clandestines de l'édition scientifique
Bibliogifts ? Les bibliothèques clandestines de l'édition scientifiqueBibliogifts ? Les bibliothèques clandestines de l'édition scientifique
Bibliogifts ? Les bibliothèques clandestines de l'édition scientifique
Guillaume Cabanac
 
Le renfort des liens forts - dynamique relationnelle du coauthorship
Le renfort des liens forts - dynamique relationnelle du coauthorshipLe renfort des liens forts - dynamique relationnelle du coauthorship
Le renfort des liens forts - dynamique relationnelle du coauthorship
Guillaume Cabanac
 

Plus de Guillaume Cabanac (20)

Adoption de l’identifiant ORCID : le cas des universités toulousaines
Adoption de l’identifiant ORCID : le cas des universités toulousainesAdoption de l’identifiant ORCID : le cas des universités toulousaines
Adoption de l’identifiant ORCID : le cas des universités toulousaines
 
Dépollution de la littérature scientifique : traque d’expression torturées ...
Dépollution de la littérature scientifique : traque d’expression torturées ...Dépollution de la littérature scientifique : traque d’expression torturées ...
Dépollution de la littérature scientifique : traque d’expression torturées ...
 
Interroger la science
Interroger la scienceInterroger la science
Interroger la science
 
Valoriser le capital documentaire (en sommeil) d’une organisation : exploitat...
Valoriser le capital documentaire (en sommeil) d’une organisation : exploitat...Valoriser le capital documentaire (en sommeil) d’une organisation : exploitat...
Valoriser le capital documentaire (en sommeil) d’une organisation : exploitat...
 
Comment analyser une mobilisation collective dans les réseaux socionumériques...
Comment analyser une mobilisation collective dans les réseaux socionumériques...Comment analyser une mobilisation collective dans les réseaux socionumériques...
Comment analyser une mobilisation collective dans les réseaux socionumériques...
 
Gender as a Variable to Study Academic Writing
Gender as a Variable to Study Academic WritingGender as a Variable to Study Academic Writing
Gender as a Variable to Study Academic Writing
 
Prospection de textes scientifiques : vision prospective
Prospection de textes scientifiques : vision prospectiveProspection de textes scientifiques : vision prospective
Prospection de textes scientifiques : vision prospective
 
Questionner le texte scientifique pour caractériser la science et l'innovation
Questionner le texte scientifique pour caractériser la science et l'innovationQuestionner le texte scientifique pour caractériser la science et l'innovation
Questionner le texte scientifique pour caractériser la science et l'innovation
 
Le carnet de l'avent de la sociologie francophone sur Twitter : réseaux et al...
Le carnet de l'avent de la sociologie francophone sur Twitter : réseaux et al...Le carnet de l'avent de la sociologie francophone sur Twitter : réseaux et al...
Le carnet de l'avent de la sociologie francophone sur Twitter : réseaux et al...
 
Interroger le texte scientifique
Interroger le texte scientifiqueInterroger le texte scientifique
Interroger le texte scientifique
 
The promises of web scrapping: Mining the web for relational data about artists
The promises of web scrapping: Mining the web for relational data about artistsThe promises of web scrapping: Mining the web for relational data about artists
The promises of web scrapping: Mining the web for relational data about artists
 
Émergence de l’open access « gris » : LibGen et Sci-Hub comme filières clande...
Émergence de l’open access « gris » : LibGen et Sci-Hub comme filières clande...Émergence de l’open access « gris » : LibGen et Sci-Hub comme filières clande...
Émergence de l’open access « gris » : LibGen et Sci-Hub comme filières clande...
 
Confrontation à la perception humaine de mesures de similarité entre membres
Confrontation à la perception humaine de mesures de similarité entre membres Confrontation à la perception humaine de mesures de similarité entre membres
Confrontation à la perception humaine de mesures de similarité entre membres
 
« T'as pensé à retweeter mon article ? » Enjeux, limites et critique de la bi...
« T'as pensé à retweeter mon article ? » Enjeux, limites et critique de la bi...« T'as pensé à retweeter mon article ? » Enjeux, limites et critique de la bi...
« T'as pensé à retweeter mon article ? » Enjeux, limites et critique de la bi...
 
Émergence de l’open access « gris » : LibGen et Sci-Hub
Émergence de l’open access « gris » : LibGen et Sci-HubÉmergence de l’open access « gris » : LibGen et Sci-Hub
Émergence de l’open access « gris » : LibGen et Sci-Hub
 
Sur les étagères des bibliothèques numériques clandestines:
Sur les étagères des bibliothèques numériques clandestines: Sur les étagères des bibliothèques numériques clandestines:
Sur les étagères des bibliothèques numériques clandestines:
 
Les altmetrics : estimer l'engouement pour la recherche sur les médias sociaux
Les altmetrics : estimer l'engouement pour la recherche sur les médias sociauxLes altmetrics : estimer l'engouement pour la recherche sur les médias sociaux
Les altmetrics : estimer l'engouement pour la recherche sur les médias sociaux
 
A Journey in Scientometrics: quantitative studies of science at the crossroad...
A Journey in Scientometrics: quantitative studies of science at the crossroad...A Journey in Scientometrics: quantitative studies of science at the crossroad...
A Journey in Scientometrics: quantitative studies of science at the crossroad...
 
Bibliogifts ? Les bibliothèques clandestines de l'édition scientifique
Bibliogifts ? Les bibliothèques clandestines de l'édition scientifiqueBibliogifts ? Les bibliothèques clandestines de l'édition scientifique
Bibliogifts ? Les bibliothèques clandestines de l'édition scientifique
 
Le renfort des liens forts - dynamique relationnelle du coauthorship
Le renfort des liens forts - dynamique relationnelle du coauthorshipLe renfort des liens forts - dynamique relationnelle du coauthorship
Le renfort des liens forts - dynamique relationnelle du coauthorship
 

Dernier

Edito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdfEdito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdf
WarlockeTamagafk
 
Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024
Friends of African Village Libraries
 
SYLLABUS DU COURS MARKETING DTS 1-2.pdf
SYLLABUS DU COURS  MARKETING DTS 1-2.pdfSYLLABUS DU COURS  MARKETING DTS 1-2.pdf
SYLLABUS DU COURS MARKETING DTS 1-2.pdf
Moukagni Evrard
 
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
mrelmejri
 
Cours de conjugaison des verbes du premier, deuxième et troisième groupe
Cours de conjugaison des verbes du premier, deuxième et troisième groupeCours de conjugaison des verbes du premier, deuxième et troisième groupe
Cours de conjugaison des verbes du premier, deuxième et troisième groupe
Yuma91
 
Iris et les hommes.pptx
Iris      et         les      hommes.pptxIris      et         les      hommes.pptx
Iris et les hommes.pptx
Txaruka
 
Iris van Herpen. pptx
Iris            van        Herpen.     pptxIris            van        Herpen.     pptx
Iris van Herpen. pptx
Txaruka
 
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La JeunesseConseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Oscar Smith
 
Mémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et auditMémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et audit
MelDjobo
 
Système de gestion des fichiers de amine
Système de gestion des fichiers de amineSystème de gestion des fichiers de amine
Système de gestion des fichiers de amine
sewawillis
 
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
cristionobedi
 
Iris van Herpen. pptx
Iris         van         Herpen.      pptxIris         van         Herpen.      pptx
Iris van Herpen. pptx
Txaruka
 

Dernier (12)

Edito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdfEdito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdf
 
Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024
 
SYLLABUS DU COURS MARKETING DTS 1-2.pdf
SYLLABUS DU COURS  MARKETING DTS 1-2.pdfSYLLABUS DU COURS  MARKETING DTS 1-2.pdf
SYLLABUS DU COURS MARKETING DTS 1-2.pdf
 
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
 
Cours de conjugaison des verbes du premier, deuxième et troisième groupe
Cours de conjugaison des verbes du premier, deuxième et troisième groupeCours de conjugaison des verbes du premier, deuxième et troisième groupe
Cours de conjugaison des verbes du premier, deuxième et troisième groupe
 
Iris et les hommes.pptx
Iris      et         les      hommes.pptxIris      et         les      hommes.pptx
Iris et les hommes.pptx
 
Iris van Herpen. pptx
Iris            van        Herpen.     pptxIris            van        Herpen.     pptx
Iris van Herpen. pptx
 
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La JeunesseConseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
 
Mémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et auditMémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et audit
 
Système de gestion des fichiers de amine
Système de gestion des fichiers de amineSystème de gestion des fichiers de amine
Système de gestion des fichiers de amine
 
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
 
Iris van Herpen. pptx
Iris         van         Herpen.      pptxIris         van         Herpen.      pptx
Iris van Herpen. pptx
 

Programmation événementielle avec Windev

  • 1. Guillaume Cabanac @gcabanac Université Toulouse 3 IUT Informatique 13 septembre 2012 Pge3 Programmation événementielle conçoit une IHM
  • 2. 2 Bilan et perspectives Pge3 ― Programmation événementielle Prl2 Moyenne générale : 9,98 Écart type : 3,38 0,00 2,00 4,00 6,00 8,00 10,00 12,00 14,00 16,00 18,00 20,00 A B C D E F Pge3  Exam : mardi 6 novembre 2012 Durée : 1h30 Documents non autorisés max min moy Vous êtes ici
  • 3. 3  Pré-requis : algorithmique (Alg1)  Variables, structures de contrôle  Sous-programmes  Enseignement de Prl2  Vocabulaire de l’IHM  Notions de génie logiciel  Notions d’ergonomie  Conception d’interfaces  Programmation événementielle De quoi ça parlait Prl2, déjà ?!Pge3 ― Programmation événementielle D
  • 4. 4 Pge3 ― Programmation événementielle Vocabulaire d’IHM sélecteurs radio buttons interrupteurs checkboxes combo zone de texte + spin A N Q
  • 5. 5 Pge3 ― Programmation événementielle Notions d’ergonomie M auvais design !
  • 6. 6 Pge3 ― Programmation événementielle  Mauvais design logiciel C’est pas compliqué mamie, pour arrêter l’ordinateur, tu cliques sur « démarrer » en bas à gauche, puis… Fail. Dict. Hachette 99
  • 7. 7 http://www.baddesigns.com  Mauvais design matériel Pge3 ― Programmation événementielle cobayes
  • 8. 8 Pge3 ― Programmation événementielle Développement d’IHM en 4 étapes 1. Aspect dynamique → diagramme états-transitions 2. Aspect statique → fenêtre et widgets 3. Programmation → code Windev 3.1. Déclarations globales de la fenêtre (états + evts) 3.2. Initialisation de la fenêtre (appel GDE) 3.3. Génération d’événements (depuis les widgets) 3.4. Procédure GDE
  • 9. 9 Pge3 ― Programmation événementielle Rappels sur 1 exemple : phares d’une voiture  Initialement, les feux sont éteints. En tournant la manette de 90°, on allume les feux de position (veilleuses). Pour éteindre les feux de position, il faut tourner la manette de -90°.  Lorsque les feux de position sont allumés, on allume les feux de croisement (codes) en tournant la manette de 90°. On éteint les feux de croisement en tournant la manette de -90°. Seuls les feux de position sont alors allumés.  Lorsque les feux de croisement sont allumés, on allume les feux de route (phares) en tirant la manette vers soi. On éteint les feux de route 1) en poussant la manette ou en la tournant de -90°. Seuls les feux de croisement (cas 1) ou les feux de position (cas 2) sont alors allumés.  Pour faire un appel de phares, lorsque les feux sont éteints ou lorsque les feux de position sont allumés, il faut tirer la manette vers soi. Le fait de relâcher la manette arrête l’appel de phares.
  • 10. 10 Pge3 ― Programmation événementielle Conception : diagramme États-Transitions état transitionétat initial
  • 11. 11 Pge3 ― Programmation événementielle  Toujours un seul événement d’initialisation  Toujours déterministe init rotation 90° rotation -90° manette tirée manette relâchée Feux éteints init manette tirée manette relâchée Feux de position allumésrotation 90° rotation -90° Appel de pharesmanette tirée manette tirée manette relâchée manette relâchée init rotation 90° rotation -90° manette tirée manette relâchée Feux éteints init rotation 90° rotation -90° manette tirée manette poussée Feux de croisement allumés manette tirée manette relâchée rotation -90° Feux de position allumés Appel de phares Appel de phares + feux de position allumés Feux de route allumés rotation 90° rotation -90° rotation 90° rotation -90° manette tirée manette relâchée manette tirée manette relâchée manette tirée manette poussée rotation -90° Diagramme états-transitions : phares d'un véhicule Non déterministe ! Vérificationsdebase Diagramme États-Transitions
  • 12. 12 Pge3 ― Programmation événementielle Matrice de transitions init rotation 90° rotation -90° manette tirée manette relâchée Feux éteints init rotation 90° rotation -90° manette tirée manette poussée Feux de croisement allumés manette tirée manette relâchée rotation -90° Feux de position allumés Appel de phares Appel de phares + feux de position allumés Feux de route allumés rotation 90° rotation -90° rotation 90° rotation -90° manette tirée manette relâchée manette tirée manette relâchée manette tirée manette poussée rotation -90° Diagramme états-transitions : phares d'un véhicule Feux éteints (état initial) Feux de position allumés Feux de croisement allumés Appel de phares Appel de phares + feux de position allumés Feux de route allumés Manette tirée Appel phares Appel de phares + feux de position allumés Feux de route allumés Manette relâchée Feux éteints Feux de position allumés Rotation 90° Feux de position allumés Feux de croisement allumés Rotation −90° Feux éteints Feux de position allumés Feux de position allumés Manette poussée Feux de position allumés état evt ⇑ ⇓ équivalents
  • 13. 13 Pge3 ― Programmation événementielle Conception de l’interface Potentiomètre Regroupement des composants
  • 14. 14 Pge3 ― Programmation événementielle Nommage des widgets TDB = Tableau de bord démo
  • 15. 15 Pge3 ― Programmation événementielle Déclaration et initialisation de la fenêtre  Déclarations globales de la fenêtre  1 variable pour l’état courant = le bout du fil d’Ariane  N constantes pour les états  M constantes pour les événements  Initialisation de la fenêtre init rotation 90° rotation -90° manette tirée manette relâchée Feux éteints init rotation 90° rotation -90° manette tirée manette poussée Feux de croisement allumés manette tirée manette relâchée rotation -90° Feux de position allumés Appel de phares Appel de phares + feux de position allumés Feux de route allumés rotation 90° rotation -90° rotation 90° rotation -90° manette tirée manette relâchée manette tirée manette relâchée manette tirée manette poussée rotation -90° Diagramme états-transitions : phares d'un véhicule
  • 16. 16 Pge3 ― Programmation événementielle Génération des événements
  • 17. 17 Pge3 ― Programmation événementielle Procédure GDE Traduction de : état courant, évt → état futur • Paramètres de GDE • pEvt : événement déclenché • pEtat : état courant • Modification des composants ex : BTN_Appel..Visible = Faux • Mise à jour de l’état courant ex : pEtat = étatFeuxEteints • Programmation défensive AUTRE CAS : Erreur(…) …
  • 18. 18 Pge3 ― Programmation événementielle Génération de l’exécutable Rappel : DLL = Dynamic-link library
  • 19. 19 Pge3 ― Programmation événementielle Pge3Pge3 étude de cas « Course cycliste contre la montre » 2 TD et 8 TP
  • 20. 20 Pge3 ― Programmation événementielle Analyse (MLD) Créer une liaison Créer un fichier  Ceci est un MLD graphique (pas un MCDi !!!)  Coureur = {numLicence, nom, prénom, #idEquipe} Course = {date, ville, heureDépart, deltaDépart} Equipe = {idEquipe, nomEquipe} Participation = {#numLicence, #date, heureDépart, heureArrivée, points, numDossard} MLDMLD clé primaire clé de parcours
  • 21. Fichiers générés 21 Pge3 ― Programmation événementielle Génération des fichiers + WDMap Générer l’analyse
  • 22. 22 Pge3 ― Programmation événementielle Lecture et écriture dans un fichier De nombreux autres sous-programmes existent : • HModifie • HLitRecherchePremier • HTrouve • …  La doc est ton amie Ceci est un tampon  Transfère le contenu du tampon (mémoire) dans le fichier
  • 23. 23 Pge3 ― Programmation événementielle Groupware utilisateur − Activation
  • 24. 24 Pge3 ― Programmation événementielle Groupware utilisateur − Création d’un login
  • 25. 25 Pge3 ― Programmation événementielle Groupware utilisateur − Configuration
  • 26. 26 Pge3 ― Programmation événementielle Groupware utilisateur − Test EB
  • 27. 27 Pge3 ― Programmation événementielle L’AGL Windev  Atelier de Génie Logiciel CASE = Computer-Aided Software Engineering  Conception  Développement  Test  Livraison  Rappels  1 projet Windev permet de développer une application (n fenêtres)  Configuration : Outils / Options / Options générales de Windev / Répertoires  Projets personnels H:Pge3  Briques de code + Messages C:Temp ou H:Pge3garbage
  • 28. 28 Pge3 ― Programmation événementielle L’AGL Windev chez soi Note : Le fichier à télécharger a une taille de 900 Mo environ; prévoyez environ 40 minutes en ADSL. Vous utilisez un anti-virus de l'éditeur Kapersky ? A l'installation de la version Express, certaines versions de cet anti-virus affichent une information erronée : l'anti-virus indique par erreur la présence d'un cheval de Troie. OL'information est fausse, vous pouvez installer la version sans aucun risque. L'éditeur Kapersky est informé de ce "faux-positif" et travaille à sa correction pour de prochaines versions. Vous pouvez donc ignorer cette alerte et continuer votre installation normalement.