[Olpc-france] Nouveau sur la liste

Serge Stinckwich serge.stinckwich at doesnotunderstand.org
Fri Aug 8 18:04:11 EDT 2008


Le 7 août 2008 16:01, LASKE, Lionel (C2S) <LLASKE at c2s.fr> a écrit :
>
> Bonjour Serge,

Bonjour Lionel,
je me permet de répondre à ton message sur la liste car cela pourrait
intéresser d'autres personnes.

> Comme Bastien, je me réjouit également de ton intérêt pour OLPC France. Je suis moi aussi persuadé que nos deux communautés peuvent se rejoindre sur des projets concrets. Le CodeCamp que nous prévoyons à la rentrée (probablement plutôt Octobre/Novembre par contre) pourrait en être une première illustration.

Je ne pourrais pas être présent car je serais au Vietnam (d'ailleurs
je cherche des contacts OLPC la), mais j'imagine que d'autres
Squeakers/Smalltalkers pourront venir. Il faudra envoyer un message
sur la liste squeak-fr.

> Mais ton mail a retenu également mon attention car:
> - d'une part je suis assez frustré du EToys sur le XO car je n'arrive par à y adhérer et à bien comprendre ce qu'il y a derrière,

Tu n'est pas le seul ... ;-) Ce n'est pas si simple malgré ce que l'on
peut dire. Etoys est un environnement pour les enfants permettant de
scripter des objets graphiques en utilisant un principe de brique que
l'on peut composer visuellement. Je t'invite à consulter les
différents tutoriels disponibles sur le wiki de Squeak-fr :
http://community.ofset.org/index.php/Squeak_Education
Il y a une vidéo déjà ancience qui montre comment utiliser EToys :
http://francois.schnell.free.fr/bazar/squeak/Etoys_lab_demo_fr/Etoys_lab_demo.htm
Une autre source d'informations est le livre que nous avons traduit en
français : "Des idées puissantes dans la classe" :
http://www.iam.unibe.ch/~scg/Resources/EToyBook/book.pdf

et l'article que j'ai coécrit qui montre comment écrire des jeux avec EToys :
http://www.iam.unibe.ch/~scg/Archive/Papers/Gael06aC5.pdf

Je trouve Scratch (écrit lui aussi avec Squeak!) est une version bien
plus finalisé du même principe, même si c'est un peu moins ouvert que
Etoys.

> - d'autres part j'ai eut le plaisir de développer sur Smalltalk il y a de nombreuses années à la fac et j'étais vraiment tombé admiratif de ce langage avec qui, passé la période d'adaptation, on prend un réel plaisir à développer et à penser "objet".

Oui, c'est vrai que je conseille à tout ceux qui veulent comprendre ce
qu'est la programmation par objets d'apprendre un peu Smalltalk, même
si ne l'utilise pas par la suite, c'est une bonne école quelque soit
le langage que l'on utilise après.

> Bref, j'ai profité de ton mail pour télécharger Squeak 3.9 et le livre "Squeak par l'exemple" et me plonger dedans. Il a déjà occupé quelques unes de mes soirées de vacances et je viens d'adhérer à votre liste de diffusion Française.

On s'occupe comme l'on peut ;-)

> Si je peux me permettre, j'aurais néanmoins quelques questions de débutant:
>
> - J'ai rencontré quelques difficultés avec le tutorial du livre:
>        * Je ne suis pas parvenu à télécharger le fichier gzip des sources de la 3.9. Le fichier sur le site officiel (http://ftp.squeak.org/3.9/SqueakV39.sources.gz) est indiqué corrompu par les différents outils que j'ai utilisé (7-ZIP, GUNZIP ligne de commande, ...). Du coup j'ai droit à un warning au démarrage de Squeak bien que cela ne m'ait pas posé problème pour l'instant. Peut-être est-ce du à ma connexion Internet limitée en ce moment...

Je pense que c'est un problème de connection car j'ai réussi à le
décompresser sans aucun problème sur mon mac. Il faut mieux récupérer
le fichier .sources, sinon toutes les variables du systèmes sont
renommés en t1, t2, t3, etc ...

Je te conseille pour lire le livre l'image disponible ici :
http://gforge.inria.fr/frs/download.php/4624/SqueakByExample-1.3.zip
qui te permettra de faire les exemples du livre à l'identique.

>        * La classe SimpleSwitchMorph du tutorial ne semble pas (ou plus) disposer d'une méthode "turnOff" (ligne 9 de la méthode SBECell>>Initialize, page 35 du livre). Cela provoque une erreur à la sauvegarde de la méthode et à l'exécution. Je l'ai remplacée par un appel de "self setSwitchState: false" qui semble faire l'affaire.

Quelle image de Squeak utilise tu ? Il y a bien une méthode turnOff
dans la classe SimpleSwitchMorph. J'ai vérifié dans une image 3.9 et
3.10.

>        * De la même manière, la classe SimpleSwitchMorph ne semble pas/plus disposer d'une méthode "toggleState". Du coup on a l'impression de retomber sur l'erreur "volontaire" du tutorial (lorsque la méthode est appelée sur SBEGame). J'ai donc ajouté une méthode SBECell>>toggleState dont le code est "self setSwitchState: (self color == self onColor) not" qui semble corriger le problème.

Idem, je trouve bien une méthode toggleState ... Bizarre que tu ne l'a pas.

> - Je n'arrive pas à comprendre ce qu'est réellement eToys par rapport à Squeak et par rapport à l'interface Morphic. Est-ce que c'est une surcouche de Squeak ? Y a-t-il des restrictions particulières pour faire du Squeak sur le XO (ouvrir un navigateur de classe par exemple, importer des packages, ...) à travers eToys ?

Squeak est une implémentation de Smalltalk open-source. Morphic est
l'interface graphique standard de Squeak (bien qu'il existe d'autre
possibilité comme MVC (UI d'origine de Smalltalk), Tweak, GTK ou
encore WxWindows). Etoys est une application permettant de scripter
des objets graphiques au moyen d'un langage visuel.
A priori pas de restrictions pour utiliser Squeak sur X0, bien que
c'est pas très orienté développeur (pas de colorisation syntaxique,
pas de refactoring brower). La version Squeak utilisé par les
développeurs EToys est dérivé de la version 3.8 de Squeak.
La dernière version de Squeak est la 3.10. Si tu veux utiliser une
version de Squeak disposant de tous les goodies développeurs (dont je
ne pas me passer maintenant) comme la colorisation des expressions
Smalltalk dans le navigateur de classes, la complétion syntaxique, le
refactoring browser, etc ... je te conseille d'utiliser la version
packagée par Damien Cassou qu'il remet régulièrement à jour ici :
http://damien.cassou.free.fr/squeak-dev.html

> - Je m'interroge également sur les possibilités d'ouverture de Squeak. Est-il possible par exemple d'appeler du code de la plate-forme hôte (Windows ou Sugar) depuis Squeak ou inversement d'appeler Squeak depuis la plate-forme hôte. Je suis par exemple tombé sur ceci (http://www.visoracle.com/squeak/faq/com-activex.html) qui m'a intéressé vu mon background plutôt .NET: je suis architecte .NET et entre autre l'auteur d'un compilateur Logo (un autre Langage disponible sur le XO...) en .NET (http://liogo.sourceforge.net).

Squeak est assez ouvert, tu peux notamment d'interfacer avec toute
librairie écrite en C. C'est comme cela que l'on peut faire une
interface avec GTK. Voir exemple ici :
http://blog.summer.squeak.org/2008/08/squeakgtk.html
De même, il y a l'air des classes pour s'interfacer avec SUGAR, mais
ne disposant pas d'un XO, je n'ai pas pu vérifier si cela marche
correctement.

Tu peux aller voir du côté de BotIncs : http://smallwiki.unibe.ch/botsinc/
Il s'agit d'un mini-environnement à la Logo écrit en Squeak qui permet
d'apprendre la programmation.
Il y a un livre écrit par Stéphane Ducasse qui décrit cette approche.

Il y a un Logo qui a été écrit en Squeak également mais je n'arrive
plus à trouver les références ...

>
> Voilà, merci d'avance de votre aide.
>
> Je suis impatient de démarrer notre collaboration pour découvrir votre communauté et me replonger dans le monde magique de Smalltalk !

Merci. Je vous invite à poser vos questions sur la liste squeak-fr.

Cordialement,
-- 
Serge Stinckwich
Smalltalkers do: [:it | All with: Class, (And love: it)]
http://blog.doesnotunderstand.org/


More information about the Olpc-france mailing list