Le projet Pharo est fier d’annoncer la sortie de Pharo 1.2 — troisième version majeure d’un environnement Smalltalk libre, qui se veut innovant et de qualité.
Révision # 12345
Le mardi 29 mars 2011, la révision #12345 (sans blague) a été promue version finale de Pharo 1.2, branche débutée en juin 2010 et gelée en janvier 2011. La communauté a vu une évolution majeure de l’infrastructure de développement avec la mise en place de serveurs d’intégration continue. Les images Smalltalk Pharo Core (environnement minimal) et Pharo (environnement de développement complet) sont maintenant construites et testées automatiquement.
Pharo Core 1.2 passe 7836 tests unitaires, Pharo 1.2 pas moins de 10 760 tests. Une communauté internationale de développeurs a travaillé dur plusieurs mois pour s’assurer de la compatibilité de Pharo avec plusieurs bibliothèques et plates‐formes, dont Seaside 3.0.3 avec ses 1599 tests qui passent.
Évolutions de Pharo Core
En accord avec la philosophie de Pharo, cette version résulte de nombreuses petites modifications, refactorisations, nettoyages et corrections de bogues qui améliorent la qualité globale du système.
Interface graphique
- Nettoyage de la hiérarchie de classes Pluggable
- Nettoyage des classes Morph et PasteUpMorph
- Nouvelle gestion des annulations / restaurations
- Ajout de DummyUIManager qui permet le fonctionnement de Pharo sans interface graphique
- Ajout de NewTextMorph, version nettoyée de TextMorph
- Suppression des restes de MVC : PopUpMenu, SelectionMenu et CustomMenu
Outils
- Correction des outils d’exploration des références / pointeurs sur objet
- Débogage des blocs amélioré
- Finder remplace les outils Method Names et Messages Finder. Recent Changes remplace Recent Submissions.
- Nettoyage de Utilities, Preferences et TheWorldMenu
- Amélioration de SpaceTally
- Nouveaux thèmes graphiques : Glamorous, Glamorous Orange et GUI Pro
- Intégration de SimpleMorphic (version légère et nettoyée de Morphic) en « preview »
- Ajout de TextEditor et SmalltalkEditor
Sous le capot
- Séparation de SmalltalkImage et SystemDictionary
- Amélioration de la compatibilité avec la machine virtuelle Cog
- Suppression des anciennes expérimentations de JIT
- Suppression des classes vides
- Correction des dépendances cycliques et illogiques entre paquetages, ce qui facilite la création d’images à faible empreinte mémoire (kernel images)
- Migration des outils utilisant le « hack » MethodReferenceWithSource
- Intégration de SUnit 4
Aide
- Ajout de la documentation sur les expressions régulières et le framework d’évènements Announcements
- Plus de classes sont commentées
Structure
- Intégration continue : Hudson construit et teste automatiquement les images, et compile les VM.
Au total, résolution de 693 tickets.
Évolutions de Pharo
L’image de développement complète est automatiquement construite en chargeant la configuration Metacello ConfigurationOfPharo (Metacello permet de gérer les dépendances entre paquetages, à l’instar d’APT pour les paquets Debian)
- Mise à jour de toutes les configurations utilisées par Pharo — utilisation de versions symboliques
- Ajout de nouvelles configurations : Metacello Browser, Memory Monitor, XMLSupport, Autotest.
- Suppression de NewInspector
- Mise à jour de Shout, RoelTyper, OCompletion, OmniBrowser, AutomaticMethodCategorizer, RefactoringBrowsers, Nile, ProfStef
- Nouvelles documentations : Autotest, raccourcis clavier, Metacello, Smalltalk terse guide.
Au total, résolution de 57 tickets.
Téléchargements
Vous pouvez télécharger Pharo 1.2 sous plusieurs formes :
-
Pharo 1.2.1 One-Click est la solution la plus facile pour commencer : cela inclut tous les composants (images, fichiers
« .changes »
et« .sources »
, VM Cog) en un seul paquetage fonctionnant sous GNU/Linux, Mac OS X et MS Windows. - Pharo 1.2.1 : l’image de développement.
- Pharo Core 1.2.1 : l’image minimale (pour des déploiements en production)
Success Stories
Pharo a une base de plus en plus large d’utilisateurs à travers le monde. Un nombre croissant de projets utilisant Pharo sont annoncés publiquement. Les suivants ont récemment été ajoutés :
- DrGeo — une application innovante de géométrie interactive utilisée en enseignement primaire et secondaire.
- Issys Tracking — une plate-forme de gestion des procédures dans l’activité médicale pour une importante organisation de santé en Argentine.
- Inceptive’s Custom ERP — application de gestion de ressources et de planification d’évènements pour un centre culturel en Flandre.
Aller plus loin
- Site du projet Pharo (351 clics)
- Rejoindre la communauté (21 clics)
- Livre Pharo By Example (53 clics)
- Livre communautaire (29 clics)
- PharoCasts - vidéos pour apprendre Pharo (43 clics)
- Serveur d’intégration continue (29 clics)
- Soumettre un bug (15 clics)
# ah non alors
Posté par Gniarf . Évalué à 6.
si c'était la troisième version majeure, il fallait l'appeler Pharo 3.0
[^] # Re: ah non alors
Posté par Yao Kuramoto . Évalué à 2.
je suiçs déçu... ce projet ça n'a rien à voir avec la bière...
(d'ou l'art de de faire moinsser :-D)
[^] # Re: ah non alors
Posté par Serge Stinckwich (site web personnel) . Évalué à 0.
Je me rappelle d'une conférence développeur Smalltalk à Bruxelles où on buvait de la bière Faro entre autre mais Pharo n'existait pas encore.
# difference avec Squeak ?
Posté par fabricius . Évalué à 3.
Hello,
il y a quelques jours j'ai testé Squeak, avec l'image qui correspond au livre "Squeak par l'exemple". C'est quoi les differences avec Squeak? Ca a l'air de se ressembler furieusement.
En tout cas, je conseille au gens d'essayer, c'est assez fun et déroutant (tout est objet, on peut interagir avec l'environnement de dev, systeme de distribution de l'environnement, ...).
Je voulais écrire un petit jeu. Pour l'instant je ne suis pas assez avancé en smalltalk pour ça, mais je compte bien perseverer. Je pense pas faire du smalltalk mon langage principal, mais pour le fun, ca vaut le coup d'essayer.
[^] # Re: difference avec Squeak ?
Posté par Serge Stinckwich (site web personnel) . Évalué à 3.
Pharo est un fork de Squeak, suite à une divergence d'intérêts entre des développeurs qui voulaient continuer à développer une plateforme multimedia un peu fourre-tout (Squeak) et ceux qui voulaient que se développent un Smalltalk avec de meilleures pratiques logicielles (tests unitaires, découplage des modèles et de l'UI, intégration continue des modifications, ...). Pharo vise une cible plus professionnelle avec notamment le développement web avec Seaside.
[^] # Re: difference avec Squeak ?
Posté par Serge Stinckwich (site web personnel) . Évalué à 3.
Il y a aussi un livre "Pharo by example" : http://pharobyexample.org/ et une traduction en français en cours de finalisation: https://github.com/SquareBracketAssociates/PharoByExample-french
[^] # Re: difference avec Squeak ?
Posté par volfoni . Évalué à 3.
Transcript show: 'hello' ; cr.
Je m'étais lancé dans l'aventure d'un petit jeu en 2D
avec Squeak, un peu avant Pharo.
La communauté francophone est vraiment sympa,
et il est facile d'avoir de l'aide.
Côté jeu, j'ai été séduit par le framework Morphic qui dispose
de plein de bonnes choses pour la gestion du clavier,
des évènements, les sprites.
Seul problème, si on veut rester à haut niveau
et seulement utiliser le framework Morphic on perds la possibilité
d'avoir quelque chose de fluide car on partage la boucle d'évènement avec le système.
Du coup si tu veux pouvoir te déplacer pixel par pixel,
c'est un déplacement toutes les 0,5 secondes si ma mémoire
est bonne.
J'ai pas eu le courage d'aller plus loin et de créer ma propre
boucle et de tout gérer derrière.
Bon courage à toi.
[^] # Re: difference avec Squeak ?
Posté par Gniarf . Évalué à 2.
ben c'est un peu (beaucoup) le problème des Morph par rapport à l'ancienne architecture MVC : depuis que le premier est apparu, ça RAME.
[^] # Re: difference avec Squeak ?
Posté par laurent laffont (site web personnel) . Évalué à 3.
Au passage PharoCore 1.2 intègre une preview de SimpleMorphic en vue de baser l'UI sur ce framework. SimpleMorphic viens de Cuis http://www.jvuletich.org/Cuis/Index.html
D'ailleurs dans la dernière release note http://www.jvuletich.org/Cuis/CuisReleaseNotes.html:
Super fast Morphic world display.
[^] # Re: difference avec Squeak ?
Posté par fabricius . Évalué à 1.
ah, et bien tant mieux, car si, comme Volfoni le dit plus haut, il faut 0,5 secondes pour avancer des pixels, c'est mort pour un jeu (même si c'est un petit jeu en 2D, moi je suis resté très Amtrad CPC dans ma tête!). Merci pour l'info.
[^] # Re: difference avec Squeak ?
Posté par volfoni . Évalué à 1.
Amstrad CPC , classe !!
ça explique l'image Cauldron :)
C'est amusant, le jeu que j'avais commencé a écrire en smalltalk c'était Sorcery :)
J'ai écrit un morceau de code, pas du tout finalisé, pour extraire les images
des ROMS, ça m'a permit d'avoir une partie des sprites originaux.
Si ça t'intéresse fabricius, je peux toujours essayer de voir si je retrouve le code.
En tout cas bon courage pour ton développement.
[^] # Re: difference avec Squeak ?
Posté par fabricius . Évalué à 1.
Hello,
Désolé de ma réponse tardive, je reviens de vacances.
Je sais pas pourquoi ton message a été moinssé. Je te plussoie du coup.
Pour extraire les images originales, l'emulateur WinAPE permet de faire ça, malheureusement il est sous windows (comme la plupart des bon émulateurs de vieilles machines). Mais ça ne marche pas pour tous les jeux, ou en tout cas il faut un peu de réglage.
Si tu retrouve le code, je veux bien, surtout que je vois pas du tout comment on peux faire ce que tu dis. Mais ne cherche pas des heures, tant pis si tu ne sais pas ou c'est.
Sorcery, c'est aussi un de mes jeux préférés sur CPC!
# Vendredi?
Posté par cosmocat . Évalué à 4.
C'est un projet libre? Parce qu'ils utilisent Hudson pour leur intégration continue alors qu'il faudrait utiliser jenkins...
[^] # Re: Vendredi?
Posté par laurent laffont (site web personnel) . Évalué à 2.
La migration vers Jenkins est prévue.
# Processus de développement
Posté par Alexandre COLLIGNON (site web personnel) . Évalué à 2.
La dernière dépêche sur Smalltalk m'avait donné envie de regarder de plus près ce langage. J'ai fait un peu joujou avec Squeak puis Pharo et voici une question à laquelle je n'ai pas trouvé de réponse (par simple utilisation) :
Comment s'organise le processus de développement ?
Imaginons que je veuille démarrer un projet développé sous Pharo avec quelques développeurs.
La mise en place d'hudson/jenkins sur le projet Pharo prouve que cela est faisable, mais je n'ai pas trouvé (pas cherché longtemps non plus, je l'avoue) d'information sur ce genre de mise en œuvre.
Si jamais de bonnes âmes averties ont des infos, je suis preneur :D.
p.s:première fois que je poste un commentaire avec la nouvelle interface.... SYMPA !
Alexandre COLLIGNON
[^] # Re: Processus de développement
Posté par laurent laffont (site web personnel) . Évalué à 3.
Le partage des sources peut se faire soit - via une plateforme comme SqueakSource http://squeaksource.com/ et bientot SmalltalkHub http://nicolas-petton.fr/2011/04/06/smalltalkhub-beta-in-a-week.html - soit via un serveur FTP / Webdav ou de fichiers, Monticello lui-même assurant la gestion du versionning
Pour monter son Hudson/Jenkins pour Pharo: https://github.com/renggli/builder
Pharo intègre un système de package (Monticello) ainsi que la gestion de dépendances entre packages (Metacello) avec versions symboliques (#stable, #development, ...). Ce qui permet de contrôler la mise à jour d'une image en production.
Une excellente source d'informations est la mailing-list pharo-dev :)
[^] # Re: Processus de développement
Posté par Alexandre COLLIGNON (site web personnel) . Évalué à 1.
Merci beaucoup pour ces informations.
C'est pas faux, mais c'est chronophage !
Alexandre COLLIGNON
# Et Pharo par l'exemple ?
Posté par GoNoGo . Évalué à 0.
Bonjour,
ou en est la traduction Française de Pharo by examples ?
Merci.
[^] # Re: Et Pharo par l'exemple ?
Posté par laurent laffont (site web personnel) . Évalué à 1.
Je ne sais pas vraiment mais les sources sont ici: https://github.com/SquareBracketAssociates/PharoByExample-french
[^] # Re: Et Pharo par l'exemple ?
Posté par GoNoGo . Évalué à 0.
re bonjour,
oui, j'avais trouvé les morceaux, mais le bouquin complet au format pdf diffusable ?
Merci.
[^] # Re: Et Pharo par l'exemple ?
Posté par laurent laffont (site web personnel) . Évalué à 1.
Diffusable non.
Mais si tu clones le repository il y a un PBE1.pdf compilé.
[^] # Re: Et Pharo par l'exemple ?
Posté par GoNoGo . Évalué à 0.
C'est rigolo !!
Quand tu cliques sur le fichier pdf tu obtiens :
Error: blob is too big
Il a grossi tant que ça Pharo ? Il a la grosse tête ;-)
[^] # Re: Et Pharo par l'exemple ?
Posté par laurent laffont (site web personnel) . Évalué à 1.
:)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.