<?xml version="1.0" encoding="UTF-8"?><lom xmlns="http://ltsc.ieee.org/xsd/LOM" xmlns:lomfr="http://www.lom-fr.fr/xsd/LOMFR" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ltsc.ieee.org/xsd/LOM http://www.lom-fr.fr/xsd/lomfrv1.0/std/lomfr.xsd">
<general>
<identifier>
<catalog>Canal-U_Ocms</catalog>
<entry>32701</entry>
</identifier>
<title><string language="fre"><![CDATA[Class and Method Definition]]></string></title>
<language>FRE</language><language>ENG</language>
<description>
<string language="fre"><![CDATA[Dans cette séquence, nous allons présenter la définition de classe et méthode dans Pharo. Ce qui est vraiment spécifique à Pharo, il n'y a pas de syntaxe particulière pour définir les méthodes et les classes. Cela se fait au niveau des outils. Donc, c'est les outils qui vont donner le contexte à la création d'une classe ou d'une méthode. Donc, voici le navigateur de code principal dans Pharo, c'est Nautilus. On voit dans la zone du bas, la définition de la classe Point. On voit que la classe Point a pour superclasse la classe Object et deux variables d'instances X et Y. La superclasse et les deux variables d'instance X et Y. On voit aussi en bas le nom du package dans lequel cette classe va être ajoutée. Dans les slides, on aura ce genre de codes pour créer une nouvelle sous-classe. On voit que pour créer une classe en Pharo, on envoie un message particulier à la superclasse avec le nom de la sous-classe en paramètres. Donc le message subclass instanceVariableNames classVariableNames package est un message qui est envoyé à la classe object, avec le nom de la sous-classe en paramètres, la liste des noms des variables d'instance en paramètres, ainsi que le nom du package en paramètres. Concernant la définition de méthodes, on a dans la zone du bas encore le nom de la méthode, un commentaire et le code de la méthode. Et cette méthode, elle appartient à une classe. Comme vous le voyez dans la syntaxe pour définir la méthode, on n'a pas l'l'information sur la classe à laquelle cette méthode doit appartenir. En fait, c'est la sélection de la classe dans le navigateur de codes qui va nous indiquer la classe à laquelle appartient la méthode…]]></string></description>
<keyword><string language="fre"><![CDATA[programmation objet]]></string></keyword><keyword><string language="fre"><![CDATA[Pharo]]></string></keyword><keyword><string language="fre"><![CDATA[Smalltalk]]></string></keyword><keyword><string language="fre"><![CDATA[typage dynamique]]></string></keyword><keyword><string language="fre"><![CDATA[object-oriented programming]]></string></keyword>
<lomfr:documentType>
<lomfr:source>LOMFRv1.0</lomfr:source>
<lomfr:value>image en mouvement</lomfr:value>
</lomfr:documentType>
</general><lifeCycle>
<contribute>
<role>
<source>LOMv1.0</source>
<value>author</value>
</role>
<entity><![CDATA[BEGIN:VCARD
VERSION:3.0
CLASS:PUBLIC
REV:2022-04-04 16:23:39
FN:Damien CASSOU
N:CASSOU;Damien;;;
URL;TYPE=work:https://www.canal-u.tv/auteurs/cassou_damien
ROLE:author
NOTE:Damien Cassou a obtenu son doctorat en Informatique à l'Université de Bordeaux. Il est maître de conférences à l'Université de Lille et membre de l'équipe de recherche RMoD chez Inria / CRIStAL. Damien travaille sur les langages de programmation dynamiques (plus particulièrement sur les traits et les modules) et sur l'ingénierie des logiciels (principalement sur les outils pour développeurs). Damien a co-organisé de nombreux événements (tels que ECOOP'14 et ESUG) et co-écrit plusieurs livres. C'est également un membre actif des communautés Smalltalk et Emacs-Lisp. 
TZ:+0200
END:VCARD
]]></entity>
<date><dateTime>2015-03-16</dateTime></date>
</contribute>
<contribute>
<role>
<source>LOMv1.0</source>
<value>author</value>
</role>
<entity><![CDATA[BEGIN:VCARD
VERSION:3.0
CLASS:PUBLIC
REV:2022-04-04 16:23:39
FN:Stéphane DUCASSE
N:DUCASSE;Stéphane;;;
URL;TYPE=work:https://www.canal-u.tv/auteurs/ducasse_stephane
ROLE:author
NOTE:Stéphane Ducasse est directeur de recherche Inria première classe et dirige l'équipe RMoD. Stéphane est expert en conception objet, conception de langages objets, programmation réflexive ainsi qu'en maintenance et évolution de larges applications (visualisation, métriques, meta modélisation). Ses travaux sur les traits ont été introduits dans AmbientTalk, Slate, Pharo, Perl-6, PHP 5.4 et Squeak. Ils ont été portés sur JavaScript et ont influencé les langages Scala et Fortress. Stéphane est l'un des développeurs de Pharo. Il est également l'un des développeurs de Moose une plate-forme d'analyses. Stéphane est par ailleurs co-fondateur de Synectique, une société proposant des outils d'analyses dédiés. Il a écrit plusieurs livres sur l'apprentissage de la programmation et sur d'autres sujets comme la programmation web. 
TZ:+0200
END:VCARD
]]></entity>
<date><dateTime>2015-03-16</dateTime></date>
</contribute>
<contribute>
<role>
<source>LOMv1.0</source>
<value>author</value>
</role>
<entity><![CDATA[BEGIN:VCARD
VERSION:3.0
CLASS:PUBLIC
REV:2022-04-04 16:23:39
FN:Luc FABRESSE
N:FABRESSE;Luc;;;
URL;TYPE=work:https://www.canal-u.tv/auteurs/fabresse_luc
ROLE:author
NOTE:Luc Fabresse a obtenu son doctorat en informatique en 2007, à l'université de Montpellier 2, France. Il travaille actuellement dans le thème de recherche CAR des Mines de Douai, au sein de l'Institut Mines-Télécom. Luc est co-auteur de nombreux articles de recherche visant à promouvoir l'utilisation de langages dynamiques et réflexifs comme Pharo pour supporter le développement interactif d'applications pour robots mobiles et autonomes. A long terme, Luc voudrait pouvoir utiliser la Force Jedi pour contrôler des robots mobiles ;-) En attendant, il concrétise ses travaux (modèles et outils) au sein de la plateforme PhaROS (un client Pharo pour l'intergiciel ROS) afin de mieux développer, déboguer, tester, déployer et exécuter des applications de robotique mobile. Chaque année, Luc donne de nombreux cours d'informatique et co-organise des événements (journées techniques, conférences, ...). Il promeut également Smalltalk (membre du bureau d'ESUG) et participe au développement de son implémentation open-source Pharo. 
TZ:+0200
END:VCARD
]]></entity>
<date><dateTime>2015-03-16</dateTime></date>
</contribute>
</lifeCycle>
<metaMetadata>
<metadataSchema>LOMv1.0</metadataSchema>
<metadataSchema>LOMFRv1.0</metadataSchema>
</metaMetadata>
<technical>
<format>video/mp4</format>
<location><![CDATA[https://www.canal-u.tv/video/inria/class_and_method_definition.32701]]></location>
<location><![CDATA[https://streaming-canal-u.fmsh.fr/vod/media/canalu/videos/fuscia/pharo.syntax.in.a.nutshell.copie._32701/c019sd.w1.s6.v3.mp4]]></location>
<size>169971036</size>
<duration><duration>PT0H5M40S</duration></duration>
</technical>
<educational>
<learningResourceType>
<source>LOMv1.0</source>
<value>lecture</value>
</learningResourceType>
<context>
<source>LOMv1.0</source>
<value>higher education</value>
</context>
</educational>
<rights>
<cost>
<source>LOMv1.0</source>
<value>no</value>
</cost>
<copyrightAndOtherRestrictions>
<source>LOMv1.0</source>
<value>no</value>
</copyrightAndOtherRestrictions>
<description>
<string language="fre"><![CDATA[Droits réservés à l'éditeur et aux auteurs. 
The contents produced by users are shared under Creative Commons License BY-NC-ND : the user must give appropriate credit, he may not use the material for commercial purposes and may not distribute a modified material.]]></string>
</description>
</rights>
<relation>
<kind>
<source>LOMv1.0</source>
<value>ispartof</value>
</kind>
<resource>
<identifier>
<catalog>URI</catalog>
<entry>https://www.canal-u.tv/producteurs/inria/cours_en_ligne/live_object_programming_in_pharo/1_welcome_on_board_and_syntax_discovery</entry>
</identifier>
<description>
<string language="fre"><![CDATA[1 : Welcome on Board and Syntax Discovery]]></string>
</description>
</resource>
</relation>
<classification>
<purpose>
<source>LOMv1.0</source>
<value>discipline</value>
</purpose>
<taxonPath>
<source>
<string language="fre"><![CDATA[Universités Numériques Thématiques 2009 http://www.universites-numeriques.fr]]></string>
</source>
<taxon>
<id/>
<entry>
<string language="fre"/>
</entry>
</taxon>
</taxonPath>
</classification>
<classification>
<purpose>
<source>LOMv1.0</source>
<value>discipline</value>
</purpose>
<taxonPath>
<source>
<string language="fre">CDD 22e éd.</string>
<string language="eng">DDC 22nd ed.</string>
</source>
<taxon>
<id>005.117</id>
<entry>
<string language="fre"><![CDATA[Programmation orientée objet]]></string>
</entry>
</taxon>
</taxonPath>
</classification> </lom>