Nantes Université

Skip to content
Extraits de code Groupes Projets
Valider 0e64ef3c rédigé par sunye's avatar sunye
Parcourir les fichiers

Correct image positions

parent 940383a1
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -24,30 +24,30 @@ This tutorial covers the following topics: ...@@ -24,30 +24,30 @@ This tutorial covers the following topics:
Allez sur _File → New → Project..._ et choisissez _Ecore Modeling Project_: Allez sur _File → New → Project..._ et choisissez _Ecore Modeling Project_:
image::img/new-emf-project.png[width=300px,align=center] image::img/new-emf-project.png[width=300px, align=center]
Appelez-le `fr.alma.web.model` et cliquez sur _Next>_{nbsp}: Appelez-le `fr.alma.web.model` et cliquez sur _Next>_{nbsp}:
image::img/new-web-project.png[width=300px,align=center]] image::img/new-web-project.png[width=300px, align=center]
Eclipse vous demandera ensuite de nommer le paquetage principal du projet. Appelez-le `webmodel`{nbsp} et cliquez sur _Finish_{nbsp}: Eclipse vous demandera ensuite de nommer le paquetage principal du projet. Appelez-le `webmodel`{nbsp} et cliquez sur _Finish_{nbsp}:
image::img/new-main-package.png[width=300px,align=center]] image::img/new-main-package.png[width=300px,align=center]
Eclipse vous proposez ensuite d'ouvrir la perspective associée au projet (Modeling). Cliquez sur _Open Perspective_{nbsp}: Eclipse vous proposez ensuite d'ouvrir la perspective associée au projet (Modeling). Cliquez sur _Open Perspective_{nbsp}:
image::img/open-associated-perspective.png[width=300px,align=center]] image::img/open-associated-perspective.png[width=300px,align=center]
Eclipse ouvrira un éditeur graphique pour spécifier un modèle Ecore. Eclipse ouvrira un éditeur graphique pour spécifier un modèle Ecore.
Vous pouvez bien sûr utiliser cet éditeur pour modéliser, mais comme vous verrez, l'édition textuelle à l'aide de l'extension *OclInEcore* est plus pratique. Vous pouvez bien sûr utiliser cet éditeur pour modéliser, mais comme vous verrez, l'édition textuelle à l'aide de l'extension *OclInEcore* est plus pratique.
Fermez l'éditeur et ouvrez le fichier `webmodel.ecore` avec l'éditeur *OclInEcore*. Fermez l'éditeur et ouvrez le fichier `webmodel.ecore` avec l'éditeur *OclInEcore*.
Appuyez-vous sur la https://wiki.eclipse.org/OCL/OCLinEcore[syntaxe de *OclInEcore*] pour éditer le modèle{nbsp}: Appuyez-vous sur la https://wiki.eclipse.org/OCL/OCLinEcore[syntaxe de *OclInEcore*] pour éditer le modèle{nbsp}:
image::img/open-with-oclinecore.png[width=400px,align=center]] image::img/open-with-oclinecore.png[width=400px,align=center]
Eclipse vous proposez de convertir le projet à un projet OCL. Cliquez sur _Yes_ et commencez à modéliser{nbsp}: Eclipse vous proposez de convertir le projet à un projet OCL. Cliquez sur _Yes_ et commencez à modéliser{nbsp}:
image::img/configure-ocl.png[width=200px,align=center]] image::img/configure-ocl.png[width=200px,align=center]
Commencez par créer les classes `Site`, `Dossier`, `Page`, `Article` et `Etiquette`{nbsp}: Commencez par créer les classes `Site`, `Dossier`, `Page`, `Article` et `Etiquette`{nbsp}:
...@@ -71,61 +71,61 @@ NOTE: Un article a plusieurs étiquettes, mais ne les contient pas, car plusieur ...@@ -71,61 +71,61 @@ NOTE: Un article a plusieurs étiquettes, mais ne les contient pas, car plusieur
[source, ocl] [source, ocl]
---- ----
class Site class Site
{ {
property folders : Folder[*] { composes }; property folders : Folder[*] { composes };
property labels : Label[*] { composes }; property labels : Label[*] { composes };
} }
class Folder class Folder
{ {
property pages : Page[*] {composes}; property pages : Page[*] {composes};
} }
class Page class Page
{ {
property articles : Article[*] {composes}; property articles : Article[*] {composes};
} }
class Article class Article
{ {
property labels : Label[*]; property labels : Label[*];
} }
class Label; class Label;
---- ----
Spécifiez ensuite les attributs de ces classes, grâce au mot-clé `atribute`{nbsp}: Spécifiez ensuite les attributs de ces classes, grâce au mot-clé `atribute`{nbsp}:
[source, ocl] [source, ocl]
---- ----
class Site class Site
{ {
attribute title : String; attribute title : String;
attribute description : String; attribute description : String;
property folders : Folder[*] { composes }; property folders : Folder[*] { composes };
property labels : Label[*] { composes }; property labels : Label[*] { composes };
} }
class Folder class Folder
{ {
attribute name : String; attribute name : String;
property pages : Page[*] {composes}; property pages : Page[*] {composes};
} }
class Page class Page
{ {
attribute title : String; attribute title : String;
property articles : Article[*] {composes}; property articles : Article[*] {composes};
} }
class Article class Article
{ {
attribute contents : String; attribute contents : String;
attribute author : String; attribute author : String;
property labels : Label[*]; property labels : Label[*];
} }
class Label class Label
{ {
attribute name : String; attribute name : String;
} }
---- ----
Ajoutez enfin un attribut qui précise la date de création d'un article. Ajoutez enfin un attribut qui précise la date de création d'un article.
...@@ -145,27 +145,27 @@ datatype DateTime : 'java.time.LocalDateTime' { serializable }; ...@@ -145,27 +145,27 @@ datatype DateTime : 'java.time.LocalDateTime' { serializable };
Fermez l'éditeur *OclInEcore* et ouvrez le diagramme `webmodel` qui est à l'intérieur du fichier `webmodel.aird`{nbsp}: Fermez l'éditeur *OclInEcore* et ouvrez le diagramme `webmodel` qui est à l'intérieur du fichier `webmodel.aird`{nbsp}:
image::img/open-webmodel.png[width=200px,align=center]] image::img/open-webmodel.png[width=200px,align=center]
Double-cliquez sur l'éditeur pour importer automatiquement tout le contenu du paquetage `webmodel`: Double-cliquez sur l'éditeur pour importer automatiquement tout le contenu du paquetage `webmodel`:
image::img/double-click.png[width=300px,align=center]] image::img/double-click.png[width=300px,align=center]
L'éditeur *EcoreTools* placera automatiquement les éléments. L'éditeur *EcoreTools* placera automatiquement les éléments.
Vous pouvez modifier ces éléments, les changements seront répercutés sur le fichier `webmodel.ecore`{nbsp}: Vous pouvez modifier ces éléments, les changements seront répercutés sur le fichier `webmodel.ecore`{nbsp}:
image::img/webmodel-diagram.png[width=400px,align=center]] image::img/webmodel-diagram.png[width=400px,align=center]
=== Visualisation hiérarchique du modèle === Visualisation hiérarchique du modèle
Fermez l'éditeur graphique et ouvrez le fichier `webmodel.ecore` dans l'éditeur par défaut de Ecore: Fermez l'éditeur graphique et ouvrez le fichier `webmodel.ecore` dans l'éditeur par défaut de Ecore:
image::img/open-with-ecore.png[width=300px,align=center]] image::img/open-with-ecore.png[width=300px,align=center]
La vue par défaut est hiérarchique. La vue par défaut est hiérarchique.
Ce genre d'éditeur est généré automatiquement par EMF, comme vous verrez par la suite{nbsp}: Ce genre d'éditeur est généré automatiquement par EMF, comme vous verrez par la suite{nbsp}:
image::img/hierarchical-view.png[width=200px,align=center]] image::img/hierarchical-view.png[width=200px,align=center]
== Génération du code source Java == Génération du code source Java
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter