4 : Inheritance and Lookup and Web Development
Descriptif
In this 4th part, we will discover or revisit the lookup mechanism which is (should be) at the heart of any object-oriented language. We will also dig further into web development with the Pharo Web stack through the Seaside, Magritte and Voyage frameworks.
Exercises part 4 :
Click on the exercises titles to download the documents.
- Rewriting Expressions - Solution for week 3 exercise
- [Mini-project] TinyBlog: Solution Exercise Week 3 + Data Persistency using Voyage and Mongo
- [Mini-project] TinyBlog: Building a Web Interface with Seaside
- Building a Simple Contact Book Application
Solutions for the new exercises will be provided in the section "Exercises" of the following part.
Vidéos
Inheritance Basics
Bienvenue dans la séquence 1 de cette partie 4, partie dans laquelle nous allons couvrir les aspects d'héritage en Pharo, le mécanisme de LookUp et du développement Web. Dans cette première séquence,
Inheritance and Lookup: Lookup
Dans cette seconde séquence sur l'héritage, nous allons voir plus en détails l'héritage de comportement et qu'est-ce qui se passe quand on envoie un message à un objet. Donc le but de cette séquence c
Inheritance and Lookup: Super
Dans cette troisième séquence, après s'être intéressés à l'héritage et à self et au lookup, on va s'intéresser à super. Dans cette séquence, nous allons nous intéresser particulièrement à l'envoi de
Inheritance and Lookup: DoesNotUnderstand:
Bienvenue dans cette quatrième séquence sur l'héritage et le lookup. Dans cette séquence nous allons voir ce qui se passe quand l'algorithme de lookup ne trouve pas une méthode correspondante à un
Inheritance et Lookup: Lookup in Metaclasses
Dans cette cinquième séquence sur l'héritage et le Lookup, nous allons parler de l'envoi de messages et de l'algorithme de Lookup dans le cadre des métaclasses. Alors en Pharo tout est objet. Les
Class Methods at Work
Dans cette séquence, nous allons nous arrêter un petit peu sur les méthodes de classe. Nous avons vu que les méthodes de classe sont des méthodes normales, comme les autres. En général, elles servent
Overview of Pharo Web Stack
Dans ce cours, je vais vous parler de la pile Web Pharo qui est excellente, et je vais vous faire un petit survol des fonctionnalités ou des packages qui existent et de ceux qu'on va utiliser pendant
Seaside: an Innovative Web Application Framework
Donc on va voir dans cette séquence le Framework web Seaside, qui est un Framework innovant pour construire des applications Web, en Pharo. Donc il est extrêmement puissant et permet de construire des
Seaside: Rendering Components
Dans cette séquence on va revenir sur Seaside, et notamment sur la partie des générations du code HTML, d'un composant. Donc je vous rappelle en Seaside il y a des composants. Tous les composants
Seaside: a Glance at MetaData and REST
Bienvenue dans ce cours. Là, ce que je vais vous montrer c'est 2 aspects, je ne vais pas aller en profondeur dedans, de toute façon vous allez les faire lors des exercices avec Tiny blog. C'est, qu
Voyage: NoSql Object Database
Dans cette séquence, je vais vous parler de Voyage qui est un wrapper pour bases de données NoSQL. On va voir un petit peu ce que c'est que Voyage. Là, l'objectif c'est de vous permettre de créer une
[Live] How to load code from repository
J'aimerais vous montrer comment on charge du code dans Pharo.
[Live] How to load projects
Là je voudrais vous montrer\Ncomment vous pouvez charger des packages qui ont été\Ndéployés par d'autres personnes. Dans Pharo, vous avez ce\Nqu'on appelle le Catalog Browser.
[Live] Nautilus 6: An overview of Refactorings
Dans cette vidéo, j'aimerais vous montrer que Nautilus propose des refactorings. Donc qu'est-ce que c'est qu'un refactoring ? C'est une opération qui va transformer du code en préservant son
[Live] Nautilus 7: Using the Quality Assistant and Code Critic
Dans cette vidéo, je voudrais vous montrer que Pharo offre aussi la possibilité d'avoir un assistant qui va vérifier la qualité de votre code, et qu'on appelle soit le Quality Assistant, soit Code
Intervenants et intervenantes
Titulaire d'un doctorat en Informatique (Bordeaux 1, 2011)
Maître de Conférences au sein de l'équipe RMoD du Centre de Recherche en Informatique, Signal et Automatique de Lille (CRIStAL - UMR CNRS 9189 - INRIA - IEEA) de l'Université Lille 1 - Sciences et Technologies
Titulaire d'un doctorat en Sciences appliquées (Nice, 1996)
Directeur de recherche, responsable de l'équipe "Évolution réflexive des systèmes logiciels éternels" (EVREF) au sein du Centre de Recherche en Informatique, Signal et Automatique de Lille (CRIStAL - UMR CNRS 9189 - INRIA - Université de Lille)
Titulaire d'un doctorat en Informatique (Montpellier, 2007)
Maître-Assistant à l’école des Mines de Douai