Dev

=Changement du mode de développement=

Pour améliorer la portabilité et l'efficacité du développement de VLE, nous avons effectués plusieurs travaux sur les codes sources de VLE. Ces travaux concernes trois grands principes :
 * Découpage de VLE en plusieurs dépôts Git/Cogito
 * Ajout de la dépendance vers la bibliothèque boost
 * Ajout d'un namespace vle sur toutes les bibliothèques

Découpage de l'application
Le projet est maintenant composé de cinq parties gérées chacunes par un dépôt Git pour une plus grande souplesse de développement. Les parties sont :


 * vle : les bibliothèques et le programme VLE. C'est le dépôt principal, tous les autres projets en dépendent directement ou indirectement.
 * http://vle.univ-littoral.fr/vle.git
 * Intégrateur : [mailto:quesnel@users.sourceforge.net Gauthier Quesnel]
 * gvle : le programme GVLE et les greffons associés
 * http://vle.univ-littoral.fr/gvle.git
 * Intégrateur : [mailto:quesnel@users.sourceforge.net Gauthier Quesnel]
 * eov : le programme de visualisation EOV et les greffons associés ;
 * http://vle.univ-littoral.fr/eov.git
 * Intégrateur : [mailto:quesnel@users.sourceforge.net Gauthier Quesnel]
 * avle : le module d'analyse de données de VLE et les greffons associés ;
 * http://vle.univ-littoral.fr/avle.git
 * Intégrateur : [mailto:eramat@users.sourceforge.net Éric Ramat]
 * models : quelques exemples de modèles.
 * http://vle.univ-littoral.fr/examples.git
 * Intégrateur : [mailto:eramat@users.sourceforge.net Éric Ramat]

L'intégrateur est la personne qui applique les patchs sur le dépôt officiel. Il n'y pas de dépôt commun, tout passe par cette personne. La création de patchs est rendue aisée par l'utilisation des outils Git/Cogito :

Sans ces outils :

Pour des informations plus précises sur les outils Git/Cogito, un cours est disponible au format PDF : git.pdf.

Changement de l'API
Quelques modifications ont été apportées à l'API de VLE afin de bien définir les interfaces ou API. Nous résumons ces modifications par trois points :


 * intégration de boost ;
 * changement de namespace ;
 * changement de dossier ;
 * intégration du format eov.

Bibliothèque Boost (paquet libboost-dev)
Les fonctions de composition de chaînes de caractères, compose et ucompose sont remplacées par les fonctions de Boost, boost::format et boost::str :

Par ex. :

Pour plus d'information sur la classe boost::format, rendez-vous sur la page d'aide de boost.

Changement de namespace

 * Toutes les bibliothèques de VLE se trouvent maintenant dans le namespace vle. Elles sont, également, toutes mise dans le répertoire vle.
 * La bibliothèques libdata est déplacée dans le répertoire central, son namespace est changé en vle::data.
 * La bibliothèques libvalue est déplacée dans le répertoire central, un namespace lui est associé vle::value.

Utilisation
La compilation de VLE et des logiciels proches utilisent les mêmes outils de développement. Les commandes à exécuter pour compiler le projet sont les suivantes, en utilisant comme dossier d'installation $HOME/usr :

Si vous ne disposez pas du programme autoreconf</tt>, vous pouvez utiliser le fichier autogen.sh</tt> fourni avec l'application :

Pour pouvoir utiliser les outils autotools et pkg-config pour le développement de nouveaux modèles, il faut définir le chemin d'installation du fichier vle.pc</tt> qui stocke les informations de compilation et d'édition de liens ainsi que le chemin où se trouve les exécutables :