Exercice 1

But: tester l'installation.

Exercice 2

But: se familiariser avec l'API Fractal pour la configuration.

Exercice 3

But: se familiariser avec l'ADL Fractal.

Exercice 4

But: utiliser l'héritage de définitions ADL, se familiariser avec les fichiers de configuration de Julia.

Exercice 5

But: développer un contrôleur Fractal, configurer Julia, déclarer un contrôleur de composant spécifique via l'ADL.

Exercice 6

But: déclarer un composant partagé via l'ADL, implanter un composant avec dépendences, préparer l'exercice 8.

Exercice 7

But: utiliser l'API Fractal pour faire de l'introspection et de la reconfiguration dynamique, préparer l'exercice 8 et découvrir Fractal RMI.

Exercice 8

But: concevoir et implanter une application à base de composants.

L'exercice consiste à implanter un composant composite fractal-handler, qui devra s'insérer dans Comanche au même endroit qu'à l'exercice 6. Ce composant devra reconnaitre les URLs de la forme suivante:
  1. fractal/overview.html: pour cette URL, le composant devra retourner une page similaire à celle-ci, qui sera construite à partir de l'introspection récursive du composant lié à l'interface cliente "model" (cf exercice 6).
  2. fractal/xxx/.../zzz/index.html: pour les URLs de cette forme, le composant devra retourner un page d'information sur le composant xxx/.../zzz, de la forme suivante pour un composant composite, ou de la forme suivante pour un composant primitif.
  3. fractal/index.html: pour cette URL, le composant devra retourner une page composées de deux frames, pointant sur les pages précedentes.
  4. fractal/xxx/.../zzz/replace?class=...: pour cette URL, qui résulte d'un clic sur le bouton Change des pages de ce type, le composant devra retourner une page de confirmation ou d'erreur, et devra remplacer dynamiquement le composant xxx/.../zzz par un composant de la classe indiquée (pour cela, reprendre le code de l'exercice 7, sans Fractal RMI).
L'architecture utilisée devra être telle qu'on puisse changer l'apparence des différents types de page indépendamment les uns des autres, simplement en remplaçant un ou plusieurs composants. Il devra également être possible, en supprimant certains composants, de désactiver les fonctions 1, 3 et 4.