Après le lancement d’artEoz, vous devez choisir le langage dans lequel vous voulez coder : java ou python. Si tous les outils nécessaires au fonctionnement d’artEoz sont installés, vous arrivez alors sur l’interface graphique du logiciel.
Ci-dessous se trouve un exemple d’utilisation d’artEoz pour visualiser le schéma mémoire des variables à la fin de l’exécution du code java donné dans la fenêtre de gauche. Pour reproduire ce schéma assurez-vous que vous disposez de la ressource geometrie (menu « Ressources »). Au besoin, consultez la page « Importer des ressources ».
Une vidéo pour la première prise en main d’artEoz
- Ne cherchez pas à activer le son, cette vidéo est muette :=)
- D’autres vidéos se trouvent sur la page Vidéos.
Interface graphique
- la fenêtre de gauche permet d’entrer les instructions java ou python telles qu’elles sont dans la fonction principale d’une application.
cette icône permet de saisir du texte ; entrez, par exemple :
- la fenêtre de droite visualise le schéma mémoire.
cette icône permet de dessiner ou de rafraîchir le schéma mémoire
- la fenêtre en bas à gauche permet l’affichage des éventuels messages d’erreur et le résultat des fonctions print de votre code.
Langage reconnu
Le code à saisir dans la fenêtre d’édition s’apparente à des instructions telles qu’on les trouve dans la fonction principale d’un programme de test.
Il est possible d’instancier des classes, à condition que ces classes fassent partie de la bibliothèque java ou des ressources spécifiquement importées (via le menu « Ressources ») par l’utilisateur.
- pour java :
- (presque) toutes les instructions sont reconnues :
- déclaration, affectation, déclaration/affectation pour des variables de type primitif ou objet, des tableaux, des listes, …
- instruction conditionnelle
- itération simple (for), itération conditionnelle (while)
- appel de fonctions, y compris la fonction System.out.println
- vous pouvez inclure les instanciations de vos propres classes à condition d’ajouter des nouvelles ressources avec le menu « Ressources ». Il est ainsi possible d’ajouter :
- un package (choisir le nom du répertoire dans la fenêtre qui s’ouvre)
- une archive java
- un simple fichier .class défini sans package
- ce qui n’est pas reconnu :
- la fonction de lecture de données sur l’entrée standard
- les déclarations de fonctions et de classes (si vous en avez besoin, créez vos propres classes en dehors d’artEoz, puis importer les ressources créées), y compris les classes anonymes.
- (presque) toutes les instructions sont reconnues :
- pour python :
- (presque) toutes les instructions sont reconnues :
- déclaration, affectation, déclaration/affectation pour des variables de type primitif ou objet, des tableaux, des listes, …
- instruction conditionnelle
- itération simple (for), itération conditionnelle (while)
- appel de fonctions, y compris la fonction print
- il est également possible de déclarer ses propres fonctions dans la fenêtre de code, par exemple voir la vidéo de l’exécution de la fonction factorielle
- vous pouvez inclure les instanciations de vos propres classes à condition d’ajouter des nouvelles ressources avec le menu « Ressources ». Il est ainsi possible d’ajouter un fichier suffixé par .py contenant la déclaration d’une ou plusieurs classes.
- ce qui n’est pas reconnu :
- les déclarations de classes
- la fonction de lecture de données sur l’entrée standard
- (presque) toutes les instructions sont reconnues :
Options de construction du schéma mémoire
- les options du schéma mémoire se trouvent dans le menu « schéma« , vous pouvez jouer avec la visualisation des champs hérités, des objets morts ou de la pile à l’exécution. Avec la pile et l’activation du mode pas-à-pas, vous pouvez visualiser les appels des fonctions, sans toute fois aller dans le code interne des fonctions (c’est pour plus tard…) L’usage de ces options est illustré par plusieurs vidéos.
- seule une partie des options de visualisation des schémas mémoire sont implantées pour le langage python. En revanche, comme il est possible de définir des fonctions directement dans la fenêtre de code, il est aussi possible de visualiser l’exécution en mode pas-à-pas pour les instructions des corps des fonctions.
Mode pas-à-pas
quitte le mode édition, active le mode pas-à-pas et autorise l’affichage des flèches vous permettant d’avancer/reculer dans les instructions de votre code
exécute toutes les instructions
exécute la première instruction seulement
quitte le mode pas-à-pas et retourne dans le mode édition des instructions de votre code
Importer des ressources
Le menu « Ressources » permet d’importer des ressources personnelles :
- en java, il est possible d’importer :
- un simple fichier .class n’appartenant à aucun package
- un package
- une archive jar
- en python, il est possible d’importer :
- un module
Ces ressources apparaissent ensuite en item du menu « Ressources », elles peuvent être activées et désactivées à tout moment.
Une ressource active au moment de quitter le logiciel sera systématiquement sauvegardée pour être à nouveau automatiquement importée à la prochaine exécution d’artEoz. C’est le chemin d’accès à la ressource qui est mémorisé, si ce chemin change… la ressource n’est bien sûr plus trouvée.
Gestion des fichiers de code
Il est possible de sauvegarder et de charger votre code :
Sauvegarder sous : sauvegarde votre code. Choisissez de préférence une sauvegarde sous le répertoire « Projet0 » qui vous est proposé, mais vous pouvez choisir tout autre emplacement. La gestion des projets n’est pas encore totalement aboutie :=)
Sauvegarder : sauvegarde votre code dans le nom du fichier précédemment précisé.
Charger : charge un code existant.
Le logiciel artEoz crée automatiquement, dans votre répertoire d’accueil, les répertoires artEozJ.wk et/ou artEozP.wk en fonction du langage java ou python choisi. Ces deux répertoires contiennent vos sauvegardes de fichiers de code et d’autres informations liées au fonctionnement du logiciel comme les chemins d’accès aux ressources importées.
Options de visualisation du schéma mémoire
permet d’agrandir le schéma mémoire visualisé.
permet de rapetisser le schéma mémoire visualisé.
augmente la profondeur d’introspection des classes dessinées, c’est-à-dire augmente le nombre maximal de liens suivis pour une même variable (vidéo).
diminue la profondeur d’introspection des classes dessinées, c’est-à-dire diminue le nombre maximal de liens suivis pour une même variable.
enregistre l’image, le format est au choix de l’utilisateur, déterminé par l’extension du nom du fichier.
Raccourcis clavier
Les raccourcis clavier associés aux items des menus sont indiqués dans les items concernés.
De plus, trois touches de fonction ont été programmées pour accélérer l’usage du logiciel :
- F5 : construit/rafraichi le schéma mémoire
- F6 : zoom avant du schéma mémoire
- F7 : zoom arrière du schéma mémoire
Informations
permet d’afficher le profil des fonctions de la classe sélectionnée : double-cliquez sur un nom de classe dans la fenêtre de votre code (attention visuellement le mot semble ne pas être sélectionné et le curseur se déplace à la fin du code) puis cliquez sur le bouton, ceci provoque l’ouverture d’une nouvelle fenêtre affichant l’aide demandée : profil des constructeurs et des fonctions de la classe. Voir la
affiche les informations sur la version d’artEoz
indique que vous travaillez en java (aucun effet quand on clique sur ce bouton)
indique que vous travaillez en python (aucun effet quand on clique sur ce bouton)