Modifications

Sauter à la navigation Sauter à la recherche
2 729 octets ajoutés ,  11 août 2013 à 16:29
Ligne 1 : Ligne 1 :  
{{Pi-WebIde-NAV}}
 
{{Pi-WebIde-NAV}}
   −
{{bloc-etroit|text=Pour démarrer le visualiseur, ouvrir un script python que vous pouvez lancer. Dans le menu, il y aura un lien avec le titre "Visualize". Cliquez sur le lien "Visualize".}}
+
== Introduction ==
 +
{{bloc-etroit|text=Le visualiseur est une fonctionnalité concue pour aider à comprendre le fonctionnement du code python d'un programme à un niveau plus fondamental. Il vous permet de voir ce que l'interpréteur Python fait lorsque qu'il exécute les différentes étapes/intructions du programme. Vous pouvez voir des opérations comme d'assignation des variables, création d'objets, etc.
   −
[[Fichier:Pi-WebIde-Visu-01.png]] [http://learn.adafruit.com/assets/3437  ]
+
D'une façon générale, le visualiseur un bon outil à utiliser si l'on a besoin de comprendre ce que que fait un script relativement simple.  
 +
}}
   −
{{bloc-etroit|text=Une fois le lien cliqué, il faudra de quelques secondes à quelques minutes pour charger, dépendant de ce que votre script doit effectuer. Parfois lorsqu'il est aussi simple que d'allumer quelques LED's, ou afficher quelques lignes, il sera chargé vraiment rapidement. La chose à surveiller est que vous n'ayez pas de boucle infinie dans votre codecomme par exemple lorsque votre script est conçu pour enregistrer périodiquement la température.
+
Le visualiseur permet de répondre à différentes quesions comme:
 +
* "Comment fonctionne la récursivité?",
 +
* "Comment fonctionne l'appel de fonction?",
 +
* "Comment fonctionne les méthodes avec les listes? des méthodes tels que "append"".
 +
 
 +
== Démarrer le visualiseur ==
 +
{{bloc-etroit|text=Pour démarrer le visualiseur, ouvrez un script python que vous pouvez lancer.
 +
 
 +
La barre de menu affiche un lien avec le titre "Visualize" (visualiseur). Cliquez sur le lien "Visualize".}}
 +
 
 +
[[Fichier:Pi-WebIde-Visu-01.png]]
 +
 
 +
{{bloc-etroit|text=Une fois le lien cliqué, il faudra de quelques secondes à quelques minutes pour charger le visualiseur. Le temps nécessaire dépend directement de ce que votre script doit effectuer.  
 +
 
 +
Lorsque le script doit simple allumer quelques LED's ou afficher quelques lignes, le visualiseur sera chargé vraiment très rapidement.
 +
 
 +
Le point à surveiller est l'utilisation d'une boucle infinie dans votre code... comme par exemple lorsque votre script est conçu pour enregistrer périodiquement la température. <font color="red">Vous ne pouvez pas utiliser le visualiseur avec une boucle infinie!</font>
   −
L'écran suivant vous montre ce qui suit :
   
}}
 
}}
   −
[[Fichier:Pi-WebIde-Visu-02.png]] [http://learn.adafruit.com/assets/3438  ]
+
== Le visualiseur ==
 +
 
 +
=== L'interface du Visualiseur ===
 +
Une fois le visualiseur ("Visualizer" en anglais) démarré, WebIDE vous affichera l'écran suivant:  
   −
La barre d'outils (#1) vous permet de parcourir votre programme. Vous pouvez naviguer de la façon désirée , en avant, en arrière, sauter au départ, ou à la fin.
+
[[Fichier:Pi-WebIde-Visu-02.png]]
   −
Le code (#2) est listé à gauche. Pendant que vous parcourrez votre programme, vous verrez deux flèches dans la gouttière gauche qui vous indiqueront quelle ligne est exécutée (vert), et laquelle sera exécutée en cliquant  "Forward" (rouge).
+
La barre d'outils (#1) vous permet de parcourir votre programme. Vous pouvez naviguer a votre guise dans votre programme, en avant, en arrière, sauter au départ, ou à la fin.
   −
La colonne de droite affiche la pile mémoire (#3) que votre programme exécute. Vous verrez l'assignation de vos variables, la création des objets, etc.
+
Vous y trouverez les boutons/liens suivants:
 +
* '''First''' - Signifiant ''premier'', permet de revenir à la première ligne exécutée.  
 +
* '''Back''' - Signifiant ''en arrière'', permet de revenir à la ligne précédemment exécutée.
 +
* '''Forward''' - Signifiant ''en avant'', permet de se déplacer sur prochaine la ligne exécutée.
 +
* '''Last''' - Signifiant ''dernier'', permet de se déplacer sur la dernière ligne exécutée.
   −
Le panneau du bas est la sortie de votre programme (#4). Chaque fois que vous avez une déclaration "print", ou tout autre type de sortie, vous la verrez s'afficher dans cette section.
+
Le centre de la barre (#1) affiche également le texte "Step 1 of 29" signifiant ''étape 1 de 29''.
 +
 
 +
Le code (#2) est affiché à gauche. Pendant que vous parcourrez votre programme, vous verrez deux flèches dans la marge gauche qui vous indiqueront quelle ligne est exécutée (vert), et une flèche rouge pour indiqué celle qui sera exécutée en cliquant "Forward" ("Forward" signifie ''en avant/vers l'avant'').
 +
 
 +
La colonne de droite (#3) affiche l'évolution de pile mémoire au cours de l’exécution des étapes ("''steps''") du programme. Vous verrez l'assignation de vos variables, la création des objets, etc.
 +
 
 +
Le panneau du bas (#4) affiche la sortie de votre programme. Chaque fois que vous avez une instruction "print", ou tout autre type de sortie, vous le résultat de ces instruction s'afficher dans cette section.
 +
 
 +
=== En pratique ===
    
Voici une capture d'écran qui vous montre le déroulement d'un programme :
 
Voici une capture d'écran qui vous montre le déroulement d'un programme :
   −
[[Fichier:Pi-WebIde-Visu-03.png]] [http://learn.adafruit.com/assets/3439  ]
+
[[Fichier:Pi-WebIde-Visu-03.png]]  
 +
 
 +
Comme vous pouvez le constater sur l'exemple ci dessus:
 +
* Le visualiseur affiche l'état actuel dans lequel vous pouvez voir l'état des différents variables globale. Notez la valeur de la variable Z.
 +
* Il présente également la fonction foo (en cours d'exécution)
 +
* La ligne juste exécutée est le numéro #31.
 +
* La prochaine étape exécutée est la numéro #24 dans la fonction foo... étape dans laquelle l'on va ajoute la valeur "hello" dans la liste.
 +
 
 +
Si vous prêtez attention à la ligne #31.
 +
* la fonction foo est appelée avec "z" comme paramètre "lst".
 +
* "z" est aussi une liste (une variable globale).
 +
* En observant l'appel de "foo" dans le visaliser, vous pouvez constater que:
 +
** "lst" pointer vers une liste (où les valeurs sont visibles)
 +
** que la liste en mémoire (les valeurs) est en fait partagé par "lst" et "z"
 +
 
 +
== Note importante ==
 +
 
 +
La chose à noter concernant le visualiseur est que votre script est exécuté en entier sur le serveur, puis vous renvoie les retours de votre script dans WebIDE. Ce n'est pas un débogueur en temps réel, même si WebIDE dispose aussi d'un débogueur.
 +
 
 +
Par exemple, si vous avez une LED qui doit s'allumer dans votre programme, elle s'allumera rapidement au cours de l'exécution par le visualiseur.  
   −
La chose à noter concernant le visualiseur est que votre script entier est exécuté sur le serveur, il vous renvoie les retours de votre script dans WebIDE. ce n'est pas un débogueur en temps réel (mais WebIDE le fait aussi bien!). Par exemple, si vous avez une LED qui doit s'allumer dans votre programme, elle s'allumera rapidement et nous renvoie sa réponse, et au cours de votre programme, la LED ne s'allumera pas comme elle est déjà allumée.
+
Ensuite, pendant que vous parcourez les étapes dans le visualiseur, cette dernière ne s'allumera plus... puisque vous inspectez les étapes dans le visualiseur et '''non re-exécuter''' le programme en mode pas-à-pas.  
   −
Le crédit pour le visualiseur est rendu à Philip Guo à[http://pythontutor.com/ pythontutor.com]. Nous avons dérivé, torturé, converti, et modifié cette création open source pour quelle fonctionne simplement avec notre  WebIDE.  
+
Le crédit pour le visualiseur est a rendre à Philip Guo de [http://pythontutor.com/ pythontutor.com]. Adafruit Industries à dérivé, converti et modifié cette création open-Source pour quelle fonctionne avec WebIDE.  
    
{{Pi-WebIde-TRAILER}}
 
{{Pi-WebIde-TRAILER}}
29 917

modifications

Menu de navigation