Rapport de Stage : Environnement Numérique
Rapport de Stage : Environnement Numérique
Tout d'abord, et pour la chance que cela représente, je tiens à remercier toutes les
personnes qui m'ont permis de réaliser ce stage :
- Mr Alain ROUSSEL, sans qui le stage n'aurait pu être possible,
- Mr Bruno RAZAFINDRADINA, pour son soutien et son accompagnement,
- Mr Marthinerot ZANDRY, pour ses conseils,
- Mr Mamy ANDRIANIRINA, pour son accueil et son dévouement,
- Les enseignants R&T de l'IUT Annecy pour leurs enseignements,
- Le personnel administratif de l'IST, pour son accueil au sein de l'IST d'Antsiranana,
- L'équipe enseignante de l'Université et de l'IST d'Antsiranana pour leur accueil
ainsi que leur accompagnement pendant, en dehors des heures de travail,
- Mes parents, qui m'ont soutenu et financé.
Sommaire
[Link]ésentation........................................................................................................1
[Link] à réaliser..................................................................................................................6
B.Réalisation du projet...........................................................................................7
[Link]..................................................................................................................22
[Link] stage..............................................................................................................................22
[Link].........................................................................................................23
[Link]..............................................................................................................24
[Link].............................................................................................................27
[Link].....................................................................................................35
A. Présentation
Madagascar est une île de l'Océan Indien. Le stage a pris place à Antsiranana, aussi appelé
Diego-Suarez. Il s'agit de la plus grande ville du Nord de Madagascar, et du troisième port du pays.
Par manque d'infrastructures, l'électricité n'est pas de bonne qualité. De plus, les retards de
paiement de la JIRAMA ne permettent pas à ENELEC d'assurer l'entretien du matériel à temps. Il
est fréquent que sur les cinq générateurs, seul trois fonctionnent. La production étant d'origine
fossile, avec l'utilisation de groupes électrogènes à grande échelle. La demande est souvent
supérieure à la production, et les délestages sont fréquents.
Cependant, l'IST-D étant dans l'enceinte de la SECREN, cette dernière dispose de sa propre
centrale, capable d'assurer la production de 6500KVA. Le basculement entre les générateurs prend
une quinzaine de minutes. C'est donc suffisant pour que les machines sans batterie se coupent. De
plus, les surtensions sont fréquentes, et les alimentations non protégées ne durent pas longtemps.
La situation est donc sensible dans un domaine où l'électricité est essentielle.
Description :
L'IST-D accueille des étudiants venant de tout le pays, ainsi que des missionnaires. Il est
donc important que les enseignants puissent assurer un suivi de leurs cours, même lorsque des
déplacements doivent se faire. Le but est donc de mettre en place un serveur accueillant un ENT,
ainsi qu'une solution de vidéo conférence.
Objectif du travail :
• Mettre en place et configurer un serveur.
• Proposer une solution d'ENT, l'installer, et configurer les droits d'accès (étudiants,
professeurs).
• Proposer une solution de vidéo conférence compatible avec l'ENT, l'installer, et
effectuer son intégration au sein de celui-ci.
• Configurer le réseau afin de rendre le serveur accessible depuis les différents
réseaux de l'IST-D, ainsi que depuis l'extérieur.
• Création d'un template unique permettant l'intégration de l'ENT au site de l'IST-D
déjà existant.
Le travail présente donc plusieurs aspects, et demande une certaine polyvalence. En effet,
chaque point requiert des connaissances sur des outils différents.
a. Objectif
Pour cette partie, nous allons étudier la mise en place du serveur. Celui-ci est dédié à
l'hébergement de l'ENT, et à la plate-forme de vidéo-conférence. Il sera chargé de répondre aux
requêtes des clients Web, et de diffuser en flux continu (streaming) les différentes conférences.
Ainsi, on y trouvera :
• un serveur web Apache avec PHP5
• un serveur de base de données MySQL
• un serveur de streaming Flash Red5 (vidéo-conférence)
• Toutes les dépendances & librairies nécessaires
b. Problématique
Les capacités du serveur doivent être suffisantes pour y stocker des cours sur le long terme,
et pour tenir la charge réseau lors de vidéo-conférences, ou lors des pointes de visites. Il faut que
celui-ci soit accessible depuis Internet et depuis le réseau local. Un serveur existe déjà, mais celui-
ci ne dispose pas de capacités suffisantes (notamment en ce qui concerne l'espace disque).
De plus, il n'y a aucun budget alloué pour une telle machine, il faut arriver à faire grâce au
matériel présent sur place. Il s'agit principalement de PC quasi obsolètes, ou bien tout simplement
hors services. Les applications doivent elles aussi être gratuites. Nous allons donc nous orienter
vers une installation open-source.
c. Réalisation
1. Assemblage du serveur
Pour l'assemblage du serveur, nous choisissons parmi les pièces disponibles sur place. Le
boîtier est récupéré sur une ancienne machine, l'alimentation et la carte mère, non endommagés,
sont eux aussi réutilisés. Tous sont compatibles pour l'ajout de plusieurs disques durs si les besoins
venaient à augmenter.
Un disque dur de 40Go devrait être suffisant dans un premier temps. Nous installons un
total de 512Mo de mémoire vive avec un processeur monocœur à 1,8GHz. La carte graphique vient
elle aussi d'un ancien ordinateur.
/etc/network/interfaces
iface eth0 inet static # on va définir une IP fixe
gateway [Link] # la passerelle par défaut
address [Link] # IP de notre serveur
netmask [Link] # masque réseau en /24
a. Objectif
Un Environnement Numérique de Travail (ENT) est une plate-forme de travail collaboratif
permettant à des enseignants, ou des étudiants, d'accéder à du contenu préalablement mis à
disposition. Nombre d'entre eux ne viennent pas de la région. Il est impératif pour les enseignants
de pouvoir donner à distance à leurs élèves des supports de cours, et à ceux-ci de pouvoir y
accéder même loin de l'université.
b. Problématique
Du fait de son orientation collaborative, il faut que l'ENT soit accessible depuis les différents
réseaux locaux, ainsi que depuis Internet. De plus, un tel environnement exploite une base de
données, ainsi qu'un serveur Web.
c. Réalisation
Dans un premier temps, il a fallut mettre en place le serveur Web. Le choix s'est porté sur
Apache 2.2.22 pour son support et sa documentation, ainsi que pour sa gratuité et sa
compatibilité. Aucune configuration particulière n'a été à prévoir. L’installation par défaut se
suffisant à elle même. PHP5 s'installe lui aussi sans aucune configuration particulière. Nous allons
tout de même renforcer la sécurité de ce serveur en créant le fichier suivant :
/etc/php5/apache/[Link]
register_globals = off
expose_php = off
enable_dl = off
allow_url_fopen = off
allow_url_include = off
display_errors = off
Enfin, l'installation de Moodle se fait au moyen d'une interface Web étape par étape. La
version choisie fût la dernière en date (v2.4.3+).
Une fois Moodle installé, il faut gérer les différents droits, et les inscriptions des étudiants.
La gestion des droits Moodle s'organise point par point, au sein d'une interface Web. Plus de 250
droits sont administrables, et ce pour chaque rôle (Enseignant, Étudiant, ...).
Pour rendre notre application plus intuitive à joindre, et disponible depuis tous les réseaux
locaux, il fallut apporter quelques modifications à la configuration du serveur DNS Bind9 (installé
par défaut) afin de mettre en place un nom de domaine ([Link] Les fichiers
suivants ont donc reçu les ajouts respectifs :
/etc/bind/[Link]
zone "[Link]" {
type master;
file "/etc/bind/[Link]";
};
La première ligne définit le nom de la zone, correspondante au domaine que l'on souhaite
créer. La suivante définit que le serveur est celui qui diffusera l'enregistrement sur le domaine. Un
serveur peut aussi être esclave, ou un serveur cache. Enfin, file "..." indique le chemin où
trouver le fichier de configuration correspondant à la zone créée.
a. Objectif
L'IST-D accueille un grand nombre de missionnaires, où de formateurs, qui se déplacent
pour enseigner. Pour faciliter ces échanges, vitaux pour l'établissement, nous allons intégrer à
l'ENT une solution de vidéo-conférence.
b. Problématique
Il existe un grand nombre de solutions de vidéo-conférence disponibles. Pour commencer, il
faut une application gratuite. Dans l'optique de l'intégrer à Moodle, il faut qu'elle soit compatible.
La base de données doit l'être aussi. De plus, il faut qu'elle soit disponible sous Linux et Windows,
et simple d'utilisation. L'établissement souhaite aussi pouvoir y afficher des documents.
Le choix s'est donc porté sur OpenMeetings. Développé par Apache, c'est une solution
gratuite, basée sur le Plug-in Flash. Compatible sur tous les systèmes ayant installé ce dernier, c'est
une solution légère et adaptée aux postes de l'établissement. De plus, un module est développé
pour l'interfaçage avec Moodle. Cette application comporte aussi la fonction d'affichage de fichiers
de types divers via un tableau partagé.
c. Réalisation
1. Installation d'OpenMeetings
Pour commencer, il faut installer les différentes librairies et autres dépendances.
OpenMeetings est basé sur un serveur Java, et utilise beaucoup d'applications extérieures pour les
conversions. Il faut donc installer :
• Oracle Java ;
• OpenOffice (conversion de documents) ;
• SWFTools (conversion en Flash de fichiers) ;
• ImageMagick, Zlib1g LibJPEG8, LibGIF, LibFreeType6 (application & librairies de traitement
d'images) ;
• Zlib1g-dev, libogg-dev, sox, libvorbis0a, libvorbis-dev, libgsm1, libgsm1-dev, libfaad2,
flvtool2, lame, libmp3lame-dev, libsdl1.2-dev, libx11-dev, libxfixes-dev, libxvidcore4,
libxvidcore4-dev, libt1-5 (librairies nécessaires à FFMpeg).
Une fois les librairies réunies, il faut télécharger les sources de FFMpeg et les décompresser.
Ceci fait, il faut passer à la compilation. Nous avons besoin de deux commandes :
/usr/local/share/ffmpeg # ./configure --enable-libmp3lame --enable-libxvid
--enable-libvorbis --enable-libgsm --enable-gpl –enable-nonfree
/usr/local/share/ffmpeg # make
La première définit les paramètres utilisés pour la compilation. Ici, on choisit les librairies que l'on
souhaite, précédemment installées, afin de répondre à nos besoins. La seconde commande lance
la compilation. L'opération est assez longue.
Ainsi, on ajoute le nom et la version du paquet. La dernière ligne à 1001 bloque tout simplement
les mises à jours.
Une fois ces différents éléments installés, l'installation d'OpenMeetings peut commencer.
Le paquet est disponible dans les dépôts Apache, et s'installe simplement. Un fichier de
configuration doit être modifié pour prendre en charge le serveur MySQL précédemment installé :
/opt/red5/webapps/openmeetings/WEB-INF/classes/META-INF/[Link]
Cette configuration est spécifique à MySQL. Les 3 points à noter sont en gras dans le code :
• SERVEUR:PORT : l'adresse du serveur MySQL et le port utilisé pour la connexion
• DBNAME : le nom de la base de données à laquelle OpenMeetings doit se
connecter
• DBUSER & DBPASSWORD : respectivement le login et le mot de passe pour se
connecter à la base de données
Nous allons aussi rajouter une application facilitant la conversion des documents uploadés :
JodConverter. Cette application se charge de faire le lien entre chaque type de fichier uploadé et
l'application apte à le convertir.
Aussi, pour les documents bureautiques, il faut activer OpenOffice afin qu'il reste en
attente de conversion. Pour se faire, on utilise la commande suivante, qu'on ajoute dans un script,
afin de l'exécuter à chaque démarrage :
/etc/init.d/[Link]
/usr/lib/openoffice/program/soffice "-accept=socket,host=localhost
,port=8100;urp;[Link]" -nologo -headless
-nofirststartwizard
Ce script va lancer une instance d'OpenOffice écoutant sur le port 8100, en attente de conversion.
Pour plus de sécurité, on limite l'accès depuis localhost. Ainsi, on bloque les connexions
extérieures. Puis, nous l'ajoutons au démarrage par la commande suivante :
# update-rc.d [Link] defaults
# cp /home/mod-moodle/openmeetings /var/www/moodle/mod/openmeetings
Ensuite, nous devons nous connecter à l'ENT pour accéder à l'interface d'administration.
Celle-ci nous prévient qu'un nouveau module doit être installé. Une fois l'opération effectuée
(automatique), la page de gestion du module est disponible. Il suffit de renseigner l'identifiant, le
mot de passe, le port, et le nom de l'application sur le serveur, afin que la plate-forme puisse
joindre correctement notre serveur Red5 avec OpenMeetings.
/var/www/moodle/mod/openmeetings/openmeetings_gateway.php
$CFG->openmeetings_red5host = $_SERVER["HTTP_HOST"];
Ce code PHP va adapter l'adresse IP en fonction des demandes. On remplace alors la valeur
normalement récupérée par celle générée dynamiquement, afin que l'adresse soit toujours la
bonne. On rajoute cette ligne dans la fonction getUrl(), utilisée par les autres scripts pour charger
l'application.
Une fois ces changements effectués, on peut désormais créer une activité intégrant
l'interface OpenMeetings au sein même de Moodle.
a. Objectif
L'IST-D dispose déjà d'un site existant ([Link] et intégrer l'ENT au
sein de celui-ci permet de regrouper les plate-formes, et facilite l'accès à celles-ci en exploitant la
même adresse notamment.
b. Problématique
Le site de l'IST-D exploite la plate-forme Joomla! 1.5, et est hébergé sur un serveur
appartenant à Telma. Même souci que sur le routeur, nous ne disposons pas de droits
d'administration sur le serveur. Un serveur FTP est disponible mais ne nous laisse modifier que les
fichiers du répertoire Web. Il va donc falloir trouver une solution pour permettre l'intégration.
c. Réalisation
Joomla! & Moodle ont l'avantage d'être des plate-formes open-sources. Il y a une grande
communauté, et des modules déjà disponibles. Pour notre cas, Joomdle permet d'effectuer ce que
l'on souhaite. Nous allons donc le mettre en place. Joomlde utilise le protocole XML-RPC pour
dialoguer d'un serveur à l'autre.
1. Configuration de Moodle
Pour commencer, il suffit de placer les éléments correspondants dans l'arborescence
Moodle. Une simple visite sur la page d'administration de la plate-forme, et cette dernière nous
propose d'installer le module. Tout est automatique.
La configuration du module est désormais disponible. Pour que celui-ci fonctionne bien, il
faut installer le module XML-RPC de PHP. Ceci pour permettre l'utilisation de ce protocole de
communication entre plate-formes Web. Un simple
permet d'installer l'extension. Une fois ceci fait, il faut activer l'utilisation des web-services dans
Moodle. Ceci permet la création d'un compte avec des droits restreint, et utilisant un jeton pour se
connecter, on renforce ainsi la sécurité.
Ensuite, il nous faut déclarer le service à Moodle. On utilise l'interface prévue à cet effet, en
limitant son accès aux utilisateurs autorisés seulement. Il faut définir les fonctions réalisables par le
service. On ajoute l'utilisateur précédemment créé à la liste des comptes autorisés. Nous allons
aussi autoriser l'affichage de Moodle dans une iframe.
La dernière étape consiste à créer un jeton permettant d'identifier le service qui accède à la
plate-forme.
2. Configuration de Joomla
A l'image de Moodle, il faut activer l'utilisation des web-services au sein de la plate-forme.
Le module téléchargé précédemment contient aussi des fichiers propres à Joomla. Il suffit d'utiliser
la page d'installation des modules et de les sélectionner à l'aide de l'interface. L'application va se
charger de les installer.
Pour finir, l'interface de gestion du module est désormais disponible. Les informations
essentielles se situent dans la configuration générale. En effet, on y retrouve l'adresse de notre
serveur Moodle et le jeton d'authentification créé auparavant.
Il faut ainsi indiquer le jeton généré par Moodle à l'étape précédente, afin d'authentifier le
service sur la plate-forme. La configuration est désormais correcte.
Une deuxième solution est elle aussi en cours d'élaboration, avec le changement
d'hébergement. En effet, le Ministère a annoncé avoir mis à disposition un serveur destiné à
héberger ce site. Cependant, le serveur se situe à Tananarive, et personne n'a pas encore
communiqué les informations de connexion.
Nous sommes donc en attente d'une réponse venant de Telma ou du Ministère.
I. Le stage
Ce stage de trois mois au sein de l'Institut Supérieur de Technologie d'Antsiranana s'est très
bien déroulé. L'ambiance au sein de l'équipe est très bonne, les échanges se font facilement, et le
travail en est lui aussi facilité.
Les problèmes posés demandent une part d'investissement, De plus, le manque de
moyens, ou d'électricité font partie des contraintes. C'est donc un travail d'adaptation, de
recherches, pour trouver des solutions et les réaliser.
Durant ce stage, j'aurai découvert la vie à l'IST-D, les démarches à accomplir au sien d'une
telle organisation, et comment s'articule la journée type d'un administrateur réseau. J'aurai aussi
appris les enjeux d'un tel réseau, ses multiples facettes, et les différents acteurs qui rentrent en
jeu.
Chaque mission qui m'a été confiée avait un but et une application précise. J'ai beaucoup
aimé les phases de recherches, d'étude, avant d'entamer l'installation et la configuration. Chaque
point ayant ses particularités, et son domaine de connaissances l'accompagnant. C'est donc un
travail polyvalent et chaque jour a sa part d'apprentissage et de découverte.
D. Conclusion
Mener un projet en autonomie, et étendu sur trois mois, m'a permis de renforcer mes
connaissances, et de les mettre en pratique. J'ai pu renforcer mes capacités à gérer un projet, et à
faire face aux différentes situations qui peuvent se révéler problématiques.
Le travail mené durant ces trois mois de stage a permis de répondre aux attentes du cahier
des charges. Les différentes tâches ont été réalisées dans le respect des délais donnés, et avec une
écoute attentive aux attentes de l'établissement. Et ce, malgré les pannes diverses, les problèmes
d'électricité, et les débits du réseau ne permettant pas de travailler dans des conditions optimales.
Pour conclure, c'est un stage très enrichissant du point de vue personnel et professionnel. Il
reste cependant beaucoup à faire concernant le développement du réseau de l'IST-D. Les moyens
déployés dans l'infrastructure sont faibles, et l'accès aux ordinateurs est souvent difficile.
– Apache
Fondation à but non lucratif. Elle développe des logiciels open-sources (sous la
licence Apache).
– Compilation
Action de transformer les sources d'une application en un programme exécutable
par la machine.
– Délestage
Lorsque la demande en électricité dépasse la production, l'approvisionnement est
temporairement coupé dans certaines zones, afin de rétablir l'équilibre.
– Flash
Ensemble d'applications permettant la manipulation d'images, de vidéos, ou
d'audio, permettant la création d'animations.
– iFrame
Technologie Web permettant l'incrustation d'une page Internet au sein d'une autre,
dans un cadre.
– Java
Langage de programmation multi plates-formes orienté objet. Très utilisé en
entreprise.
– Librairie
Ensemble de fichiers de fonctions déjà écrites, mis a disposition pour accélérer le
développement d'une application.
– MySQL
Système de gestion de base de données gratuit mais non open-source.
– Plug-in
Module d'extension permettant l'apport de nouvelles fonctionnalités à un logiciel
pour le compléter.
– Polycom
Terminal de visioconférence.
– Streaming
Technologie de diffusion continue de contenu multimédia. Le serveur transmet
progressivement le fichier sous forme de flux, qui est lu au fur et à mesure par le
client. C'est un « téléchargement provisoire ».
[Link]
-->
<persistence xmlns="[Link] xmlns:xsi="[Link]
instance"xsi:schemaLocation="[Link]
[Link] version="2.0">
<persistence-unit name="openmeetings" transaction-type="RESOURCE_LOCAL">
<provider>[Link]</provider>
<class>[Link]</class>
<class>[Link]</class>
<class>[Link]</class>
<class>[Link]</class>
<class>[Link]</class>
<class>[Link]</class>
<class>[Link]</class>
<class>[Link]</class>
<class>[Link]</class>
<class>[Link]</class>
<class>[Link]</class>
<class>[Link]</class>
<class>[Link]</class>
<class>[Link]</class>
<class>[Link]</class>
<class>[Link]</class>
<class>[Link]</class>
<class>[Link].Organisation_Users</class>
<class>[Link]</class>
<class>[Link]</class>
<class>[Link]</class>
<class>[Link]</class>
<class>[Link]</class>
<class>[Link]</class>
<class>[Link]</class>
<class>[Link]</class>
<class>[Link]</class>
<class>[Link]</class>
<class>[Link]</class>
require_once($CFG->dirroot.'/mod/openmeetings/lib/openmeetings_rest_service.php');
class openmeetings_gateway {
var $session_id = "";
function getUrl() {
global $CFG;
$CFG-> openmeetings_red5host = $_SERVER["HTTP_HOST"]; //Ligne rajoutée
$port = $CFG->openmeetings_red5port == 80 ? '' : ":" . $CFG->openmeetings_red5port;
return "[Link] . $CFG->openmeetings_red5host . $port . "/" . $CFG->openmeetings_webappname;
}
function var_to_str($in) {
if(is_bool($in)) {
if($in)
return "true";
else
return "false";
} else
return $in;
}
function openmeetings_loginuser() {
global $CFG;
$restService = new openmeetings_rest_service();
$response = $restService->call($this->getUrl()."/services/UserService/getSession","session_id");
if ($restService->getError()) {
echo '<h2>Fault (Expect - The request contains an invalid SOAP body)</h2><pre>';
print_r($result); echo '</pre>';
} else {
$err = $restService->getError();
if ($err) {
echo '<h2>Error</h2><pre>' . $err . '</pre>';
} else {
$this->session_id = $response;
$result = $restService->call($this->getUrl()."/services/UserService/loginUser?"
. "SID=".$this->session_id
. "&username=" . urlencode($CFG->openmeetings_openmeetingsAdminUser)
. "&userpass=" . urlencode($CFG->openmeetings_openmeetingsAdminUserPass)
);
function deleteRoom($openmeetings) {
global $CFG;
$restService = new openmeetings_rest_service();
$err = $restService->getError();
if ($err) {
echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
echo '<h2>Debug</h2><pre>' . htmlspecialchars($client->getDebug(), ENT_QUOTES) .
'</pre>';
exit();
}
$result = $restService->call($this->getUrl()."/services/RoomService/deleteRoom?" .
"SID=".$this->session_id.
"&rooms_id=".$openmeetings->room_id);
if ($restService->fault) {
echo '<h2>Fault (Expect - The request contains an invalid SOAP body)</h2><pre>';
print_r($result); echo '</pre>';
} else {
$err = $restService->getError();
if ($err) {
echo '<h2>Error</h2><pre>' . $err . '</pre>';
} else {
return $result;
}
}
return -1;
}
function openmeetings_setUserObjectAndGenerateRoomHash($username,
$firstname,
$lastname,
$profilePictureUrl,
$email,
$externalUserId,
$externalUserType,
$room_id,
$becomeModeratorAsInt,
$showAudioVideoTestAsInt) {
global $CFG;
$restService = new openmeetings_rest_service();
$result = $restService->call($this->getUrl().
"/services/UserService/setUserObjectAndGenerateRoomHash?" .
"SID=".$this->session_id.
"&username=".urlencode($username).
"&firstname=".urlencode($firstname).
"&lastname=".urlencode($lastname).
"&profilePictureUrl=".urlencode($profilePictureUrl).
"&email=".urlencode($email).
"&externalUserId=".urlencode($externalUserId).
"&externalUserType=".urlencode($externalUserType).
"&room_id=".$room_id.
"&becomeModeratorAsInt=".$becomeModeratorAsInt.
"&showAudioVideoTestAsInt=".$showAudioVideoTestAsInt);
$err = $restService->getError();
if ($err) {
if ($restService->getError()) {
echo '<h2>Fault (Expect - The request contains an invalid SOAP body)</h2><pre>';
print_r($result); echo '</pre>';
} else {
$err = $restService->getError();
if ($err) {
echo '<h2>Error</h2><pre>' . $err . '</pre>';
} else {
return $result;
}
}
return -1;
}
/**
* Create a new conference room
*/
function openmeetings_createRoomWithModAndType($openmeetings) {
global $USER, $CFG;
$restService = new openmeetings_rest_service();
$course_name = 'MOODLE_COURSE_ID_'.$openmeetings->course.'_NAME_'.$openmeetings->name;
$isModeratedRoom = "false";
if ($openmeetings->is_moderated_room == 1) {
$isModeratedRoom = "true";
}
$url = $this->getUrl().'/services/RoomService/addRoomWithModerationAndExternalType?' .
'SID='.$this->session_id .
'&name='.urlencode($course_name).
'&roomtypes_id='.$openmeetings->type .
'&comment='.urlencode('Created by SOAP-Gateway') .
'&numberOfPartizipants='.$openmeetings->max_user .
'&ispublic=false'.
'&appointment=false'.
'&isDemoRoom=false'.
'&demoTime=0' .
'&isModeratedRoom='.$isModeratedRoom .
'&externalRoomType='.
urlencode($CFG->openmeetings_openmeetingsModuleKey);
$result = $restService->call($url, "return");
if ($restService->fault) {
echo '<h2>Fault (Expect - The request contains an invalid SOAP body)</h2><pre>';
print_r($result); echo '</pre>';
} else {
$err = $restService->getError();
if ($err) {
echo '<h2>Error</h2><pre>' . $err . '</pre>';
} else {
return $result;
}
}
return -1;
}
– [Link]
Site du système d'exploitation Debian, utile pour trouver toutes sortes de paquets.
En anglais.
– [Link]
Site internet du module d'intégration de Moodle à Joomla. On y trouve un wiki très
complet et indispensable pour la configuration. En anglais.
– [Link]
Plate-forme de l'ENT Moodle. Comporte un wiki assez peu documenté en français,
mais bien plus complet en anglais, ainsi qu'un forum. Utile pour trouver des
modules ou de la documentation.
– [Link]
Site internet de la fondation Apache, pour l'application OpenMeetings. En anglais, il
est cependant complet. Attention cependant, des informations sont obsolètes.
– [Link]
Site internet de la distribution linux Ubuntu. La documentation est cependant riche,
et le forum actif. On y retrouve des tutoriels, valables pour Debian. En français.
Ce stage concernait la mise en place d'un environnement numérique de travail, ainsi que
l'intégration au sein de ce dernier, d'une solution de vidéo-conférence. Ceci, dans le but de
permettre aux enseignants comme aux étudiants, de pouvoir bénéficier d'intervenants extérieurs
plus facilement, et de faciliter l'accès des étudiants aux cours et aux autres documents.
Vous pourrez grâce à ce rapport, suivre les différentes étapes, de l'étude à la mise en place.
Vous trouverez aussi les différents problèmes rencontrés, et les solution apportée à ceux-ci pour
répondre au mieux aux attentes de l'établissement.
This internship was about the installation of a digital working environment, and the
integration in this environment, of a video conferencing solution. In order of facilitating the
interaction between remote and local teachers or even students, and facilitating student's access
to their lessons and to others documents.
With this report, you will follow the different steps, from the analysing to the installation.
You will find the different problems, and their solution to fix them, in order to answer better to the
establishment's waitings.