Comment suivre ce MOOC ?

5 profils ont été identifiés pour suivre le cours à des vitesses et niveaux différents. Les séquences du cours seront étiquetées en fonction des profils. Ces profils ne sont pas exclusifs : pour devenir un expert en Pharo il faut commencer par le profil newbie et compléter avec les autres parcours.

Table des matières

Sélectionnez un profil pour afficher les séquences et exercices correspondants :
Introduction
Présentation du cours
Activités
Guide d'utilisation de la plateforme
Guide d'utilisation du forum
Ressources complémentaires
Installation de Pharo
Questionnaire 1
Conditions d'utilisation
 
Semaine 1 : Démarrage et découverte de la syntaxe
Newbie Lecture 1.1. Objectifs du MOOC
Newbie Lecture 1.2. Pharo: un système objet immersif
Newbie Lecture 1.3. Vision
Newbie Lecture 1.4. Modèle objet de Pharo en 5 min
Newbie Lecture 1.5. Syntaxe Pharo en 5 min
Newbie Lecture 1.6. Définition de classe et méthodes
Newbie Live 1.7.1. Sélectionner et exécuter des expressions
Newbie Live 1.7.2. Apprendre Pharo avec Prof Stef
Newbie Live 1.7.3. Colorisation de syntaxe
Newbie Live 1.7.4. Apprendre les raccourcis clavier
Newbie Redo 1.7.5. Développer un compteur
Newbie Exercice 1.8.1. Expressions et messages
Newbie Exercice 1.8.2. TinyBlog: présentation et modèle
Xpert Challenge 1.9. Challenge 0
 
Semaine 2 : Syntaxe Pharo, Blocks et inspecteur
Newbie Lecture 2.1. Comprendre les messages
Newbie Lecture 2.2. Messages pour les programmeurs Java
Newbie Lecture 2.3. Messages : Composition et Précédence
Newbie Lecture 2.4. Comprendre les messages : Séquence et Cascade
Newbie Live 2.5.1. Trouver des méthodes avec Finder
Newbie Live 2.5.2. GTInspector 1 : inspecter et intéragir avec les objets
Newbie Lecture 2.6. Introduction aux Blocks
Newbie Lecture 2.7. Boucles
Newbie Lecture 2.8. Booléens et conditions
Newbie Lecture 2.9. Parenthèses vs. Crochets
Newbie Lecture 2.10. Yourself
OO1 Lecture 2.11. Essence du Dispatch: Un exercice
Newbie Live 2.12.1. Nautilus 1: premier contact
Newbie Live 2.12.2. Nautilus 2: packages, étiquettes et groupes
Newbie Live 2.12.3. Nautilus 3: héritage
Newbie Redo 2.12.4. Coder un compteur dans le debogueur
Newbie Exercice 2.13.1. Solution : expressions et messages
Newbie Exercice 2.13.2. Résultats d'expressions
Newbie Exercice 2.13.3. TinyBlog : extension et tests
Xpert Challenge 2.14.1. Solution : Challenge 0
Xpert Challenge 2.14.2. Challenge 1
 
Semaine 3: Conception, méthodes de classes et collections
Newbie Lecture 3.1. Essence de sélection de méthode 1/2
Newbie Lecture 3.2. Essence de sélection de méthode 2/2
Newbie Lecture 3.3. Variables
Newbie Web1 Lecture 3.4. Une petite application HTTP
Newbie Live 3.5.1. Nautilus 4: comment devenir un super Pharoer ; comprendre sender / implémenteurs
Newbie Live 3.5.2. Nautilus 5: naviguer rapidement à l'intérieur d'une classe
Newbie Lecture 3.6. Méthodes de classe
Newbie Lecture 3.7. Un survol des principales collections
Newbie Live 3.8.1. Spotter 1: trouver et browser une classe
Newbie Live 3.8.2. Spotter 2: filtrer les résultats par catégorie
OO1 Lecture 3.9. Itérateurs
Newbie Lecture 3.10. Survol des Streams
Newbie Lecture 3.11. Comprendre Return
Newbie Redo 3.12. Développer un petit langage spécifique
Newbie Exercice 3.13.1. Solution : résultats d'expressions
Newbie Exercice 3.13.2. Réécrire des expressions
Newbie Exercice 3.13.3. TinyBlog : une interface web simple avec Teapot
Xpert Challenge 3.14.1. Solution : Challenge 1
Xpert Challenge 3.14.2. Challenge 2
 
Semaine 4 : Héritage et recherche de méthode et développement Web
Newbie Lecture 4.1. Héritage
Newbie Lecture 4.2. Héritage et Recherche de Méthode
Newbie Lecture 4.3. Héritage : Super
Newbie Lecture 4.4. Héritage : doesNotUnderstand:
Xpert Lecture 4.5.Recherche de Méthode et Métaclasses
OO1 Lecture 4.6. Méthodes de classes comme mécanisme d’enregistrement
Web1 Lecture 4.7. Survol de la Pile Web Pharo
Web1 Lecture 4.8. Seaside : Un framework web innovant
Web1 Lecture 4.9. Seaside : Rendu des composants
Web1 Lecture 4.10. Seaside : Un oeil sur MetaDonnées et REST
Web1 Lecture 4.11. Voyage : Base de données objet noSQL
Newbie Live 4.12.1. Comment charger du code d'un repositoire
Newbie Live 4.12.2. Comment charger un projet
OO1 Live 4.12.3. Nautilus 6 : un survol des refactorings
OO1 Live 4.12.4. Nautilus 7 : utiliser l'assistant de qualité et code critique
Newbie Exercice 4.13.1. Solution : réécrire des expressions
Web1 Exercice 4.13.2. TinyBlog : persistance avec Voyage et Mongo
Web1 Exercice 4.13.3. TinyBlog : une interface web avec Seaside
Web1 Exercice 4.13.4. Construisons une gestion de contacts
Xpert Challenge 4.14.1. Solution : Challenge 2
Xpert Challenge 4.14.2. Challenge 3
 
Semaine 5 : Exception, débuggage et réflexion
Web1 Lecture 5.1. Seaside: Composing Components
OO1 Lecture 5.2. Comprendre vraiment les méthodes de classe
Newbie Lecture 5.3. Erreurs communes
Xpert Lecture 5.4. Exceptions: un survol
Newbie Lecture 5.5. Débugger avec Pharo
Newbie Lecture 5.6. SUnit: tests unitaires en Pharo
Xpert Lecture 5.7. Fichiers en Pharo
Magic Lecture 5.8. Réflexion : Simple Introspection
Xpert Lecture 5.9. Optimisation en Pharo
Newbie Live 5.10.1. Spotter 3 : réduire les recherches
Newbie Live 5.10.2. Spotter 6 : recherche, navigation et prévisualisation
Newbie Live 5.10.3. Comprendre le débuggeur
Newbie Live 5.10.4. Comment trouver un bug?
Newbie Live 5.10.5. GTInspector 2 : inspecter fichiers et dossiers
Web1 Exercice 5.11.1. TinyBlog : interface admin avec Magritte
Newbie Exercice 5.11.2. TinyChat
Xpert Challenge 5.12.1. Solution : Challenge 3
Xpert Challenge 5.12.2. Challenge 4
 
Semaine 6: Repenser la recherche de méthode et points avancés
OO1 Lecture 6.1. Avez-vous vraiment compris super ?
Newbie Lecture 6.2. Comprendre l’implémentation de ifTrue:ifFalse:
OO1 Lecture 6.3. Dice new vs. self class new
OO1 Lecture 6.4. Envoi de messages : planification pour la réutilisation
OO1 Lecture 6.5. Crochets et Templates
Newbie Lecture 6.6. Architecture d’exécution
Newbie Lecture 6.7. Caractères, chaînes et symboles
Newbie Lecture 6.8. Tableaux dynamiques et de litéraux
Newbie Live 6.9.1. Comprendre les fichiers Images et Changes
Newbie Live 6.9.2. Utiliser le launcher pour gérer vos images
Xpert Live 6.9.3. Obtenir une différence et fusionner du code en Pharo
Newbie Live 6.9.4. GTInspector 4 : construire une view dédiée
Web1 Exercice 6.10. TinyBlog : déploiement
Xpert Challenge 6.11.1. Solution : Challenge 4
Xpert Challenge 6.11.2. Challenge 5
 
Semaine 7 : Conception OO et tests
Xpert Lecture 7.1. Points avancés sur les classes
Newbie Lecture 7.2. Objets à tailles variables
Magic Lecture 7.3. Comprendre les métaclasses
Magic Lecture 7.4. Opérations réflexives pour la programmation live
Magic Lecture 7.5. DoesNotUnderstand : un point d’entrée précieux
Magic Lecture 7.6. Réflexion : la pile comme un objet
OO1 Lecture 7.7. Evitons les tests nil
Newbie Lecture 7.8. Futur Radieux
Xpert Live 7.9.1. Spotter 4 : le panneau de prévisualisation
Xpert Live 7.9.2. Spotter 5 : rechercher dans l'historique de Playground
Xpert Live 7.9.3. GTInspector 3 : comprendre l'implémentation interne de Pharo avec l'inspecteur
Xpert Challenge 7.10. Solution : Challenge 5