Développement interactif de programmes Pharo 8

Pharo logo with Pharo 8 tools in the background

Comme vous pouvez le constater à travers les menus de Pharo, il y a de nombreux outils. Mais, pour débuter, vous n’avez besoin que d’un petit sous-ensemble. C’est justement ce qui est abordé dans ce tutoriel.


Dans ce qui suit, je vous propose de  prendre en main les outils de base de Pharo 8. Chaque outil est présenté au travers de quelques vidéos très courtes, chacune focalisée sur un point particulier. L’ensemble utilise le même exemple simple pour que vous puissiez suivre facilement.

Pharo Launcher : Créez et gérez vos projets Pharo

La toute première étape pour commencer à développer en Pharo passe par le “Pharo Launcher”. Son nom veut litterallement dire “Lanceur de Pharo”. Cet outil permet de créer et de gérer des projet Pharo en toute simplicité.

A partir du Pharo Launcher on peut lancer un projet précédemment créé. L’image Pharo choisie est ouverte et on peut accéder à tout l’environnement de développement à travers les menus. Ceux-ci permettent également de sauvegarder l’image et terminer la session de développement.

Lancer Pharo sans utiliser le Launcher

Le Pharo Launcher est pratique, mais pas indispensable. Il y a 2 autres manières de lancer Pharo, présentées dans cette vidéo. Pour réaliser cela, il faut disposer d’un projet Pharo (image + change) et d’une machine virtuelle. Tous les deux sont téléchargeables sur le site https://pharo.org

System Browser : Créez des pakages, des classes & des méthodes

Le “System Browser” est un des outils les plus utilisés dans Pharo. C’est le point d’entrée pour lire et analyser le code existant. Et bien sûr, il permet d’écrire de nouveaux programme. Nous présentons cet outil en deux temps :

  • Dans la première partie, nous allons montrer comment créer un package et des classess.
  • Le second volet est est dédié à la création de méthodes. Au passage nous introduisons la notion de “protocole de méthodes” qui permet de mieux documenter le code.

Playground : Des scripts Pharo en toute liberté

Le Playground (litteralement “terrain de jeu”) est très pratique pour expérimenter de manière interactive. On écrit des expressions qu’il est possible d’évaluer de différentes manières. La plus simple est de faire un “Print It” pour afficher le résultat…

Inspector : Analysez et modifiez la structure de vos objets Pharo

L’inspecteur est un outil Pharo qui permet d’observer les champs d’un objet “in vivo”. L’objet affiché est “vivant” et réside dans la mémoire. On voit les conséquences d’opérations qui modifient les champs…

Dans cette seconde partie sur l’inspecteur Pharo, nous allons voir qu’il est possible d’enrichir une classe avec des instances existantes. Une nouvelle méthode peut être utilisé sur un objet en cours d’inspection. Ca c’est de la dynamicité !

L’inspecteur Pharo a plus d’un tour dans son sac. Dans cette 3ème partie sur cet outil, nous allons voir qu’il permet d’envoyer des messages à l’objet en cours d’inspection. Ces “appels de méthodes” se font dans une zone qui ressemble à mini-playground intégré dans l’inspecteur.

Debugger : Exécutez vos programmes Pharo en pas à pas

Le déboggueur Pharo est un outil très sophistiqué. Dans cette vidéo, nous allons voir comment exploiter cette puissance pour analyser l’exécution de quelques lignes de code. Partant du Playground nous déclenchons l’éxcution pas à pas. Cela donne à voir la pile d’appel des méthode, le code de chacun des méthodes, et bien plus…

Transcript : La console Pharo

La console Pharo est appelée Transcript. C’est un objet comme tout dans Pharo. A ce titre, on peut lui envoyer des messages. Il suffit pour cela d’utiliser la variable globale Transcript dans n’importe quelle expression.

Test Runner : Lancement et déboggage de test

Pharo encourage TDD (Test Driven Development) en favorisant la réutilisation de tests SUnit et leur lancement en batterie. En effet, il offre 3 solutions complémentaires :

  1. Lancer une seule méthode de test individuellement en cliquant sur sa pastille dans le System Browser. Ca permet de la débogguer.
  2. Lancer toutes les méthodes de test définie dans une sous-classe de TestCase. C’est possibile aussi-bien dans le System Browser que dans le TestRunner.
  3. Lancer tous les tests définies dans différentes classes, éventuellement dans différents paquetage. C’est possible exclusivement à l’aide du TestRunner.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.