Premiers pas avec App Inventor : une “application” test sur la LGV

Voici un premier essai d’une application avec une animation interactive et divers liens, développée avec App Inventor.
Je suis parti de mon travail actuel sur le développement d’une étude de cas sur la signalisation sur la Ligne à Grande Vitesse (LGV) Tours Bordeaux. Mon objectif était avant tout de tester quelques une des possibilités offertes par App Inventor. Je ne me suis pas focalisé sur la pertinence de l’analyse technique de la LGV, ni sur la pertinence des objectifs pédagogiques.

Un premier écran avec une animation interactive évoque ici l’envoie par un centre de contrôle à distance du trafic des TGV, d’informations aux conducteurs, par l’intermédiaire d’une signalisation codée qui chemine à travers divers matériels au sol, ainsi que les rails. L’information envoyée peut être différente sur chaque portion de ligne (canton de 1,5 km). Dans le cas où l’on souhaite faire ralentir un TGV, on l’informera d’une vitesse maximale décroissante sur chaque tronçon.

Le train peut se déplacer sur la voie avec le doigt.
L’animation utilise des images et du textes (qui varient dynamiquement en fonction de la position du doigt qui déplace le train).
Les boutons cliquables dessous donnent accès à des liens de plusieurs type :
. Un lien vers une page web qui s’ouvre avec le navigateur (sans fermer l’application). Il semble que le navigateur plante si on ouvre ce lien après YouTube (bug ?). Relancer l’application dans ce cas.
. Un lien vers vers une page web dans un viewer situé sur la page de l’animation qu’il faut faire défiler (pour l’instant il faut tirer les boutons vers le haut : à améliorer !).
. Un lien vers une page html intégrée à l’application (donc pas sur le web), qui ne contient que tu texte dans mon exemple. La page HTML s’ouvre dans le même viewer que précédemment.
. Un lien vers YouTube, qui ouvre l’application YouTube (cliquer sur la flèche retour pour revenir).
. Un lien vers un fichier pdf est masqué car non fonctionnel dans cette apllication. Il fonctionne avec un fichier pdf sotcké en local, mais cela n’a que peu d’intérêt avec des élèves. Un lien vers un fichier pdf stocké sur Dropbox ne fonctionne pas, même si le lien ne nécessite pas de mot de passe. Acrobat Reader s’ouvre sans télécharger le fichier pdf. L’interface web de Dropbox s’ouvre bien dans le viewer, sans permettre le téléchargement. Il faut donc l’ouvrir dans le navigateur, comme avec le premier lien.

– Voici l’application (.zip à dézipper pour obtenir le .apk qui permet l’installation) :

LGV_300113_V2_Appli

Version du 06/02/13 (en 1280×800, multi-écran, avec formulaire sur Google Drive, …) :

LGV_060213_V2_Appli

– Voici le code source (.zip à télécharger dans App Inventor sans le dézipper) :

LGV_300113_V2.zip

Version du 06/02/13 (présentation dans un article à venir) :

LGV_060213_V2.zip

– Voici mes composants et les blocs (version du 30/01/13) :

 

Développer des applications Android avec App Inventor

Présentation d’App Inventor le 24 janvier 2013

Les connaissances de base pour commencer à développer des applications Android :
– Qu’est qu’Android ?
– Quels outils utilisent les développeurs habituellement ?
– Pourquoi et comment est né App Inventor ?
– Quelques exemples d’applications développées avec App Inventor.
– Quels sont les avantages et inconvénients d’App Inventor ?
– Comment installer Java et App Inventor ?
– L’environnement de développement et les outils d’App Inventor.
– Création d’une première application très simple (pour essayer).
– Comment partager des codes sources ?

1 Android

Androïd est un système d’exploitation développé initialement pour les smartphones.
Il utilise un noyau Linux qui est un système d’exploitation libre pour PC.
Il intègre tous les utilitaires nécessaires à un smartphone. Il est optimisé pour les outils Google (Mail, agenda, maps, Youtube, …).
Android est libre et gratuit et a été ainsi rapidement adopté par des fabricants.
La société Android a été rachetée en 2007 par Google.
Android est aujourd’hui utilisé dans de nombreux appareils mobiles (smartphones et tablettes tactiles notamment).
Les applications sont exécutées par un processeur de type ARM à travers un interpréteur Java.
Android concurrence iOs d’Apple qu’il tend à dépasser en nombre d’utilisateurs.
Windows Phone reste en retard.
Android évolue pour mieux gérer l’hétérogénéité des appareils qui l’utilisent.

2 Développer pour Android

Google fournit gratuitement un kit de développement (SDK) prévu pour s’intégrer (sous la forme d’un plugin) à l’environnement de développement Eclipse (libre).
Il permet de développer des applications codées en langage Java pour les différentes versions d’Android.
Java est un langage de programmation, orienté objet, développé par Sun Microsystèmes, sorti en 1995. Sun Microsystèmes est racheté en 2009 par Oracle.
Une application écrite en Java est facilement portable sur plusieurs système d’exploitation, dont Android, Linux, iOS, Windows.
Une application exécutable sous Android (interprétable par une interface en Java) est un fichier avec l’extension .apk.
Google Play (anciennement Android Market) est une boutique en ligne qui simplifie la distribution des applications pour Android.
Google Play représente une source importante de revenus pour Google qui prend 30% du prix de vente (donc il reste 70% pour les développeurs).
25 Milliards d’applications installées en sept 2012 (comme pour iOs).
Revenus de l’Apple Store 4 fois supérieurs à ceux de Google Play mais Google progresse beaucoup plus vite.

3 Historique du logiciel App Inventor

2009 : Début du développement du logiciel App Inventor par Google à partir de recherches dans l’enseignement de l’informatique faites par le MIT(Institut de technologie du Massachusetts, Boston près de New-York).
Objectif : Permettre à des étudiants qui débutent en informatique d’apprendre à programmer sans se noyer sous le code Java.
2011 : Google rend App Inventor opensource. Le MIT poursuit le développement.
2012 : Version bêta d’App Inventor diffusé par le MIT. Encore en version bêta aujourd’hui.

4 Avantages et inconvénients d’App Inventor

4.1 Avantages d’App Inventor

. Logiciel conçu à des fins pédagogiques (avec des profs).
. Logiciel très bien documenté (site dédié, ebook gratuit en pdf, tutoriels, …), surtout en anglais, mais aussi en français.
. Prise en main rapide par des élèves niveau lycée (dès la classe de seconde)
. Environnement simple et efficace
. Pas de langage à apprendre, ni de lignes de code à écrire : pas de risque d’erreur de syntaxe.
. Programmation graphique : des blocs à définir, à déposer et à assembler, comme un puzzle.
. Accès à toutes les ressources de la tablette : écran tactile, multimédia, microphone avec reconnaissance vocale, les capteurs (accéléromètre, boussole, GPS, …), le WiFi, le bluetooth, connexion internet, mémoire interne pour la gestion de bases de données, …
. Test de l’application pendant son développement, par émulation, directement sur la tablette en Wifi (live testing). Test possible également sur le PC.
. Création d’applications fonctionnant sur tous les appareils Android.
. Possibilité de diffuser des applications via Google Play (25$ par compte, 70% du prix de vente pour le développeur).
. Possibilités d’échanges entre développeurs : application exécutable (.apk) ou code source pour App Inventor (.zip).
. Logiciel libre, gratuit, et multi-plateforme (Wondows XP, Vista, Seven, Mac, Linux).
. App Inventor fonctionne en mode Cloud : Les fichiers sont tous sauvegardés sur les serveurs de Google et accessibles à partir de votre compte Google.
. Logiciel de plus en plus utilisé et qui continue d’évaluer grâce au MIT.

4.2 Inconvénients d’App Inventor

. App Inventor fonctionne en mode Cloud : Des temps de latence peuvent être assez longs. La compilation se fait sur les serveurs du MIT. Une application complexe nécessitera un temps assez long de compilation. Les serveurs peuvent être surchargés voire indisponnibles.
. Pas de code Java modifiable : il faut utiliser une passerelle vers le SDK (pour les développeurs en Java).
. Ne permet pas toutes les possibilités offerte par une programmation en Java avec Eclipse (SDK de Google).
. L’anglais peut être un défaut pour certains.
. Encore en version Bêta.

5 Exemples d’applications développées avec App Inventor

– Applications de la communauté utilisant App Inventor déposées sur le site du MIT :
http://gallery.appinventor.mit.edu/#
Exemple : Molecular movement

6 Installation de Java et d’App Inventor

Page d’aide du MIT (en anglais) pour l’installation.

6.1 Installation et test de Java sur votre PC

Tester si Java est installé sur votre PC avec la dernière version en allant sur cette page de test de Java.
Si nécessaire une mise à jour sera proposée.
Si Java n’est pas installé, aller sur la page de téléchargement de Java.
App Inventor s’exécutera depuis les serveurs du MIT. Il utilisera une fonction de Java, appelé Java Web Start, qui  permet l’exécution d’une application Java à partir d’un navigateur Web (fichier .jnlp).
Tester ici Java Web Start. Pour ce test il s’agit de lancer un éditeur de texte type notepad.
Causes possibles de problèmes : pare-feu, configuration navigateur, configuration réseau, …

6.2 Installation d’App Inventor

. Télécharger l’installer pour Windows : AppInventor_Setup_Installer_v_1_2.exe (environ 90 Mo).
. Lancer l’installation (de préférence en mode administrateur).

7 L’environnement de développement et les outils d’App Inventor

7.1 Lancer App Inventor et créer un nouveau projet

. Se connecter à Internet.
. Ouvrir votre navigateur et vous connecter à votre compte Google.
. Se connecter au site Internet d’App Inventor du MIT : http://beta.appinventor.mit.edu/
Cela peut-être assez long parfois car App Inventor est lancée depuis le Web en mode cloud.
. Créer un nouveau projet :
Cliquer sur My Projects (en haut à gauche) / New / Project Name (sans espace) / OK
Votre projet est sauvegardé sur votre compte Google (donc dans le cloud).
. 1ère fenêtre = Component Designer :
Permet de sélectionner les composants de l’application (boutons, textes, …) et de définir leurs propriétés (taille, couleurs, position, textes, …).
Se décompose en : une palette de composants disponibles, le viewer qui permet de disposer les composants sélectionnés (mais le rendu n’est qu’indicatif), la liste des composants sélectionnés mais aussi des médias (fichiers images ou audio listés dessous), puis les propriétés données à ces composants.
L’App Inventor Designer s’exécute dans une fenêtre de votre navigateur.
. 2ième fenêtre = App Inventor Blocks Editor :
Permet d’assembler les différents blocs de l’application et indique comment les composants doivent se comporter.
Pour l’ouvrir : cliquer en haut à gauche sur “Open the Blocks Editor”.
App Inventor lance le Blocks Editor depuis les serveurs du MIT et propose d’exécuter le fichier AppInventorForAndroidCodeblocks.jnlp. Après téléchargement, Java ouvre la fenêtre du Block Editor sur votre PC (cela peut être assez long).
La palette à gauche contient les blocs à assembler dans la partie droite de la fenêtre pour décrire le comportement de votre . application. Les blocs peuvent être standards (dans l’onglet “Built-in”) ou définis spécifiquement pour votre application (dans l’onglet “My Blocks”).

7.2 Connecter sa tablette en Wifi à App Inventor

. Installer App Inventor Companion sur votre tablette.
App Inventor Companion est une application Android pour vous connecter en Wifi à App Inventor sur votre PC. Le plus simple est d’installer cette application depuis Google Play.
. Se connecter à votre tablette depuis la fenêtre du Block editor :
Cliquer sur Connect to device / WiFi : un code de 6 caractères est donné.
Lancer l’application App Inventor Companion sur votre tablette, saisir sur la tablette le code de 6 caractères donné précédemment (recommencer si le temps prévu est dépassé).
. Si vous n’avez pas de réseau WiFi, vous pouvez vous connecter en USB. L’installation d’un driver USB adapté à votre tablette peut être nécessaire (et éventuellement probléamatique).
. Si vous n’avez pas de tablette (là c’est pas de chance !), vous pouvez utiliser un émulateur en cliquant sur New Emulator.

8 Création d’une première application très simple (pour essayer)

Partons du tutoriel proposé par le MIT pour créer une première application : “Bonjour minette”.
Premier tutoriel téléchargeable ici (en anglais).
– Objectif :
Créer un bouton cliquable avec une image de chat.
Faire miauler le chat quand on clique sur l’image.
– 1ère étape : créer les composants spécifiques à notre application dans le Component Designer.
Création d’un bouton avec l’image et le son.
Dans la palette (à gauche) : cliquer et déposer un Button (dans Basic).
Dans Propriétés (à droite) : ajouter le fichier image, puis un texte.
Dans la palette : cliquer et déposer un Sound (dans Media), qui apparaît dessous le viewer dans les composants non visibles, mais aussi dans la liste des composants à droite,
Dans Propriétés : ajouter le fichier son (dans Source).
– 2ième étape : définir le comportement des composants dans le Blocks Editor
Définir ce qu’il faut faire quand on clique le bouton (= un événement à gérer) :
Dans My Blocks (à gauche) :
Cliquer sur Button1, puis cliquer et déposer (droite) le bloc “when Button1.Click do”
Cliquer sur Sound1 puis cliquer et déposer le bloc “call Sound1.Play”
Assembler les deux blocs précédent pour former “when Button1.Click do call Sound1.Play”
Un son valide l’assemblage.
On peut ajouter d’autres événements, par exemple faire vibrer la tablette si on appuie sur le bouton.
Dans My Blocks (à gauche) :
Cliquer sur Sound1 puis cliquer et déposer le bloc “call Sound1.Vibrate”.
Pour définir une durée de vibration de 500 ms par exemple.
Cliquer dans l’espace de travail, choisir Math, 123, puis éditer la valeur numérique du bloc qui apparait.
Assembler ce bloc avec le précédent.
On peut ajouter encore un autre événement : miauler si on secoue la tablette :
Dans le Component Designer, ajouter un composant pour l’accéléromètre.
Cliquer sur Sensors (palette à gauche), cliquer sur AccelerometerSensor1, puis déposer.
Dans le blocks Editor :
Ajouter un bloc pour gérer l’événement AccelerometerSensor1.Shaking (depuis My Blocks).
Ajouter et assembler un bloc “call Sound1.Play” pour cet événement.

Fenêtre du Component Designer d’App Inventor (Source LP2I)

Blocs de l’application dans le Blocks Editor (Source LP2I)

8.1 Compiler votre application pour obtenir le fichier .apk

. Dans le Component Designer :
Cliquer sur “Package for Phone” / Download to this Computer.
Une barre de progression apparaît alors pendant la compilation sur les serveurs du MIT.
Enregistrer le fichier .apk de votre application.

8.2 Installer et tester votre application sur la tablette

. Configurer votre tablette pour autoriser, temporairement, l’installation d’applications qui ne proviennent pas de Google Play.
. Fermer éventuellement l’application App Inventor Companion sur votre tablette (qui permettait de tester l’application avant compilation).
. Récupérer le fichier .apk de votre application dans votre tablette.
. L’ouvrir pour l’installer.
. Lancer l’application.

9 Partager des codes sources

Depuis le component Designer :
Dans My Projects : More actions
choisir upload source pour ouvrir un code source zippé (.zip)
choisir download source pour récupérer l’application sélectionnée, sous la forme d’un fichier .zip.

10 Autres ressources

Diaporama de José Rouillard (universiété de Lile)
Electropol
Tutoriel d’Objectif Nux
ebook sur App Inventor de David Wolber (libre et gratuit)

Premiers essais de modélisations et de simulations avec SinusPhy

Je présenterai dans un prochain article des simulations à exploiter avec des élèves. Mais en attendant, pour ceux que ça intéressent, voici mes premiers essais de modélisations et de simulations avec SinusPhy, sans explications détaillées ni exploitations pédagogiques pour l’instant.

Vous trouverez ci-dessous les fichiers Sinusphy de mes essais modélisations et de simulations avec des captures  :

Essais simulations LP2I 050113.zip (733 Ko)

Vous trouverez dans ces fichiers les essais suivants de modélisations et de simulations :

. Atténuateur potentiométrique avec deux résistances variables (on voit ici la démarche très spécifique de ce type de modélisation).

Atténuateur potentiométrique (Source : LP2I)

. Bascule T : La sortie commute sur front montant de l’entrée (on voit ici la puissance de la fonction “if(condition, v1, v2)”).

Bascule T (Source : LP2I)

. Bascule RS : Entrées Set de mise à 1 et Reset de mise à 0 de la sortie, actives au niveau haut (utilisée dans la modélisation suivante).

Bascule RS (Source : LP2I)

. Commandes séquentielles Ma1 et Ma2 de mise en marche d’un moteur avec deux sens de marche (1 et 2). Transmission à un mécanisme en rotation lente d’un angle Alpha avec deux capteurs fin de course (FDC1 et FDC2). Deux modélisations au comportement équivalent.

Commande séquentielle (Source : LP2I)

. Commandes séquentielles Ma1s et Ma2s ou combinatoires Ma1c et Ma2c de la mise en marche d’un moteur avec deux sens de marche (1 et 2). Les commandes combinatoires sont actives si l’entrée C vaut 1, sinon ce sont les commandes séquentielles qui sont actives. Le reste ne change pas du cas précédent.

Commandes combinatoires ou séquentielles (Source : LP2I)

. Chauffage avec thermostat géré en Tout Ou Rien. Nombreux paramètres réglables (Tinitiale, Textérieure, Pmax, isolation thermique, inertie thermique, seuils du thermostat).

Chauffage avec thermostat (Source : LP2I)

La suite donc dans un prochain article.

Mon premier test de SinusPhy

J’enseigne les Sciences de l’Ingénieur et l’enseignement technologique transversal en STI2D au Lycée Pilote Innovant International de Jaunay-Clan, près de Poitiers.

Je suis un nouvel utilisateur de SinusPhy. Je commence à créer des activités de simulations pour mes élèves de SI et de STI2D. Je ferai bientôt un article avec mes premiers projets de simulation.

Après avoir essayé SinusPhy pendant quelques jours, voici mes premières remarques. Dans cet article j’ai choisi de surtout détailler les problèmes rencontrés ou les choses à améliorer. Je communiquerai ces remarques au support d’Atemi en espérant contribuer modestement à l’amélioration de SinusPhy.

La documentation de SinusPhy
. SinusPhy est développé par Atemi et commercialisé par Cadware depuis septembre 2011.
C’est un logiciel encore très (trop ?) jeune avec une documentation très réduite :
http://atemi.pagesperso-orange.fr/downloads/SinusPhy/Documents/Presentation_SiNuSPhy.pdf
. L’aide intégrée au logiciel n’est pas mal faite mais reste assez incomplète et il manque des exemples simples dans les tutoriels.
. Le seul forum que j’ai trouvé avec un sujet dédié à SinusPhy ne comporte que 2 messages d’utilisateurs, mais des réponses sont apportées :
http://applitec.free.fr/forum/viewforum.php?id=9
. On ne trouve pas sur Internet des activités pédagogiques développés par des enseignants.

La prise en main de SinusPhy
. SinusPhy se prend assez facilement en main mais un élève devra être fortement guidé.
. La logique de SinusPhy est très différente des logiciels de simulation de schémas électriques basés sur Spice (Orcad par exemple).
. L’interface pour la simulation n’est pas aussi conviviale que celle de FlowCode par exemple où on peut créer des IHM virtuelles très simplement.
. Atemi insiste beaucoup dans ses exemples sur le lien avec la modélisation mécanique issue de Méca3D. Je n’ai pas encore essayé SinusPhy avec Méca3D.

Les composants simulables dans SinusPhy
. Bibliothèques trop peu fournis : rien à voir avec Matlab ou Scilab.
. Les curseurs : peu pratiques pour des entrées logiques. Des boutons comme dans FlowCode seraient préférables.
. Edition des propriétés d’un composant.
L’utilisation d’opérateurs logiques dans un composant standard semble limitée.
On peut écrire e3 = if(e1 or e2, 1, 0) mais on ne peut pas écrire e3 = e1 or e2.
Les alias des entrées/sorties sont liés au composant. On ne peut pas donner un alias à un flux entre des composants : pas logique ni pédagogique.
. Les composants de type dipôle, comme une résistance ou une diode, ne sont ni pédagogiques ni pratiques. Ils conservent plus ou moins le symbole d’un dipôle, mais ils ne peuvent pas être utilisés pour simuler un petit schéma électrique comme un circuit RC, sauf à utiliser des sommateurs … qui compliquent tellement que ça n’est plus intéressant pédagogiquement. Un circuit série est représenté par des composants en parallèles, … Intéressant pour des profs, pas pour enseigner avec des élèves qui n’ont pas le recul nécessaire !

La saisie des schémas dans SinusPhy
. Le croisement des liaisons avec des “ponts” ne correspond pas aux normes de schématisation. Cette représentation est complètement rétrograde et alourdit les schémas.
. Le symbole du repiquage devrait être supprimé et devrait être implicite en respectant les normes de schématisation. Il alourdit beaucoup la saisie et la lecture des schémas.
. Le déplacement des liaisons est parfois limités en fonction du tracé initial. Les changements d’angles doivent être faits manuellement par exemple.
. On peut copier une partie d’un schéma mais les segments de liaisons ne sont copiés que si une liaison est intégralement sélectionnée. Ce n’est pas pratique.
. Il faut sélectionner l’outil “lien” pour chaque liaison : trop lourd comme procédure.
. Quelques bugs : des segments qui disparaissent parfois, des connexions qui parfois ne se font que si on déplace le composant, …
. La commande Annuler n’est jamais active !
. La grille est trop présente par rapport à l’épaisseur des traits des liaisons. On perd en lisibilité. On peut supprimer la grille, mais ça n’est pas idéal. Les liaisons devraient être plus lisibles et la grille plus discrète.

Les graphes dans SinusPhy
. La courbe rouge est parfois masquée par le curseur gris.
. On ne peut pas choisir la taille du graphe, ce qui serait utile pour les grandeurs logiques.
. On devrait pouvoir facilement avoir un graphe multiple où les chronogrammes sont l’un au-dessus de l’autre, en synchronisme, avec une hauteur faible pour les signaux logiques.
. On ne peut pas imprimer tous les graphes sur une même page.
. Le composant Sortie ne permet que de superposer des graphes avec une échelle commune pour les signaux logiques et analogiques !
. Pas de curseurs pour mesurer un intervalle en abscisse ou en ordonnée.

Conclusion
Voici donc mes premières remarques. J’ai qu’en même réussi à avancer assez rapidement dans la prise en main de ce logiciel. C’est d’ailleurs ça qui fait sa force, en plus de son prix abordable (de l’ordre de 1000 € les 10 licences) par rapport à Matlab (environ dix fois plus cher). J’espère pouvoir assez rapidement développer une première activité de simulation avec mes élèves en 1ère SI et en Term STI2D. Il me faut encore éclaircir les objectifs avec les nouveaux référentiels. Je ne sais pas encore si mes élèves parviendront à travailler efficacement avec ce nouvel outil.

Je présenterai dans un prochain article mes premiers essais de modélisations et de simulations.

Logiciel de simulation SinusPhy en Sciences de l’Ingénieur

SinusPhy est un logiciel de Simulation Numérique des Systèmes Multiphysique.

C’est un logiciel développé par Atemi et commercialisé par Cadware depuis novembre 2011. Atemi édite aussi le logiciel Meca3D.

SinusPhy concurrence Matlab et Simulink en proposant une solution nettement moins chère dont l’ergonomie a été pensée pour une utilisation au Lycée (SI et STI2D).

Vous trouverez d’autres articles sur mes modélisations et simulations avec SinusPhy.

La page de présentation de SinusPhy par Atemi.

Les ressources sur SinusPhy proposées par Cadware.

SinusPhy (source : atemi.pagesperso-orange.fr)

 

Dia : un logiciel libre pour tracer des chronogrammes, des diagrammes, …

Dia est un logiciel libre (open source) de dessin vectoriel permettant de tracer toutes sortes de diagrammes.

Quelques liens utiles :

Le site du projet Dia (anglais)
Dia sur Framasoft (français)
Télécharger Dia sur Sourceforge.net
Télécharger Dia en version portable sur sourceforge.net.

Vous pouvez installer Dia sur votre PC quelle que soit sa version de Windows. Il existe des versions pour les autres OS, y compris Android. Il existe des versions portables.

Pour tracer des chronogrammes avec Dia :

1) Lancer Dia.
2) Choisir “Chronogramme”. 3) Sélectionner “Ligne de données” et créer une ligne de données.
Pour créer une ligne de donnée avec l’outil corespondant il faut cliquer à l’endroit où on veux une ligne de donnée puis tirer pour définir la taille du chronogramme.

4) Ajouter éventuellement une base de temps avec l’outil correspondant à gauche.

5) Editer les propriétés
On peut choisir la date de début et de fin.
Pour des signaux logiques on peut choisir des temps de montés et de descente nuls.
On peut choisir l’aspect des lignes, les polices, …
Voici un exemple (téléchargeable ici : Diagramme241112 )

Pour spécifier la position des commutations (fronts) appelés évènements, la syntaxe est simple mais peu intuitive.
Pour le signal A1 on peut mettre les évènements suivants : @0)5(2)8(3)17(
@0 permet de commencer à t = 0. )5 correspond à un front descendant suivi d’un état bas de 5s (2 correspond à un front montant suivi d’un état haut de 2s etc …
Cette description aurait pour inconvénient de faire apparaître un front descendant initialement. Si on commence directement par le front montant à t = 5s le signal serait indéterminé avant. La solution que j’utilise donc est d’initilaiser avec un front descendant à t = -1, de manière invisible. Ce qui donnerait : @-1)6(2)8(3)17(
On peut simplifier ici en définissant chaque impulsion indépendamment les une des autres : @-1@5(2)@15(3)@35(

6) Dupliquer et modifier les autres chronogrammes
Par exemple pour A2 : @-1)@5(3)@15(4)@35(

7) Ajouter des lignes pointillées verticallement pour préciser les évènements synchrones.

8) Exporter au format souhaité, JPEG par exemple, pour pouvoir ensuite insérer le diagramme sous forme d’une image dans un document, un blog, …