FLASH INFORMATIQUE FI



Intégration des outils de my.epfl dans vos pages Web




Predrag VICEIC


Depuis un certain temps déjà, my.epfl vous permet de sauvegarder, accéder de partout, distribuer et partager vos documents. Il en va de même pour vos agendas ainsi que des agendas des unités dont vous faites partie. Vous pouvez accéder à vos fichiers ou évènements à travers l’interface Web disponible où que vous soyez, pourvu que vous ayez l’accès à un browser Web. Vous pouvez également gérer vos rendez-vous ou manipuler vos documents à travers les clients riches, les applications permettant de se connecter à vos dossiers ou vos agendas.
Les services documents.epfl.ch et calendars.epfl.ch comprennent les protocoles ouverts de gestion de fichiers (WebDAV) et d’agendas en ligne (CalDAV). Il est ainsi possible de construire les applications tierces qui manipulent les documents et les agendas qui s’y trouvent. Les wikis (wiki.epfl.ch) et l’application Inform (inform.epfl.ch) utilisent ces protocoles pour déposer leurs fichiers sur les serveurs du projet my.epfl.
Mais comment un simple mortel, dépourvu du don de la programmation, muet en Java, PHP et Python, peut-il tirer profit des possibilités d’intégration de données issues de my.epfl ? Il existe plusieurs services Web qui sont là explicitement pour cette raison. Par manque de communication de ma part, leur utilisation était jusque là méconnue. Cet article remédie à cela et les dévoile dans toute leur splendeur.

Affichage des documents de my.epfl dans une page Web

Commençons tout d’abord par un rappel. Même si my.epfl.ch est l’interface Web permettant d’accéder à vos documents, ceux-ci sont stockés sur le service documents.epfl.ch qui est le serveur WebDAV. Vous pouvez connaître l’URL (l’adresse Web) de votre document en cliquant sur l’icône à côté du nom de document/dossier dans l’interface my.epfl. L’adresse se trouve dans la rubrique Adresse HTTP/WebDAV.
L’URL ainsi obtenue peut être envoyée telle quelle par mail à vos correspondants, qui n’auront qu’à cliquer pour accéder au fichier ou au dossier. Si vous voulez toutefois intégrer la liste des documents dans une page Web, il vous suffit d’y ajouter le code HTML.

<script type="text/javascript" src="https://documents.epfl.ch/chemin_de_votre_dossier/?js"/>

C’est aussi simple que cela. Le code ci-dessous va aller chercher le contenu du dossier se trouvant à l’URL spécifiée et l’intégrera dans la page Web courante. Attention toutefois ! Cette manière de procéder ne permet pas de passer à travers les protections par les droits d’accès qu’il y aurait sur le dossier en question. Vous devez donc veiller à autoriser l’accès à ce dossier en lecture au tout public, dans le cas contraire une boîte d’authentification apparaîtra.
Si vous n’avez pas de serveur Web à disposition, vous pouvez utiliser l’astuce directement sur my.epfl, en créant un fichier index.html dans votre dossier www :

<html>
<head>
        <title>mes documents</title>
</head>
<body>
        <h3> Voici la liste des documents: </h3>
        <hr>
        <script type=...>....</script>
</body>
</html>

Ainsi, vous pourrez mettre en page votre liste de documents en y ajoutant les commentaires pour votre interlocuteur. Si l’affichage par défaut ne vous plaît pas, vous pouvez ajouter à votre page Web une feuille de style, par exemple :

<style type="text/css">
        td.documents_icon{border-width:0;}
        td.documents_filename{
     background-color:#fff1f1;
     border-width:0;}
        td.documents_date{display:none;}
        td.documents_size{
     background-color:#f1f1f1;
     border-width:0;}
        A,A:link,A:active{
     padding-left:10px;
     font-weight:bold;
     color : #003366;
     text-decoration:none;}
</style>

Ici nous définissons la charte graphique avec laquelle nous désirons afficher la liste de documents. De plus, dans cet exemple nous supprimons l’affichage de la date de la dernière modification du fichier. Pour rappel, la balise <style> se place à l’intérieur de la balise <head>. Vous pouvez consulter l’exemple complet sur l’url https://documents.epfl.ch/groups/m/my/myepfl/www/demo.

Dépôt de documents dans my.epfl à travers une page Web

Si vous voulez que quelqu’un dépose un document à votre attention, rien de plus facile, ce n’est pas le choix qui manque. La personne peut le déposer dans son dossier public et vous envoyer l’URL (le lien) par mail. Vous n’aurez qu’à cliquer pour récupérer le document. Ou encore, il lui est possible de le déposer directement dans votre dossier dropbox, où vous serez le seul à pouvoir aller le chercher. Vous pouvez également décider que le meilleur endroit pour le document est dans le dossier private d’un groupe dont vous et votre interlocuteur faites partie. Mais peut-être, désirez-vous faciliter la tâche à votre interlocuteur en lui présentant une URL sur laquelle il n’aura qu’à cliquer et déposer son document, celui-ci atterrissant automatiquement là où vous avez décidé  ? C’est possible avec le webservice de dépôt de fichiers.
Comme dans l’exemple précédent, vous avez besoin d’une page Web. Dans l’impossibilité de vous procurer une telle page, vous pouvez toujours créer un fichier index.html dans votre dossier www sur my.epfl. Ensuite vous devez décider où vous voulez que les fichiers que vous sollicitez atterrissent. Pour finir, il suffit d’ajouter le code HTML qui suit :

<form
 action="https://my.epfl.ch/myepflws/uploadFile.jsp"
 method="POST" enctype="multipart/form-data">
   <input type="hidden" name="uploadDir"
     value="url_du_dossier de dépôt (p.ex. votre dropbox)"
     size="50">
   <input type="hidden" name="redirectOnSuccess"
     value="url du fichier success.html">
   <input type="hidden" name="redirectOnFailure"
     value="url du fichier failure.html">
   <input type="file" name="uploaded_file"/>
   <input type=submit value="OK"/>
</form>

Quand un visiteur arrive sur la page Web contenant un tel code, il verra une boîte de upload comme on en voit très souvent sur les sites Web. En cliquant sur parcourir, il pourra choisir un document sur son ordinateur, et en cliquant sur OK, il enverra ce document dans le dossier spécifié dans le code HTML. Si le dossier demande une autorisation, c’est à ce moment-là qu’un dialogue d’authentification apparaîtra chez votre interlocuteur.
Si vous ne désirez pas authentifier les déposants, il vous suffit d’autoriser l’écriture pour tout public pour ce dossier. Il n’est pas nécessaire (et selon les cas pas souhaitable) d’autoriser la lecture.
Une page Web mise ainsi en place vous permet par exemple de recevoir les dossiers de candidature, les résumés pour les papiers de conférence, ou les travaux de vos étudiants. Une telle boîte de dépôt est par exemple présente sur la page http://kis.epfl.ch/ecran et permet de déposer les documents à afficher sur les écrans dans les couloirs de l’école.
Les deux URL des fichiers succès et failure sont les adresses Web vers lesquelles votre interlocuteur sera rédirigé lors de l’opération, dépendant du succès ou l’échec de celle-ci. Il va sans dire qu’à cet endroit vous pouvez écrire l’URL de la page Web courante.

Affichage des événements d’un agenda my.epfl dans une page Web

De même que pour la partie documents, les agendas du projet my.epfl ne sont pas stockés sur le serveur my.epfl mais sur le serveur calendars.epfl.ch : le serveur CalDAV. My.epfl.ch est une interface Web qui permet de manipuler votre emploi du temps. Afin d’obtenir la vraie URL de votre calendrier, vous allez afficher les propriétés de celui-ci à l’aide de l’icône représentant une feuille avec un crayon. L’URL se trouve dans la rubrique Adresse CalDAV. Vous pouvez utiliser cette URL directement en l’envoyant par mail à votre interlocuteur, ou en créant un lien pointant vers celle-ci sur votre page Web. Le visiteur n’aura qu’à cliquer, et il se verra présenter une vue de la liste des événements. Si toutefois vous voulez intégrer cette vue directement dans la page Web, c’est possible à l’aide du code HTML.

<script type="text/javascript" src="https://calendars.epfl.ch/url/de/votre/calendrier?js"></script>

N’oubliez pas de rajouter ?js à l’URL de votre calendrier. Veillez également à autoriser l’accès au calendrier à tout public en lecture, sans quoi, le visiteur se verra présenter une boîte de dialogue d’authentification.
Cette manipulation simple vous permet par exemple d’annoncer divers événements sur votre page Web (quoique si c’est pour une faculté, vous aurez avantage à utiliser notre excellent service memento.epfl.ch). Si les couleurs et les polices d’affichage ne vous plaisent pas, vous avez la possibilité de rajouter une feuille de style comme suit :

<style type="text/css">
 td {border-top: solid #cccccc 1px;}
 td.odd {background-color:#edecdc;}
 td.even {background-color:#fffff;}
 A,A:link,A:active{
   padding-left:10px;
   font-weight:bold;
   color : #003366;
   text-decoration:none;}
</style>

Les identifiants odd et even désignent respectivement les lignes paires et impaires dans la liste des événements. Vous pouvez ainsi leur assigner les couleurs différentes pour plus de lisibilité. Les éventuelles URL dans la description de l’événement, c’est-à-dire toutes les chaînes de caractères commençant par http, seront converties, par le webservice, en liens cliquables.

Affichage de vos disponibilités dans une page Web

Last but no least : les disponibilités. Depuis my.epfl, vous pouvez afficher les disponibilités d’un autre utilisateur en utilisant la boîte prévue à cet effet. À condition que la personne ait désigné les calendriers rentrant dans le calcul des disponibilités (dans les propriétés du calendrier, la boîte Vues), vous verrez une liste des événements provenant de ces calendriers. Dépendant de vos droits d’accès, vous verrez le contenu des événements ou uniquement une version caviardée de ceux-ci.
Si vous voulez rendre accessibles vos disponibilités à quelqu’un, sans le faire aller dans my.epfl, il vous est possible d’envoyer l’URL directe que vous trouverez, comme tout le reste, dans la page des propriétés d’un calendrier, sous la rubrique Disponibilité. Le calendrier importe peu, chaque utilisateur n’a qu’une URL des disponibilités (pour des raisons biologiques, on ne perçoit qu’un espace-temps…)
Si de plus, pour tous les calendriers en question, vous spécifiez le droit d’accès Occupation pour Tout public, votre interlocuteur ne se verra pas présenter un dialogue d’authentification. Il va sans dire que dans ce cas, n’importe qui pourra voir vos plages occupées. Toutefois, cette interface ne présente pas le détail des événements, indépendamment des droits d’accès.
Comme vous vous en doutez, il est également possible d’afficher votre occupation directement dans une page Web. Sans plus vous faire attendre, voici un exemple de code HTML

<div class="freebusy"
 style="position:relative;
  height:100px;
  width: 100%;
  overflow:auto;
  padding-top: 20px;">
<script type="text/javascript"
 src="https://calendars.epfl.ch/fbsvc?user=votre.mail@epfl.ch&js">
 </script>
</div>

… ainsi que le style associé

<style type="text/css">
 div.freebusy{border-color:#FF0000; color:#003366; font-weight:bold;}
 div.colorodd{background-color:#edecdc;}
 div.coloreven{background-color:#f9f9f9;}
 div.coloroccupied{background-color:#003366;}
</style>

En allant sur personnes.epfl.ch/predrag.viceic, vous verrez un exemple de la vie courante de l’utilisation de ce Web service.
Vous voilà initiés aux secrets jalousement gardés de my.epfl. Sur l’URL https://documents.epfl.ch/groups/m/my/myepfl/www/demo vous avez une démonstration complète des techniques présentes ici. Et pour finir, partagez vos astuces ! Si vous faites usage des webservices présents dans cet article, je vous invite à me le communiquer sur my@epfl.ch, afin que je puisse les mentionner sur le blog du projet (blogs.epfl.ch/my.epfl) à l’attention des autres utilisateurs.



Cherchez ...

- dans tous les Flash informatique
(entre 1986 et 2001: seulement sur les titres et auteurs)
- par mot-clé

Avertissement

Cette page est un article d'une publication de l'EPFL.
Le contenu et certains liens ne sont peut-être plus d'actualité.

Responsabilité

Les articles n'engagent que leurs auteurs, sauf ceux qui concernent de façon évidente des prestations officielles (sous la responsabilité du DIT ou d'autres entités). Toute reproduction, même partielle, n'est autorisée qu'avec l'accord de la rédaction et des auteurs.


Archives sur clé USB

Le Flash informatique ne paraîtra plus. Le dernier numéro est daté de décembre 2013.

Taguage des articles

Depuis 2010, pour aider le lecteur, les articles sont taggués:
  •   tout public
    que vous soyiez utilisateur occasionnel du PC familial, ou bien simplement propriétaire d'un iPhone, lisez l'article marqué tout public, vous y apprendrez plein de choses qui vous permettront de mieux appréhender ces technologies qui envahissent votre quotidien
  •   public averti
    l'article parle de concepts techniques, mais à la portée de toute personne intéressée par les dessous des nouvelles technologies
  •   expert
    le sujet abordé n'intéresse que peu de lecteurs, mais ceux-là seront ravis d'approfondir un thème, d'en savoir plus sur un nouveau langage.