Installe Pharo en local

Apprends à installer Pharo en local pour résoudre les exercices d'Exercism sur ta propre machine.


Installation

La façon la plus simple d'installer Pharo est d'utiliser un téléchargement zero conf depuis une ligne de commande dans un terminal.
Note : si tu cherches à mettre à jour une installation existante, consulte les instructions de mise à niveau.

Les utilisateurs de Windows qui n'ont pas de shell de type UNIX installé peuvent passer directement aux instructions d'installation sous Windows (ci-dessous).
Les utilisateurs de Linux plus avancés voudront peut-être consulter l'installation pour hackers Linux.

Installation sous Linux/OSX

Sous Linux/OSX (en supposant que tu as installé Exercism et rejoint le parcours Pharo), place-toi dans ton répertoire /Exercism/pharo-smalltalk et tape :

curl https://get.pharo.org/64/ | bash

puis lance Pharo avec les outils Exercism en collant le « script de chargement » suivant :

./pharo-ui Pharo.image eval "
Iceberg remoteTypeSelector: #httpsUrl.
Metacello new
 baseline: 'Exercism';
 repository: 'github://exercism/pharo-smalltalk:main/releases/latest';
 load.
#ExercismManager asClass welcome.
"

Si tu rencontres des problèmes de TIMEOUT lors du chargement des outils, tu dois quitter Pharo et vider le cache git en tapant :

rm -rf pharo-local/iceberg/

Répète ensuite l'exemple ./pharo-ui ... ci-dessus.

Si tu rencontres toujours des problèmes, rends-toi sur le canal Discord de Pharo décrit sur la page Communauté Pharo.

Si tout fonctionne correctement, tu verras des barres de progression clignoter sur l'écran, puis une fenêtre du System Browser apparaîtra.

ASTUCE : quand tu quittes Pharo, sauvegarde tes modifications (ouvre le menu Pharo et sélectionne « Save and Quit »). Tu peux maintenant démarrer Pharo avec Exercism déjà chargé, en tapant simplement :

./pharo-ui Pharo.image

Installation sous Windows (à ignorer sous OSX/Linux)

Nous sommes encore en train de définir les meilleurs prérequis pour les outils en ligne de commande sous Windows. Tu peux toutefois installer Pharo graphiquement avec le Windows Pharo Launcher (un outil pratique pour gérer plusieurs images Pharo). Ce lanceur est aussi disponible pour OSX et Linux si tu préfères les interfaces graphiques.

  1. Exécute le fichier .msi téléchargé pour installer le Pharo Launcher.

  2. Lance le Pharo Launcher.

  3. Dans le coin en haut à gauche, clique sur « New ».

  4. Dans la fenêtre, sélectionne « Official distributions » dans les catégories de modèles.

  5. Pour les exercices Exercism, choisis dans la liste des modèles d'images Pharo la dernière version stable (actuellement « Pharo 10.0 64-bit (stable) », recommandée).

  6. Clique pour mettre en surbrillance un modèle d'image, donne-lui un nom, puis clique sur le bouton de création d'image en bas (une forme de roue dentée orange).
    Créer une image depuis le lanceur

  7. Une fois le modèle téléchargé, il apparaît à droite dans le tableau Existing Images. Clique dessus, puis clique sur le bouton de lancement en haut (une flèche play verte).
    Lancer l'image

  8. Une fois l'image Pharo démarrée, ouvre un Playground en choisissant le menu Browse et en sélectionnant Playground, ou utilise ctrl + o + w.
    Ouvrir un playground

  9. Enfin, copie et colle l'extrait suivant dans le playground :

Iceberg remoteTypeSelector: #httpsUrl.
Metacello new
 baseline: 'Exercism';
 repository: 'github://exercism/pharo-smalltalk:main/releases/latest';
 load.
#ExercismManager asClass welcome.

Puis évalue le code collé en le surlignant entièrement, en faisant un clic droit, puis en sélectionnant Do it dans le menu (ou utilise ctrl + d).

Si tout fonctionne correctement, tu verras des barres de progression clignoter sur l'écran, puis une fenêtre du System Browser apparaître.

Premiers pas (tous)

Quand tu lances Pharo, tu vois un projet Welcome dans un System Browser (astuce : si tu perds cette fenêtre, tu peux en ouvrir une nouvelle depuis le menu Tools|System Browser).

Écran d'accueil de Pharo

Le panneau supérieur gauche du System Browser affiche les packages de ton environnement, et tu remarqueras que le script d'installation a déjà configuré un package appelé Exercism, qui contient un tag de sous-projet appelé Welcome. Le deuxième panneau affiche les classes, et il y a également une classe appelée Welcome. Sous le panneau des classes se trouvent 4 boutons radio : « Flat » (affiche les classes du package), « Hier. » (affiche une hiérarchie de classes), « Inst. side » (affiche les méthodes d'instance), « Class side » (affiche les méthodes de classe et les constructeurs).

Si tu cliques sur l'onglet Comment, tu peux voir les dernières instructions pour utiliser Pharo Exercism. Lis les commentaires et essaie de lancer ton premier test.

Pour les autres langages basés sur des fichiers, tu passerais normalement au terminal à ce stade, et tu utiliserais la CLI Exercism pour récupérer l'exercice suivant. Pharo peut certes travailler avec des fichiers de manière similaire, mais l'environnement est en réalité conçu pour travailler avec des objets vivants. Fait intéressant, les classes, les méthodes et le code source sont tous des objets, comme tout le reste dans Pharo. Tu en apprendras davantage au fil de ce parcours.

Charger les exercices

Pour Exercism, nous avons inclus un plugin qui te permet de récupérer et de soumettre des exercices Pharo directement depuis l'IDE. Tout ce que tu as à faire est de faire un clic droit sur un package d'exercice (ici, le package Welcome dans le panneau en haut à gauche), puis de sélectionner l'élément de menu Exercism | Fetch Exercise. Une invite te demandera alors le nom d'un exercice (par exemple hello-world) et, une fois saisi, il sera récupéré automatiquement pour toi.

Les noms des exercices se trouvent dans la description de chaque exercice sur la page de ton parcours Pharo (tout à droite). Il y a une instruction Download avec une commande CLI qui contient la clé de chaque exercice. Tu peux aussi utiliser le bouton de copie à côté des instructions CLI et coller la chaîne entière dans l'invite de récupération (nous en extrairons la clé automatiquement).

Une fois que tu as saisi un exercice valide, le plugin récupère le code correspondant et l'affiche dans le System Browser, prêt pour que tu commences à coder avec les tests.

Quand tous tes tests passent, tu peux soumettre ta solution via le même menu contextuel sur le package de ton exercice (fais un clic droit sur le tag du package et sélectionne Exercism | Submit Exercise...)

Menu de soumission Exercism

Enfin, utilise le menu Exercism | View Track Progress pour visiter le site Exercism et voir quels autres exercices ont été déverrouillés pour toi, ainsi que pour poser des questions sur ta soumission que les mentors pourront lire.


Le savais-tu ? Quand tu lances Pharo, tu restaures en réalité un instantané d'image d'exécution, semblable à une image de système d'exploitation VMWare. C'est un concept puissant qui te permet de suspendre ton travail en pleine opération, parfois même pendant un débogage. Au prochain lancement de Pharo, tu pourras alors reprendre l'exécution pas à pas dans le débogueur restauré, ou même poursuivre une étape de réécriture.

Comment réinitialiser ton jeton CLI

Si tu dois un jour réinitialiser ton jeton CLI pour une raison de sécurité, rends-toi sur ta page de paramètres Exercism et utilise le bouton de réinitialisation du jeton. Une fois que c'est fait, tu dois effacer ton ancien jeton dans Pharo Exercism en évaluant le code suivant dans un Playground :

ExercismHttpClient
    reset;
    promptForToken.

Comment mettre à jour Pharo Exercism

Il peut nous arriver de te demander de mettre à jour les bibliothèques de ton image Pharo Exercism. Suis ces instructions