SlideShare uma empresa Scribd logo
1 de 29
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

Mais conteúdo relacionado

Semelhante a Programmation événementielle avec Windev

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 2012agnes_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 ludiqueValtech
 
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 DrupalAdyax
 
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 sigmaCIPE
 
Rapport_oral_final
Rapport_oral_finalRapport_oral_final
Rapport_oral_finalJean Ibarz
 
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 : CSIM2hortis
 

Semelhante a 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
 

Mais 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 toulousainesGuillaume 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
 
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 WritingGuillaume Cabanac
 
Prospection de textes scientifiques : vision prospective
Prospection de textes scientifiques : vision prospectiveProspection de textes scientifiques : vision prospective
Prospection de textes scientifiques : vision prospectiveGuillaume 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'innovationGuillaume 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 scientifiqueGuillaume 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 artistsGuillaume 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-HubGuillaume 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 sociauxGuillaume 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 scientifiqueGuillaume 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 coauthorshipGuillaume Cabanac
 

Mais 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
 

Último

PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfRiDaHAziz
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...Faga1939
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSKennel
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsRajiAbdelghani
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETMedBechir
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfRiDaHAziz
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSKennel
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Gilles Le Page
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSKennel
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSKennel
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre françaisTxaruka
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETMedBechir
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 37
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSKennel
 
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 37
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeXL Groupe
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Alain Marois
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .Txaruka
 

Último (19)

PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdf
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 temps
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSET
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdf
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre français
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
 
DO PALÁCIO À ASSEMBLEIA .
DO PALÁCIO À ASSEMBLEIA                 .DO PALÁCIO À ASSEMBLEIA                 .
DO PALÁCIO À ASSEMBLEIA .
 
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directe
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
 

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.