-Bonjour à tous.
Dans cette vidéo, on va s'intéresser
à la façon de gérer et de versionner votre code
à l'aide de Pharo, et plus précisément l'outil Iceberg,
en lien avec GitHub.
Alors, tout d'abord, pour trouver l'outil Iceberg,
vous pouvez aller dans votre environnement Pharo,
puis Tools et Iceberg, ou le raccourci Cmd+O.
Là, ça va être tous les repositories qui sont chargés dans le système.
Il n'y en a qu'un seul de sauvegardé, le code source de Pharo.
Vous pouvez, si vous voulez participer à sa modification
et à l'implémentation de nouvelles features,
suivre les renseignements sur comment l'installer et comment participer.
Maintenant, on va s'intéresser à comment créer un nouveau repository
et l'intégrer à notre environnement Pharo.
Pour ça, on va se diriger sur GitHub.
Si vous n'avez pas de compte, je vous encourage à en créer un.
Ça va vous aider à versionner votre code
et à le stocker quelque part.
Vous vous dirigez sur l'onglet Repositories,
puis vous cliquez sur "New",
le bouton vert.
On va choisir, comme nom, "MyPharoRepository".
On va l'appeler "A small Pharo repository".
On peut cliquer directement sur "Creating repository".
On va voir qu'on va obtenir
un repository GitHub complètement vide.
On a des instructions qu'on ne va pas forcément suivre,
parce qu'Icecberg va s'en occuper pour nous.
On va retourner dans Pharo tout de suite.
Dans Iceberg, on va vouloir ajouter un nouveau repository,
celui qu'on vient de créer.
On va cliquer sur "Add",
on va se diriger dans "Clone depuis GitHub",
rentrer le nom d'utilisateur
ou celui de la personne qui a fait le projet.
En l'occurrence, c'est moi, mais ça pourrait être quelqu'un d'autre.
Le projet, c'est "MyPharoRepository".
Et, pour le protocole, on va choisir HTTPS.
On peut se servir de SSH, mais il faut déjà avoir créé ses clés
et préciser à Pharo où les trouver.
Pour l'instant, on va rester avec HTTPS.
Le repository est en train d'être cloné, on peut le voir ici.
Il est apparu.
On voit une étoile et le nom est écrit en vert.
Des changements n'ont pas été sauvegardés ou mis à jour.
On peut voir le statut : "No Project Found",
parce que notre repository est vide, donc il ne trouve rien du tout.
En général, Iceberg est intelligent,
si vous avez un statut rouge, il va vous aider à le corriger.
On va double-cliquer là-dessus. On peut voir le statut ici.
Et on a le bouton "Repair" qui est ici.
En cliquant sur "Repair", vous avez différentes possibilités.
Ici, on n'en a que deux, mais vous pouvez en avoir plus.
Elles sont classées de la plus probable à la moins probable.
Ici, la plus probable, c'est qu'on a simplement besoin
de créer les meta-data de notre projet.
Les meta-data, ça va être des fichiers
qui vont expliquer à Pharo comment charger votre projet.
Ça, on a besoin de les créer.
On va cliquer sur "OK".
C'est une bonne pratique de rajouter un fichier source
en cliquant sur le "+" ici.
On va rajouter le fichier "src".
On clique sur "src" pour que ce soit l'endroit
où le code va être sauvegardé.
On appuie sur "OK" et on va pouvoir commiter ce premier changement.
On clique sur "Commit".
On va écrire : "Initial commit for meta-data".
On peut voir que notre ".project" a été créé,
qui nous explique où est le source directory,
on a notre dossier source et un ".properties".
On va commit ça tout de suite, puis on va créer une classe
qu'on va pouvoir ajouter à notre package, puis notre repository.
On va se diriger dans le System Browser.
On va créer une nouvelle classe qu'on va appeler "MyPharoClass"
dans le package "MyPharoPackage".
On va sauvegarder ça en appuyant sur Cmd+S.
On peut voir notre classe qui est apparue.
On va enlever tout le reste.
On a package, classe, c'est très bien.
Il faut qu'on l'ajoute à notre repository,
donc on se dirige sur cette fenêtre-ci.
Si vous l'avez perdue, il suffit de double-cliquer ici.
On va ajouter un package.
Le package qu'on va ajouter, ça va être "MyPharoPackage".
On coche, on clique sur "Add".
Notre package est là
et on peut voir que des changements n'ont pas été commités,
comme l'ajout de ce package dans notre repository.
On clique sur "Commit".
On rajoute notre classe Pharo
et le côté classes dans notre package.
"Commit".
"First Pharo class".
"Commit".
Donc, nom, prénom. OK.
Maintenant, on va voir que le package est à jour,
mais on a toujours l'icône rouge à côté de "Push".
Ça veut dire que si on retourne sur GitHub
et que je recharge cette page, absolument rien n'a changé,
parce que les changements ont été faits sur ma working copy,
donc localement.
En cliquant sur "Push",
ça va me présenter les changements que je vais faire,
donc les deux commits, le commit "Initial commit for meta-data"
que je peux inspecter.
Ça va être le premier commit, donc rien de spécial,
et celui-ci, qui va ajouter "MyPharoPackage Class",
qui va ajouter les classes.
Donc, je vais push.
Vu que je suis en train d'utiliser le protocole HTTPS,
je dois me loguer.
Il faut mettre votre username et votre mot de passe sur GitHub.
Vous pouvez les sauvegarder pour les prochaines utilisations.
Si vous avez utilisé le protocole SSH
et que vous avez créé vos clés et indiqué à Pharo où elles sont,
cette fenêtre ne va sûrement pas s'ouvrir.
On clique sur "OK". Voilà.
Il est en train de push notre repository sur GitHub.
On peut voir que le petit point rouge à côté de "Push" a disparu.
Si on se dirige sur GitHub et qu'on recharge,
on va avoir notre Pharo repository qui est apparu.
On peut voir qu'il y a bien le fichier "src" qui est ici,
"MyPharoPackage", et on peut aller inspecter,
si on veut se déplacer, par exemple, la classe Pharo.
Ce qu'il peut être intéressant de rajouter à la suite,
ça va être un readme pour aider les gens à comprendre
à quoi sert votre package.
Et aussi, vous verrez ça par la suite,
une baseline et un petit script pour aider les gens
à charger directement leur package sans avoir besoin d'utiliser GitHub.
Voilà, c'était la présentation
de comment vous servir d'Iceberg couplé à GitHub
pour garder un historique de changement de votre code
et le versionner, et surtout le stocker, tout simplement.