Kiwi-Trip Application de tourisme pour Android
|
|
|
- Élodie Blanchard
- il y a 10 ans
- Total affichages :
Transcription
1 Master 2 - Projet Kiwi-Trip Application de tourisme pour Android Auteurs : Pierre Martin Fabien Monnet Tuteur de projet : Christophe Lang Année
2 Introduction I. Présentation du projet existant 1. Fonctionnalités a. L application b. Le site internet 2. Solutions techniques a. MySQL b. Java EE c. Communication application - serveur d. Sauvegarde des traces 3. Cahier des charges II. Gestion des médias 1. Ajout d image depuis l application a. Fonctionnalité b. Développement 2. Récupération des données sur le serveur 3. Ajout d image depuis le site internet 4. Visualisation des photos sur le site internet 5. Visualisation des photos sur l application III. Lissage et filtrage de la trace GPS 1. Points incohérents 2. Réduction du nombre de points obtenus 3. Gestion de l arrêt de l utilisateur IV. Système d authentification sécurisé 1. L authentification à l heure actuelle 2. Système d authentification Kerberos 3. Système d authentification CAS 4. LemonLDAP::NG V. Visite interactive 1. Visualisation de voyages 2. Visualisation de points d intérêts VI. Interface d administration de points d intérêts 1. Administration sur le site internet 2. Visualisation sur l application Conclusion 2
3 Introduction Android est un système d exploitation pour smart-phones et tablettes. Il a été développé par Open Handset Alliance qui est dirigé par Google et d autres compagnies de logiciel et de télécommunication. Il a été lancé en 2007 et il est aujourd hui le système utilisé par le plus grand nombre de dispositifs (Tablettes et téléphones). Android permet à l utilisateur de téléphoner, d envoyer différentes sortes de messages, recevoir des s, prendre des photos ainsi que des vidéos, aller sur internet etc. Android propose également un grand nombre d application diverses et développés par d autres utilisateurs où d autres compagnies car Google offre aux développeurs la possibilité de créer facilement des applications grâce au SDK gratuit. Android est écrit en Java, et le SDK est une version modifiée de Java. Un grand nombre de smart-phones possède la fonctionnalité du GPS et Android l utilise afin de permettre aux utilisateurs d avoir des applications GPS afin de se localiser où encore de suivre un itinéraire. Le GPS est très utilisé lors de voyage, vous spécifiez une adresse où vous souhaitez vous rendre et vous n avez ensuite qu à suivre le chemin que l application vous fournit. Cela est très utile lors d un voyage en terre inconnue, mais cela implique de connaître tout de même les endroits intéressant à visiter. Mais pourquoi ne serait-il pas possible d avoir une application qui permet de trouver des lieux intéressants et qui vous aide à vous y rendre? C est cette question qui nous a amené à créer le projet Kiwi-Trip. Une application communautaire qui permet aux utilisateurs de réaliser des parcours ou des voyages en utilisant la géolocalisation (sauvegarde de la trace GPS), et de les partager avec les autres ainsi que de guider les utilisateurs à trouver les lieux intéressants. Kiwi-Trip est composé de deux parties : Une application pour Android et un site internet. Ce type d application existe mais elles se focalisent souvent sur une activité comme le sport et la plupart du temps sont payantes. Runner où mtrip par exemple sont deux applications qui ressemble à Kiwi-Trip mais sont chères et n insistent pas sur l aspect communautaire. Le projet Kiwi-Trip a démarré l an dernier lors du projet tutoré de Master 1. Durant notre Master 2, nous avons voulus poursuivre sur ce projer afin de l améliorer. Ce rapport présentera tout d abord le projet existant puis expliquera les différentes modifications que nous y avons apporté. 3
4 I. Présentation du projet existant 1. Fonctionnalités a. L application L application doit permettre à un utilisateur de sauvegarder ses parcours et d ajouter des points d'intérêts. Une fois sauvegardé, les parcours et les points d'intérêts, sont accessibles en ligne afin des les partager avec d autres utilisateurs. Les fonctionnalités réalisés sont les suivantes : Création d un compte utilisateur Afin d accéder à l application, il faut tout d abord créer un compte. Il est possible de créer un compte directement depuis l application. L utilisateur doit saisir au minimum son adresse , un nom d utilisateur et un mot de passe. Il peut également renseigner son nom de famille, son prénom, sa date de naissance, sa ville ainsi qu une description. Le compte est créé pour l application mais également pour le site internet. Les informations sont sauvegardées sur le serveur. mais également sur le téléphone afin de permettre à l utilisateur de ne pas être obligé de renseigner la page de login à chaque fois qu il ouvre l application. Dans ce cas, lorsqu il ouvre l application, celle ci contacte le serveur afin de vérifier le nom d utilisateur et le mot de passe. Si l utilisateur souhaite se connecter avec un autre compte, il peut supprimer ces informations dans les préférences de l application. 4
5 Création d un parcours en utilisant la géolocalisation GPS ainsi que mise en ligne de parcours L utilisateur a la possibilité de créer un parcours en démarrant le service de traçage GPS sur une page de l application qui affiche la GoogleMap. L application sauvegarde tous les points où l utilisateur va dans la base de donnée locale. Les informations sauvegardées pour un point GPS sont la latitude, la longitude et l altitude. L utilisateur peut ajouter un point d intérêt sur son parcours. L utilisateur a également la possibilité de stopper le service quand il le souhaite. A ce moment, il peut ensuite uploader son parcours sur le server où poursuivre le traçage GPS. Sur la map, il peut également visualiser la trace qu il a effectué jusqu à l instant présent ainsi que les points d intérêts. Création de points d'intérêts La création d un point d intérêt peut se faire de deux façons. Premièrement, l utilisateur veut ajouter un point d intérêt sans effectuer un parcours. Dans ce cas, le point d intérêt n est lié à aucun parcours. La deuxième façon est d ajouter un point d intérêt durant le traçage GPS d un parcours. Le point d intérêt est alors lié au parcours réalisé dans le même temps. La création d un point d intérêt contacte directement le serveur pour sauvegarder le point d intérêt. Si c est 5
6 une création durant un parcours, le serveur renvoie à l application l identifiant du point d intérêt dans la base de donnée afin de pouvoir l associer lorsque l utilisateur partage son parcours. b. Le site internet Les principales fonctionnalités proposées par l application sont également faisable sur le site web, on peut ajouter un point d intérêt, créer un voyage, en modifier un existant, ajouter des photos etc... Les fonctionnalités réalisés sont les suivantes : Création d un compte utilisateur De même que pour l application, l utilisateur rentre ses informations personnelles et son compte est créé, il est nécessaire de rentrer au moins les champs nom d utilisateur, et mot de passe pour créer un compte. Le login se fait ensuite grâce au nom d utilisateur et du mot de passe. Création et modification d un parcours 6
7 Il est possible de créer un voyage directement sur le site, en réalisant le tracé à la main en cliquant directement sur une map sur tous les points composant le parcours. Au moment de la création du voyage, l utilisateur doit renseigner les champs décrivant ce dernier : Nom du voyage Descritption Difficulté (entre 1 et 5) Catégorie La longueur du parcours est calculée automatiquement à chaque ajout d un nouveau point. Une fois le voyage enregistré, l utilisateur peut le retrouver dans la liste de tous les voyages. L ajout de points d intérêts à un voyage se fait sur la page d édition de voyage, il suffit de placer un marqueur sur la map, saisir son nom et sa description et le point d intérêt est automatiquement lié au voyage. Cette page permet également de modifier les informations relatives à ce voyage. On peut également éditer la trace composant le voyage, ajouter des points et en supprimer. 7
8 Parcours de tous les voyages Cette page permet de visualiser sous forme d une liste tous les voyages créés et enregistrés dans la base de données. Pour l instant tous les voyages contenus dans la base sont affichés la fonction de filtre n a pas encore été développée. Cette fonctionnalité pourra être rapidement implémentée car il suffira de modifier la requête SQL effectuée au moment de rapatrier tous les voyages en ne sélectionnant qu un titre voulu ou une catégorie spécifique. Un clic sur un des voyages mène au détail de ce voyage. La page de détail d un voyage affiche sous la même forme que ci dessus l image du voyage ainsi que les informations essentielles mais en plus affiche la trace sur une map. La liste des points d'intérêts associé à ce voyage est également affichée. Pour chacun de ces points on voit la photo principale ainsi que les informations de base. 8
9 2. Solutions techniques a. MySQL Tant au niveau du site qu'au niveau de l'application, il est nécessaire de sauvegarder un grand nombre de données, informations sur les utilisateurs, sur un voyage, sur un point d'intérêts etc. La présence d'une base de données est donc indispensable, notre choix s'est naturellement porte vers système de gestion de base données mysql. En effet, nous avions déjà précédemment utilisé cet outil et sommes assez familier avec. De plus il est gratuit, très largement utilise de par le monde et donc très bien documenté. Mysql est facilement utilisable avec Java, en utilisant le connecteur JDBC, il a donc été assez simple de l'intégrer a notre environnement de développement. Explications de la conception de la base de données Nous avons structures dans une base toutes les données utiles et essayant d'avoir une pensée très large qui permette de faire évoluer le système sans totalement changer la base. Par exemple, il n'est possible d'associer que des photos a un point d'intérêts mais par la suite, il serait bien de pouvoir y associer des vidéos ou commentaires audio. Nous avons donc crée une table MEDIAS ainsi qu'une table MEDIAS TJ (table de jointure) reliées aux tables TRIPS et POIS. Ainsi nous n'aurons aucune modifications a faire lorsque nous désirerons inclure ces nouveaux types de médias. b. Java EE Le site web réalisant un certain nombre de traitements, notamment des connexions a la base de données, la question du serveur web est très importante. Notre choix s'est tourne vers JavaEE d'un point de vue purement pédagogique. En effet, nous connaissions déjà le langage php qui aurait été une autre alternative mais nous avons choisi de découvrir les fonctionnalités cote serveur de Java : Servlets et JSP. Définition Servlet (Journaldunet) : Programme Java qui s'exécute dynamiquement sur le serveur Web et permet l'extension des fonctions de ce dernier, typiquement : accès a des bases de données, transactions d'e-commerce, etc. Une servlet peut être chargé automatiquement lors du démarrage du serveur Web ou lors de la première requête du client. Une fois charges, les servlets restent actifs dans l'attente d'autres requêtes du client. Définition JSP (Journaldunet) : Extension de la technologie Java Servlet de Sun qui permet de programmer simplement l'affichage de contenus dynamiques sur le Web. JSP consiste en une page HTML incluant du code Java qui s'exécutera soit sur le serveur Web, soit sur le serveur d'application. Le langage HTML décrit la manière dont s'affiche la page, le code Java servant a effectuer un traitement, par exemple récupérer les informations nécessaires pour effectuer une requête dans une base de données. Les pages faisant simplement un appel a la base de données sont des pages JSP. La structure de base de la page n'est autre que du code HTML "classique", puis les éléments variant sont insérés dynamiquement par des fonctions Java. Les pages plus complexes nécessitant une 9
10 intervention de l'utilisateur sont des pages jsp également mais le traitement ne s'effectuant pas au chargement de la page (il s'effectue suite a une action de l'utilisateur), elle font appel a une servlet qui leur renvoie les données demandées. Cet appel est un appel asynchrone réalisé par l'objet javascript XMLHTTPRequest, cette technique est appelée Ajax. Principe Ajax (Wikipedia) : En utilisant Ajax, le dialogue entre le navigateur et le serveur se déroule la plupart du temps de la manière suivante : un programme écrit en langage de programmation JavaScript, incorpore dans une page web, est exécute par le navigateur. Celuici envoie des demandes de calcul au serveur Web, puis modifie le contenu de la page actuellement affichée par le navigateur Web en fonction du résultat reçu du serveur, évitant ainsi la transmission et l'affichage d'une nouvelle page. Cette méthode permet en effet d'éviter le rechargement de la page a chaque action de l'utilisateur, ce qui est assez lourd, notamment lorsque les actions sont fréquentes comme lors de la création d'un voyage. c. Communication application - serveur Lors de son utilisation, l'application enregistre beaucoup d'informations, notamment la liste des points d'une trace, ainsi que le nom, la description d'un voyage, et de même pour un point d'intérêt. Ces informations sont stockées en local sur le téléphone puis, sont transmises au serveur, il fallait donc trouver un moyen efficace de communiquer entre l'application et le serveur. Après quelques recherches, nous nous sommes dirigés vers une solution, l'appel d'une page sur le serveur par la méthode HTTP POST. La solution consiste a lui envoyer les données nécessaires a la composition de la réponse et réceptionner cette dernière. Pour cela, un protocole a dû être définit. Il fallait des données structurées et donc il y avait la possibilité de se baser sur XML qui est facile a lire et reconnu par tous les langages informatiques. Cependant, ayant déjà vu ce format lors de l'apprentissage de licence, il était intéressant de voir d'autres formats de données. C'est pour cette raison que JSON a été choisi, moins facile a lire mais également moins verbeux que XML (Les balises XML sont redondantes). Les éléments de JSON : - Un objet : contient des objets ou des variables. - Une variable scalaire : Number, String, Boolean. - Un tableau. - Les valeurs littérales : null, true, false, "chaîne de caractères", et les valeurs numériques. 10
11 Exemple de fichier JSON : { "menu": "Fichier", "commandes": [ { "title": "Nouveau", "action":"createdoc" }, { "title": "Ouvrir", "action": "OpenDoc" }, { "title": "Fermer", "action": "CloseDoc" } ] } Plusieurs librairies sont par ailleurs disponibles en JAVA an de créer ou parser un fichier JSON. Le choix s'est porté sur la librairie Jackson qui permet également de faire correspondre sans grande difficultés un fichier JSON avec une classe JAVA. Ceci est très utile dans notre cas lorsqu'il faut créer des fichiers relativement longs comme un voyage avec tous ses points de passage associés. d. Sauvegarde des traces En ce qui concerne la sauvegarde des traces sur le serveur, comme vu précédemment, on ne sauve pas tous les points d'une trace dans la base de données : en effet, une trace de taille moyenne, environ 5 kms sauvegardée par l'application comptera pas loin de 500 points, ce qui aurait très rapidement fait des tables énormes et disproportionnées. De plus nous avions prévu d'intégrer la possibilité d'exporter ses voyages aux formats standards tels que le format gpx des gps Garmin, ce qui nous a amené a stocker les traces directement au format gpx dans dossier sur le serveur prévu a cet effet. Chaque chier gpx portant le nom de trace i.gpx ou i est le numéro d'id du voyage dans la base de données. Definition (Wikipedia) : GPX (GPS exchange Format) est un format de fichier permettant l'échange de coordonnées GPS. Ce format permet de décrire une collection de points utilisables sous forme de "waypoint", "track" ou "route". Ce format est ouvert. Ce format étant basé sur XML il suffit d'avoir un parseur XML pour pouvoir effectuer tous les traitements nécessaires de création/modification ou de lecture de fichiers. Nous avons choisi ici DOM qui est intégré à Java. A chaque création de voyage un fichier correspondant est créé, et à chaque vue sur la map d'un voyage le fichier correspondant est lu par le serveur. 11
12 3. Cahier des charges L objectif de notre projet est d apporter des améliorations tant sur l application que sur le site internet. Différents modules de travail ont étés définis. Voici leur contenus : 1. Gestion des médias - Permettre à l utilisateur d ajouter des photos sur l application concernant un point d intérêt et sur le site internet concernant un point d intérêt et un voyage. 2. Lissage de la trace GPS - Suppression des points superflus enregistrés lors du traçage de l utilisateur afin d avoir une trace plus fluide et plus lisse. 3. Sécurité et authentification des utilisateurs - Gestion des droits utilisateurs, - Sécurisation de l accès aux données. 4. Visite interactive - Donner à l utilisateur des informations sur le lieu dans lequel il se trouve (points d intérêts aux alentours). 5. Interface d administration de points d intérêts - Permettre à la personne responsable d un lieu de configurer l affichage des informations concernant ce lieu (ex : Horaires, prix, plan, adresse). La suite du rapport détaille point par point le travail réalisé. 12
13 II. Gestion des médias Afin de fournir à l utilisateur des fonctionnalités suffisamment complètes pour qu il ait envie de partager ses voyages, nous avions pour idée dans la première partie du projet d offrir à l utilisateur d ajouter des médias concernant ses voyages. C est une fonctionnalité majeure du projet car les photos peuvent êtres couplées aux voyages mais également aux points d'intérêts définis par les utilisateurs. Ce qui donne une idée plus précise sur le lieu à découvrir. Autre que du texte de description. Nous avons donc décidé de l inclure dans cette deuxième partie du projet. Comme dit précédemment, les images peuvent êtres associées soit à un voyage, soit plus précisément à un point d intérêt. L'objectif est donc double : - Permettre à l utilisateur d illustrer son voyage en y ajoutant des photos sur le site internet. - Permettre à l utilisateur, lorsqu il définit un nouveau point d intérêt, aussi bien sur l application que sur le site internet, d y ajouter des photos. De même, l utilisateur doit pouvoir ensuite visualiser les photos sur le site internet et sur l application mobile. 1. Ajout d image depuis l application a. Fonctionnalité Pour fournir à l utilisateur de plus amples fonctionnalités, nous avons décidé de permettre à l utilisateur d ajouter des photos relatives à un point d intérêt depuis l application mobile. De ce fait, lorsqu un utilisateur souhaite créer un point d intérêt (lors d un parcours où non), il a également la possibilité d uploader directement une photos. b. Développement La communication entre l application mobile et le serveur de la base de donnée qui enregistre les données des utilisateurs s articule autour du format JSON. Par exemple, lorsque l utilisateur crée un point d intérêt, l application envoie à une page web (plus précisément une servlet) les informations relatives à ce point et la page va ensuite enregistrer les informations dans la base de données. 13
14 Les informations prennent la forme suivante : { "iduser " : "1", "name " : "La citadelle", "description ": "Une citadelle de Vauban", "categorie ": "3", "subcategorie ": "2", "longitude ": " ", "latitude ": " '", "altitude ": "300" } Cependant, l envoie d une image sur le serveur ne peut s effectuer de la même manière. Nous avons tout d abord réfléchis à la forme que prendrait notre requête. Afin de pouvoir transmettre l image sur le canal de connexion, cela exige un encodage. Pour cela, l encodage Base64 peut être utilisé. Base64 est un codage de l information utilisant 64 caractères qui est utilisé principalement pour la transmission de messages. L intérêt de l'encodage base64 se trouve dans la représentation de données binaires. Lorsque l on veut représenter des données binaires (comme dans notre cas une image) dans un document textuel (dans notre cas notre requête). Cependant, cette solution n a pas été satisfaisante pour la raison suivante : L encodage en base64 augmente considérablement la taille des données du fait des caractères de codages. Ce qui se traduit dans notre cas par une photo tronquée. Signifiant que le serveur ne recevait pas toutes les données que l application lui envoyait qui étaient apparemment trop importantes. 14
15 Nous avons donc pensé compresser l image afin de réduire sa taille. Mais afin d obtenir une image non tronquée, la qualité de l image compressé n était pas satisfaisante. Après de nouvelles recherches, nous nous sommes donc tourné vers une autre solution : La méthode Multipartpost. C est une méthode différente de la méthode POST d envoi d informations (utilisée précédemment) et qui est destinée à être utilisée lorsque la requête nécessite des données binaires à envoyer comme le contenu d'un fichier. Dans notre cas, une image. Apache fournit une implémentation de cette méthode coté client ainsi que coté serveur. La requête est composée de deux types de paramètres, StringPart et FilePart. Dans notre cas, nous définissons un paramètre FilePart qui contient le fichier correspondant à l image ainsi que plusieurs paramètres StringPart correspondants aux informations liées à l image comme l id de l utilisateur, l id du point d interêt lié à l image et la description. 15
16 Toutes ces informations sont ensuite récupérées sur le serveur. 2. Récupération des données sur le serveur Coté serveur la librairie Apache FileUpload a donc été utilisée, cette librairie est assez simple à utiliser et très bien documenté avec une javadoc très complète. On teste si la requête est bien une requête multipart et si c est le cas on la traite. On itère sur tous les items de cette requête, d un coté sont récupérés les attributs (isformfield), de l autre les datas (ici notre image). On crée ensuite sur le serveur un fichier grâce à l item contenant notre image. Sur le serveur, l image n est pas stockée dans le répertoire web du site, elle l est dans un dossier à part entière. Ainsi pour accéder à une image, depuis le site ou l application, il faut passer par une servlet créée à cet effet. Cela permet de bien séparer la partie site et la partie donnée. De plus s il sévérait qu une trop grande quantité d image encombre le serveur et qu il faille déporter le stockage des images sur un autre serveur, tout serait déjà en place, il suffirait de modifier l url dans la servlet de récupération des images. 16
17 3. Ajout d image depuis le site internet L implémentation de la fonction d upload d images a été d abord mise en place sur l application puis sur le site Internet. La récupération du fichier image et des données correspondantes (id de l utilisateur, id du POI/Trip) ainsi que le traitement associé étant déjà en place il a été très simple de développer cette partie d upload depuis le site Internet. Il a suffit d utiliser la même servlet de récupération et de respecter le même protocole. Cette fonctionnalité du site web est accessible sur les pages edit_poi et edit_trip est est juste constituée d un formulaire html ayant comme propriété d encodage multipart/form-data. <form action="../uploadpic" method="post" enctype="multipart/form-data"> Ce formulaire contient lui même un champ input de type file permettant à l utilisateur de choisir l image qu il souhaite ajouter. L id de l utilisateur et du POI/Trip est stocké dans des champs input de type hidden généré par le serveur à l envoi de la page. 4. Visualisation des photos sur le site internet Visualisation détaillée d un point d intérêt 17
18 La possibilité d ajouter plusieurs photos pour un point d intérêt ou pour un voyage a engendré une adaptation graphique sur le site internet. Une page de visualisation détaillée d un POI a été ajoutée, cette page affiche les informations de ce point : nom, description, catégorie et sous catégorie. Toutes les images relatives à ce point d intérêt sont également visible en miniature sur cette page ainsi que tous les commentaires associés, il est possible pour chaque utilisateur identifié d ajouter un commentaire. Un clic sur une image miniature ouvre un slideshow permettant d afficher l image à sa taille réelle et de naviguer entre toutes les images en taille réelle. L utilisateur créateur de ce point d intérêt peut le modifier grâce à un lien le redirigeant sur la page adéquat. Cette page ressemble à la page de visualisation ci-dessus à la seule différence que chaque information est éditable, il peut changer la catégorie, la description et ajouter des photos. Le nom d un point d intérêt ne peut être changé. Visualisation de tous les points d intérêts 18
19 Il est possible de visualiser directement sur la map tous les points d intérets enregistrés. La localisation de chacun sous forme d un marqueur ainsi que les informations essentielles s affichant dans une info-bulle lorsque l on clique sur le marqueur, un lien vers la page de détail des points d'intérêts est également présent dans cette info-bulle. 19
20 5. Visualisation des photos sur l application Lorsque l utilisateur effectue une recherche de point d intérêt ou de voyage comme par exemple avec la fonctionnalité What s arround qui permet de visualiser les différents points d intérêts proche de la localisation de l utilisateur, la liste de points d intérêts correspondants s affiche. Lors de cette visualisation, l application envoie une requête au serveur afin de récupérer les informations relatives aux points d intérêts ou aux voyages. La gestion de l affichage des images doit donc être associé à cette requête. Cependant, le fait de récupérer toutes les images de chaque point peut prendre un certain temps. C est pourquoi une méthode a été trouvée afin d afficher les images de manière asynchrone sans pénaliser l utilisateur dans la visualisation. L application affiche donc une liste sans les images et ensuite, l application va récupérer une à une les images de chaque item de la liste et les afficher dans le même temps. 20
21 21
22 Cette méthode est réalisation grâce à une classe de Android : AsyncTask qui permet de réaliser des tâches de manière asynchrone, à la manière des Threads. L avantage de l AsyncTask est sa simplicité d utilisation et d implémentation. Le Thread secondaire est créé automatiquement et la communication entre les différents Threads est simplifiée. 22
23 III. Lissage et filtrage de la trace GPS La trace GPS créée lors d un parcours d un utilisateur peut comporter certaines anomalies dûes notamment à la précision du GPS. Par exemple, si l utilisateur effectue une ligne droite lors de son parcours, la trace obtenue ne le sera pas pour autant (c est à dire que les points ne seront pas alignés). Les points GPS que le téléphone récupère comportent une marge d erreur. La précision du GPS allant de 10 à 100 mètres. Une autre chose peut être reproché au résultat obtenue, le nombre de points GPX récupérés par le téléphone peut être conséquent. Cela peut rapidement atteindre le millier de points pour un parcours de 10km par exemple. Ceci étant, ce qui est important pour l utilisateur, ce n est pas tant le nombre de points récupérés mais plutôt que la visualisation globale de la trace soit cohérente et assez précise pour la suivre. Dans ce sens, il est possible de simplifier la trace en supprimant des points qui seraient superflus. Par exemple sur une ligne droite, il est possible de supprimer les points intermédiaires sans pour autant perdre en précision. Un dernier point sur lequel il est possible d obtenir des incohérences, c est lorsqu un utilisateur s arrête lors de l enregistrement d une trace. Dans ce cas, le téléphone enregistre toujours les points GPS toujours avec une marge d erreur. Ce qui donne une incohérence au niveau de la trace. Cela se traduit par une sorte de gribouillis sur la représentation de la trace. 1. Points incohérents Pour le premier point, il est difficile de trouver une solution. Certains logiciel de représentation de trace sur une carte ou encore les systèmes GPS utilisés dans les voitures repositionnent la plupart du temps la position de l utilisateur sur la route la plus proche. Mais cette solution implique une base de données conséquente. De plus, dans notre cas, l utilisateur ne se trouve pas forcément près d une route (comme lors d une randonnée) et il est difficile de connaître son parcours. La question est difficile, comment savoir si un point possède une erreur où est-ce que c est une position où l utilisateur s est rendu? Nous n avons pas mis en place de solution pour ce type d information. 2. Réduction du nombre de points obtenus L objectif de cette partie est de réduire le nombre de points obtenus tout en conservant une cohérence et une précision correcte sur la trace résultante afin de permettre un affichage rapide et d optimiser le stockage. Pour cela, l algorithme de Douglas-Peucker peut être implémenté. Cet algorithme permet la simplification d une polyligne par la suppression de noeud. L algorithme fonctionne de manière récursive. 23
24 Au premier appel de la fonction, on lui passe le premier point et le dernier point de la polyligne (dans notre cas, la trace correspondante au parcours de l utilisateur). L algorithme détermine le point le plus éloigné du segment formé par ces deux points puis décide : - Si cette distance est inférieure à un seuil que l on a fixé auparavant, l algorithme supprime tous les points compris entre ces deux points. - Si cette distance est supérieure au seuil, on appel de manière récursive l algorithme sur les deux sous parties de la polyligne. C est à dire, la sous partie du premier point au point le plus éloigné et la sous partie du point le plus éloigné au dernier point. La complexité de cet algorithme est nlog(n). Pour que l algorithme soit efficace, il faut fixer une valeur de seuil. Après quelques test, nous avons pensé qu un valeur de 7 mètres est correct. Cela n enlève pas trop de précision tout en réduisant le nombre de points considérablement. Par exemple, sur un parcours d environ 5km, 742 points ont étés enregistrés. Après avoir appliqué l algorithme, nous arrivons à un total de 140 points. 24
25 Avant Après 25
26 3. Gestion de l arrêt de l utilisateur Lorsque l utilisateur s arrête, les points GPS continuent à être enregistrés. Cependant, cela représente ensuite un amas de points rapprochés sur la trace qui ne donne pas d information supplémentaire sur celle-ci. On pourrait penser à première vue que la méthode de suppression des points peut palier à ce problème. Cependant, il est difficile de trouver un seuil pour lequel ces points seraient supprimés tout en conservant une trace globale assez précise. Nous avons décidé d implémenter un algorithme qui s exécute lors de l enregistrement des points GPS sur le mobile. Lorsqu un nouveau point GPS est détecté et avant de l enregistrer, cet algorithme regarde les trois derniers points enregistrés précédemment sur la trace puis les compare avec le dernier point arrivant. Si les trois points précédent sont dans un rayon assez proche du derniers (le rayon est définit avec un seuil), alors le point n est pas enregistré. IV. Système d authentification sécurisé 1. L authentification à l heure actuelle Le projet ayant une grande part communautaire, il est amené à gérer les utilisateurs ainsi que leur profil. Chaque utilisateur, pour pouvoir utiliser l application web ainsi que l application mobile est amené à s identifier en entrant son login ainsi que son mot de passe associé. Comme expliqué précédemment, les données relatives aux utilisateurs sont stockées dans une base de données MySQL, les mots de passe étant stockés sous forme chiffrée, grâce à l algorithme MD5. Ainsi, que ce soit au niveau de l application ou du site web, le mot de passe saisi par l utilisateur est transmis chiffré au serveur. Cela assure que même si une personne malveillante venait à intercepter le paquet contenant le mot de passe chiffré, elle ne pourrait pas retrouver le mot de passe utilisateur de base. Une relative sécurité est garantie par ce procédé mais il est loin d être infaillible. En effet, bien qu il soit quasiment impossible de retrouver le mot de passe directement à partir du mot de passe chiffré, en effectuant une opération de type brute-force on peut tester toutes les possibilités de mot de passe et les comparer à la chaîne chiffrée trouvée, ce procédé est très long mais possible. Nous avons souhaité mettre en place un système d authentification différent permettant d offrir plus de sécurité. 2. Système d authentification Kerberos Le protocole Kerberos est issu du projet «Athena» du MIT, mené par Miller et Neuman. La version 5 du protocole Kerberos a été normalisée par l'ietf dans les RFC 1510 (septembre 1993) et 1964 (juin 1996). 26
27 L'objet de Kerberos est la mise en place de serveurs d'authentification (AS pour Authentication Server), permettant d'identifier des utilisateurs distants, et des serveurs de délivrement de tickets de service (TGS, pour Ticket Granting System), permettant de les autoriser à accéder à des services réseau. Les clients peuvent aussi bien être des utilisateurs que des machines. La plupart du temps, les deux types de services sont regroupés sur un même serveur, appelé Centre de Distribution des Clés (ou KDC, pour Key Distribution Center). (Commentcamarche.net) Ce système permet de s affranchir de la saisie de mot de passe par l utilisateur, et ainsi offrir un maximum de sécurité dans le protocole d authentification, l utilisation de la part du client de mot de passe trop simple étant la faille la plus courante dans un système d'authentification. Explication du fonctionnement : Comme expliqué précédemment, ce système repose sur un échange de clé secrètes et de ticket. L utilisateur qui souhaite contacter un service envoie son identifiant au serveur de clé (KDC) qui lui retourne un ticket initial contenant une clé qui servira à chiffrer ses communications avec le service, ainsi qu un ticket d accès à ce service. Ce ticket initial est chiffré avec la clé secrète de l utilisateur connue de lui seul. Pour l instant, la partie administration du site ne comporte qu une page qui est comprise sur le site lui-même, on peut penser que par la suite, cette partie deviendra une entité à part entière, de même que différents modules pourraient se greffer au projet. L utilisateur, qui utilise plusieurs modules doit être loggé sur chacun des modules, donc saisir à chaque fois son mot 27
28 de passe et son login. Ceci est contraignant pour l utilisateur qui doit sans cesse saisir ces informations, et de plus le risque d oubli de la part de l utilisateur est plus important. 3. Système d authentification CAS Le Central Authentication Service (CAS) est un système d'authentification unique (SSO) pour le web développé par l'université Yale, partenaire majeur dans le développement de uportal. Ce logiciel est implanté dans plusieurs universités et organismes dans le monde. (Wikipedia) Son intérêt est qu une fois authentifié sur un site Web, et on est alors authentifié sur tous les sites Web qui utilisent le même serveur CAS. Il évite de s'authentifier à chaque fois qu'on accède à une application en mettant en place un système de ticket. 4. LemonLDAP::NG Le projet LemonLDAP::NG est un projet de CAS distribué avec gestion centralisée des droits. Il est composé d une suite logicielle libre reposant sur le serveur web Apache. Il a été écrit entièrement en langage Perl par Xavier Guimard, et utilise les mod-perl pour communiquer avec Apache. Ce projet est soutenu par la gendarmerie nationale française et est le logiciel de sso le plus utilisé dans les administrations françaises. Le logiciel est censé être capable de gérer plus de utilisateurs, il est également utilisé dans certaines entreprises privées. Quelques références : - Gendarmerie nationale : plus de utilisateurs, - Université de Limoges : plus de utilisateurs, - Ministère de la justice : plus de utilisateurs... et bien d autres. 28
29 Explication du fonctionnement : 1. Lorsqu un utilisateur souhaite contacter un service web, sa requête est interceptée par le handler 2. Les cookies SSO ne sont pas détectées donc le handler redirige l utilisateur vers le portail d authentification 3. L utilisateur envoie ses informations d authentification au portail 4. Le portail vérifie les informations d authentification 5. Si l authentification est validée, le portail récupère les informations de l utilisateur 6. Le portail créé une session pour sauvegardé les informations de l utilisateur 7. Le portail récupère la clé de session 8. Le portail créé les cookies SSO avec la clé de session associée 9. L utilisateur est redirigé vers l application vers le service web demandé 10. Le handler récupère la session utilisateur depuis le cookie 11. Le handler stocke les données utilisateur dans son cache 12. Le handler vérifie les règles d accès et envoie les headers au service web demandé 13. Le service web répond au handler 14. Le handler répond à l utilisateur. 29
30 Le projet est actuellement en développement, et est bien documenté sur son site officiel lemonldap-ng.org. Nous nous somme donc lancé dans l installation de ce logiciel en local pour les phases de test. L installation s est effectué sur une machine Ubuntu similaire à la version présente sur le serveur. L installation s est effectuée avec quelques soucis liés à des problèmes de package debian au niveau des mod-perl notamment mais a finalement pu être finalisée. Cependant une fois installé et l accès à la page de démonstration effectif, les configurations se sont avérés plus problématiques. Tout d abord Lemonldap::ng fonctionne de base avec le serveur Apache simple, notre site web fonctionnant sous Apache Tomcat, une installation d un plugin supplémentaire était nécessaire. De plus, au niveau du stockage des données utilisateurs, lemonldap::ng fonctionne de base avec une annuaire de type LDAP alors que nos données sont stockées dans une base de données de type MySQL, il est normalement très simple de le changer la configuration du logiciel pour le faire utiliser une base de données mais cela s est avéré plus compliqué que prévu. Le site officiel est très bien documenté en ce qui concerne les premiers pas d installation mais beaucoup moins au niveau de la configuration qui suit. De plus il y a très peu de documents traitant de ce sujet sur Internet. Nos connaissances assez limités en terme d administration système ainsi que de sécurité de base on fait que nous avons préféré mettre cette partie de coté afin de ne pas perdre trop de temps et nous concentrer sur d autre point essentiels du projet. Cette partie de recherche effectuée nous a permis d améliorer nos connaissances au niveau de la sécurité en assimilant les techniques d utilisation de tickets du protocole Kerberos notamment. Nous avons également pu découvrir un outil de SSO libre, gratuit et qui semble très efficace, avec un peu plus de temps nous aurions sûrement réussi à le coupler avec notre site web. 30
31 V. Visite interactive Afin de permettre à l utilisateur une utilisation plus grande de l application, nous avons décidé d implémenter la partie visualisation des voyages et des points d'intérêts sur l application. De cette manière, il n aura pas forcément besoin de se rendre sur le site pour visualiser des parcours réalisés par d autres utilisateurs. De plus, nous avons commencé à penser à une visite interactive qui permettrait à l utilisateur d être averti sur son mobile des points d intérêts présents dans un périmètre autour de sa position. 1. Visualisation de voyages Concernant la visualisation des voyages sur l application, nous avons déterminé le protocole de communication entre l application et le serveur et développé l affichage d une liste de voyage ainsi que l affichage des détails concernant un voyage. Lorsque l utilisateur souhaite voir les voyages des autres, il se rend sur la page Trips et la liste de tous les voyages disponibles s affiche. Puis, il peut cliquer sur un voyage en particulier afin de voir plus d informations. Il voit ainsi les différentes informations à propos du voyage et peut ensuite visualiser le voyage sur la carte où encore voir les points d intérêts associés à ce voyage. La récupération des données du serveur relatives aux voyages s effectue une seule fois, lorsque l utilisateur charge la liste des voyages. Ce qui permet une plus grande fluidité dans la navigation des résultats de la recherche de voyages. 31
32 32
33 Nous n avons pas développé le traitement de la requête côté serveur par manque de temps. Pour l instant, les données récupérées concernant les voyages sont des données écrites dans un fichier JSON que l on récupère sur le serveur. Pour terminer ce module, il faudrait contacter un page sur le serveur qui nous retournerait un fichier JSON du même type en allant chercher les données dans la base de données. 2. Visualisation de points d intérêts La visualisation des points d intérêts se base sur la même interface graphique que les voyages. Cependant, l utilisation est différente. L utilisateur ne pourra visualiser que les points d intérêts dans un rayon donné autour de sa localisation. Par la suite, nous souhaiterions définir des filtres sur les catégories (Restaurants, Hôtel, ) pour que l utilisateur utilise sont application comme une vraie base d informations communautaire. Ce module intitulé What s arround? envoie au serveur une requête de récupération des points d intérêts en précisant la localisation du téléphone. Le serveur va donc rechercher les points d intérêts dans la base de données qui sont proches de sa localisation et lui renvoyer les résultats. 33
34 VI. Interface d administration de points d intérêts Nous avons souhaité ajouté une touche officielle à ce projet. En effet n importe quel utilisateur peut ajouter un point d intérêt ce qui est bon pour la communauté. En revanche cela peut aussi être un mauvais point car un utilisateur malveillant peu très bien ajouter du contenu de mauvaise qualité voir dégradant pour certain site. Nous avons donc ajouté pour chaque point d intérêt une propriété d officialité. Chaque utilisateur peut être administrateur d un point d'intérêt, cela veut dire qu il se déclare propriétaire ou gérant de ce point d'intérêt, il fait une demande qui sera validée par l équipe du site et si elle est approuvée, il devient administrateur et le point est marqué comme officiel. Cela lui confère le droit d ajouter certaines information qui seront visibles sur la partie visualisation de l application. Ces informations supplémentaires sont : Les horaires Les tarifs Un plan Contact Cette partie n a pas pu être implémentée de part un manque de temps sur la fin du projet. Cependant le protocole a été mis en place. Sur le site web, la gestion d un utilisateur administrateur est en place, il a accès a du contenu supplémentaire sur une page d édition d un point d intérêt. Le principe est le suivant : L utilisateur sélectionne les données qu il souhait voir apparaître sur la page de visualisation au niveau de l application, renseigne les champs (horaires et tarifs par exemple) puis enregistre dans la base les données renseignées. Avec Android tout affichage d une activité (partie graphique) est géré par des fichiers xml, le principe était donc de concevoir dynamiquement ces fichiers xml sur le serveur en fonction des désirs et données de l utilisateur. Ces fichiers seraient ensuite liés aux point d intérêts concernés et à chaque requête de la part de l application, le serveur, en plus de transmettre les informations habituelles transmettrait ce fichier xml d interface graphique. Des recherches préalables nous ont montré que le chargement dynamique de ces fichiers xml est réalisable bien que plutôt complexe en apparence. Nous aurions souhaité pouvoir implémenter cette fonctionnalité qui aurait permis d ajouter de la personnalisation au contenu proposé mais la difficulté technique et le manque de temps nous en ont empeché. 34
35 Conclusion Ce projet était un projet ambitieux par la quantité de travail à fournir. Le résultat est plutôt satisfaisant car quasiment toutes les améliorations que nous avions prévues ont étés abordées. Il est maintenant possible d ajouter des photos depuis l application et depuis le site internet. Les recherches concernant l authentification nous ont montrés qu il était possible de mettre en place des systèmes sécurisés de connexion. Le lissage des traces GPS réalisées par l utilisateur depuis sont téléphone en utilisant la géolocalisation s est avéré efficace puisqu il est possible de réduire le nombre de points GPS enregistrés de près de 70% sans pour autant perdre trop de précision. Le module nommé visite interactive a permit d implémenter sur l application l affichage de voyages et de points d intérêts. Et il est donc maintenant possible pour un utilisateur de voir les points d intérêts les plus proches de sa position GPS. Cependant, dans un manque de temps, nous n avons pût que très peut développer la partie d administration de points d intérêts. Ce projet nous à apporté de nouvelles connaissances. Tant en matière de communication distante concernant des données de taille importantes (envoie d image sur le serveur depuis l application) qu en matière de sécurité avec l authentification des utilisateurs via un CAS où encore en algorithmique avec le lissage de la trace GPS. Nous aurions aimé aller plus loin sur l'authentification et réussir à mettre celle ci en place sur notre serveur. Malheureusement, le développement du module d ajout d image depuis l application ayant été plus long que prévu, nous avons préféré continuer et aborder toutes les améliorations. Nous nous sommes rendu compte que sur ce projet, tant sur le site que sur l application, si l on veut rendre un travail propre, cela demandait beaucoup de temps (mise en page). Nous avons pût grâce à ce projet réaliser un réel suivi puisque nous l avions commencé en Master 1. Ce projet a la particularité d avoir un domaine d application très large ce qui permet d avoir des perspectives intéressantes. Beaucoup de choses peuvent êtres réalisées encore. L authentification reste à mettre en place et la partie visite interactive mérite d être développée. En effet, cette partie peut devenir une réel attente d un utilisateur. Pouvoir recherche les points d intérêts près de sa position est un bonne chose mais il serait utile de pouvoir filtrer par catégories. Comme par exemple si l utilisateur souhaite voir les restaurants qu il y a autour de lui. De même, lorsqu il effectue une balade touristique, il serait bien qu il puisse définir sur son téléphone des notifications, qui lui permettront d être averti lorsqu il passe vers un lieu dont la catégorie fait partie de ses recherches. Il serait également important de fournir une interface graphique plus développée que celle présente actuellement. Tout ceci dans un soucis d améliorer l utilisation au quotidien. 35
Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10
Dossier Technique Page 1/10 Sommaire : 1. REPONSE TECHNIQUE A LA DEMANDE 3 1.1. Prise en compte de la dernière version de phpcas 3 1.2. Gestion de la connexion à GRR 3 1.2.1. Récupération des attributs
Créer et partager des fichiers
Créer et partager des fichiers Le rôle Services de fichiers... 246 Les autorisations de fichiers NTFS... 255 Recherche de comptes d utilisateurs et d ordinateurs dans Active Directory... 262 Délégation
Avant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4
Les exemples cités tout au long de cet ouvrage sont téléchargeables à l'adresse suivante : http://www.editions-eni.fr. Saisissez la référence ENI de l'ouvrage EP5EJAV dans la zone de recherche et validez.
Tour d horizon des différents SSO disponibles
Tour d horizon des différents SSO disponibles L. Facq, P. Depouilly, B. Métrot, R. Ferrere ANF Les systèmes d authentification dans la communauté ESR : étude, mise en oeuvre et interfaçage dans un laboratoire
Un exemple d'authentification sécurisée utilisant les outils du Web : CAS. P-F. Bonnefoi
Un exemple d'authentification sécurisée utilisant les outils du Web : CAS 111 L authentification CAS : «Central Authentication Service» CAS ou le service central d authentification Le système CAS, développé
TigerPro CRM Application mobile
TigerPro CRM Application mobile Mise à jour : 8 août 2014 Table des matières INTRODUCTION 3 INSTALLATION 4 STRUCTURE D APPLICATION 5 MENU 5 LA BARRE DES ACTIONS 6 LA BARRE DES MODULES LIES 6 LA VUE INDEX
WebSSO, synchronisation et contrôle des accès via LDAP
31 mars, 1er et 2 avril 2009 WebSSO, synchronisation et contrôle des accès via LDAP Clément Oudot Thomas Chemineau Sommaire général Synchronisation d'identités WebSSO et contrôle des accès Démonstration
Authentification et contrôle d'accès dans les applications web
Authentification et contrôle d'accès dans les applications web Quelques Rappels Objectifs : contrôler que seulement Certains utilisateurs Exécutent certaines opérations Sur certains objets Trois entités
SITE WEB E-COMMERCE ET VENTE A DISTANCE
Développement d une application JAVA EE SITE WEB E-COMMERCE ET VENTE A DISTANCE PLAN PROJET Binôme ou monôme (B/M): M Nom & Prénom : AIT NASSER Btissam Email : [email protected] GSM : Organisme
Ce document décrit une solution de single sign-on (SSO) sécurisée permettant d accéder à Microsoft Exchange avec des tablettes ou smartphones.
PERSPECTIVES Le Single Sign-On mobile vers Microsoft Exchange avec OWA et ActiveSync Ce document décrit une solution de single sign-on (SSO) sécurisée permettant d accéder à Microsoft Exchange avec des
Joomla! Création et administration d'un site web - Version numérique
Avant-propos 1. Objectifs du livre 15 1.1 Orientation 15 1.2 À qui s adresse ce livre? 16 2. Contenu de l ouvrage 17 3. Conclusion 18 Introduction 1. Un peu d histoire pour commencer... 19 1.1 Du web statique
GLPI (Gestion Libre. 2 ième édition. Nouvelle édition. de Parc Informatique)
GLPI (Gestion Libre de Parc Informatique) Installation et configuration d une solution de gestion de parc et de helpdesk 2 ième édition Marc PICQUENOT Patrice THÉBAULT Nouvelle édition Table des matières
Single Sign On. Nicolas Dewaele. Single Sign On. Page 1. et Web SSO
Page 1 Introduction Sommaire I- Présentation de la technologie II- Architectures classiques et étude du marché III- Implémentation en entreprise IV- Présentation de systèmes SSO Annexes Page 2 Introduction
Programmation Web. Madalina Croitoru IUT Montpellier
Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance
Single Sign-On open source avec CAS (Central Authentication Service) Vincent Mathieu Pascal Aubry Julien Marchal
Single Sign-On open source avec CAS (Central Authentication Service) Vincent Mathieu Pascal Aubry Julien Marchal SSO open source avec CAS Introduction Pourquoi le Single Sign-On? Principes du SSO sur le
Documentation Honolulu 14 (1) - 0209
Documentation Honolulu 14 (1) - 0209 Honolulu 14 3 Sommaire Honolulu 14 le portail Intranet / Internet de votre entreprise PARTIE 1 -MANUEL UTILISATEUR 1. LE PORTAIL HONOLULU : PAGE D ACCUEIL 8 1.1 Comment
FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères
FORMATION PcVue Mise en œuvre de WEBVUE Journées de formation au logiciel de supervision PcVue 8.1 Lieu : Lycée Pablo Neruda Saint Martin d hères Centre ressource Génie Electrique Intervenant : Enseignant
MANUEL UTILISATEUR. Application 4trip
* MANUEL UTILISATEUR Application 4trip Table des matières 1. Introduction... 1 1.1. Description globale du produit... 1 1.2. Description de la finalité du manuel... 1 2. Manuel d utilisation... 2 2.1.
Authentification avec CAS sous PRONOTE.net 2011. Version du lundi 19 septembre 2011
1 Authentification avec CAS sous PRONOTE.net 2011 Version du lundi 19 septembre 2011 2 1 - Vocabulaire employé et documentation... 3 1.1 - SSO (Single Sign-On)... 3 1.2 - CAS (Central Authentication Service)...
LemonLDAP::NG / SAML2. Xavier GUIMARD (Gendarmerie Nationale) Clément OUDOT (Groupe LINAGORA) WWW.LINAGORA.COM
LemonLDAP::NG / SAML2 Xavier GUIMARD (Gendarmerie Nationale) Clément OUDOT (Groupe LINAGORA) WWW.LINAGORA.COM 16, 17 et 18 MARS 2010 SOMMAIRE Définition du WebSSO Présentation de LemonLDAP::NG SAML2 et
Description de la maquette fonctionnelle. Nombre de pages :
Description de la maquette fonctionnelle Nombre de pages : 22/07/2008 STATUT DU DOCUMENT Statut Date Intervenant(s) / Fonction Provisoire 22/07/2008 Approuvé Validé HISTORIQUE DES MODIFICATIONSICATIONS
L'AAA, késako? Bruno Bonfils, <asyd@solaris fr.org>, Novembre 2005. Sous ce terme d'apparence barbare est regroupé l'ensemble des concepts suivants :
Introduction L'AAA, késako? Bruno Bonfils, , Novembre 2005 Sous ce terme d'apparence barbare est regroupé l'ensemble des concepts suivants : Authentication (authentification) Authorization
Guide d utilisation. Version 1.1
Guide d utilisation Version 1.1 Guide d utilisation Version 1.1 OBJECTIF LUNE Inc. 2030 boulevard Pie-IX, bureau 500 Montréal (QC) Canada H1V 2C8 +1 514-875-5863 [email protected] http://captureonthego.objectiflune.com
Application des Spécifications détaillées pour la Retraite, architecture portail à portail
Pour Application des Spécifications détaillées pour la Retraite, architecture portail à portail Version 1.0 ON-X S.A. est une société du Groupe ON-X 15, quai Dion Bouton 92816 PUTEAUX cedex. Tél : 01 40
Compte Rendu d intégration d application
ISMA 3EME ANNEE Compte Rendu d intégration d application Compte Rendu Final Maxime ESCOURBIAC Jean-Christophe SEPTIER 19/12/2011 Table des matières Table des matières... 1 Introduction... 3 1. Le SGBD:...
CONTACT EXPRESS 2011 ASPIRATEUR D EMAILS
CONTACT EXPRESS 2011 ASPIRATEUR D EMAILS MANUEL D UTILISATION Logiciel édité par la société I. PREAMBULE a) Avant propos... 3 b) Support... 3 c) Interface d accueil... 4 à 5 d) Interface de Recherche...
L accès à distance du serveur
Chapitre 11 L accès à distance du serveur Accéder à votre serveur et aux ordinateurs de votre réseau depuis Internet, permettre à vos amis ou à votre famille de regarder vos dernières photos, écouter vos
Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement
Guillaume HARRY l Contenu sous licence Creative Commons CC-BY-NC-ND Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement P. 2 1. Introduction 2.
Application de lecture de carte SESAM-Vitale Jeebop
Application de lecture de carte SESAM-Vitale Jeebop Présentation Le module de lecture de carte SESAM-Vitale Jeebop est une application Java Web Start, c'est à dire une application Java qui se télécharge
Hébergement de sites Web
Hébergement de Solutions complètes et évolutives pour l hébergement de sites Web dynamiques et de services Web sécurisés. Fonctionnalités Serveur Web Apache hautes performances Apache 1. et.0 1 avec prise
A DESTINATION DES SERVICES TIERS. Editeurs d applications et ressources pédagogiques connectées à l ENT
DOCUMENTATION CAS A DESTINATION DES SERVICES TIERS Titre descriptif du document Référence du document REFO-DT-ENTV2-ServeurCAS-v1.2.docx Nom du fichier REFO-DT-ENTV2-ServeurCAS-v1.2.docx Version du document
Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :
CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE Projet 2 Gestion des services enseignants G r o u p e : B E L G H I T Y a s m i n e S A N C H E Z - D U B R O N T Y u r i f e r M O N T A Z E R S i
Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed
6, bd maréchal Juin F-14050 Caen cedex 4 Spécialité Informatique 2 e année Rapport de projet Gestion du parc informatique matériel et logiciel de l Ensicaen SAKHI Taoufik SIFAOUI Mohammed Suivi ENSICAEN
Introduction. aux architectures web. de Single Sign-On
Introduction aux architectures web de Single Sign-On Single Sign-on Authentifier 1 seule fois un utilisateur pour accéder à un ensemble d applications contexte web Nombre croissant d applications ayant
inviu routes Installation et création d'un ENAiKOON ID
inviu routes Installation et création d'un ENAiKOON ID Table des matières inviu routes...1 1 L installation...1 2 Lancer l application...1 3 L assistant d installation d inviu routes...2 3.1 Se connecter
WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES
WEB & DÉVELOPPEMENT LES BASES DU WEB HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES LE LANGAGE HTML STRUCTURE D UNE PAGE En-tête et corps Syntaxe INSÉRER DES CONTENUS Texte : formatage (titre,
Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <[email protected]> Centrale Réseaux
Formation Webase 5 Ses secrets, de l architecture MVC à l application Web Adrien Grand Centrale Réseaux Sommaire 1 Obtenir des informations sur Webase 5 2 Composants de Webase 5 Un
Service d'authentification LDAP et SSO avec CAS
Service d'authentification LDAP et SSO avec CAS Clé de l'extension : ig_ldap_sso_auth 2006-2007, Michaël Gagnon, Ce document est publié sous la licence open source, disponible au
Atelier Le gestionnaire de fichier
Chapitre 12 Atelier Le gestionnaire de fichier I Présentation Nautilus est un gestionnaire de fichiers pour l environnement de bureau Gnome. Il offre toutes les fonctions de gestion de fichier en local
Banque de données d offres & carte web interactive d offres
Réseau des parcs suisses Monbijoustrasse 61, 3007 Bern Tel. +41 31 381 10 71; [email protected]; www.paerke.ch Banque de données d offres: [email protected] Carte web interactive: [email protected] Feuille
Sage CRM. 7.2 Guide de Portail Client
Sage CRM 7.2 Guide de Portail Client Copyright 2013 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur microfilm,
Single Sign-On open source avec CAS (Central Authentication Service)
JOSY «Authentification Centralisée» Paris, 6 mai 2010 Single Sign-On open source avec CAS (Central Authentication Service) Julien Marchal Consortium ESUP-Portail SSO open source avec CAS Introduction Pourquoi
Qu est ce que Visual Guard. Authentification Vérifier l identité d un utilisateur
Qu est ce que Visual Guard Authentification Vérifier l identité d un utilisateur Autorisation Qu est-ce qu un utilisateur peut faire dans l application Audits et rapports Fonctionnalités d Audit et de
Formation. Module WEB 4.1. Support de cours
Formation Module WEB 4.1 Support de cours Rédacteur Date de rédaction F.CHEA 08/02/2012 Les informations contenues dans ce document pourront faire l'objet de modifications sans préavis Sauf mention contraire,
Edutab. gestion centralisée de tablettes Android
Edutab gestion centralisée de tablettes Android Résumé Ce document présente le logiciel Edutab : utilisation en mode enseignant (applications, documents) utilisation en mode administrateur (configuration,
Qu'est ce qu'une Fédération d'identités? Définitions Fonctionnement de base Fonctionnement détaillé Les principaux composants
Qu'est ce qu'une Fédération d'identités? Définitions Fonctionnement de base Fonctionnement détaillé Les principaux composants Fédération Définit un cercle de confiance constitué de Fournisseurs d'identités
Protection des protocoles www.ofppt.info
ROYAUME DU MAROC Office de la Formation Professionnelle et de la Promotion du Travail Protection des protocoles DIRECTION RECHERCHE ET INGENIERIE DE FORMATION SECTEUR NTIC Sommaire 1. Introduction... 2
Formation en Logiciels Libres. Fiche d inscription
République Tunisienne Ministère de l'industrie et la Technologie - Secrétariat d'état de la Technologie Unité des Logiciels Libres Formation en Logiciels Libres Fiche d inscription (Une fiche par candidat)
Exploration des technologies web pour créer une interaction entre Mahara et les plateformes professionnelles et sociales
Exploration des technologies web pour créer une interaction entre Mahara et les plateformes professionnelles et sociales D 1.3.2 Rapport d analyse Auteurs: Johann Luethi, Laurent Opprecht, Patrick Roth
Le stockage local de données en HTML5
Le stockage local HTML5, pourquoi faire? Dans une optique de réduction des couts de maintenance, de déploiement, beaucoup d'entreprises ont fait le choix de migrer leurs applicatifs (comptables, commerciales,
Livre Blanc WebSphere Transcoding Publisher
Livre Blanc WebSphere Transcoding Publisher Introduction WebSphere Transcoding Publisher vous permet d'offrir aux utilisateurs des informations Web adaptées à leurs besoins. Il vous permet, par exemple,
Administration du site
Administration du site 1 TABLE DES MATIÈRES Administration du site... 1 Accéder à la console d administration... 3 Console d administration... 4 Apparence... 4 Paramètres... 5 Allez sur le site... 5 Edition
Serveur de travail collaboratif Michaël Hoste -
Serveur de travail collaboratif Michaël Hoste - Table des matières 1. Qu'est ce qu'un serveur de travail collaboratif?...2 2. Pourquoi ce projet?...2 3. Possibilités d'utilisation dans le cadre de l'université...3
Formation : WEbMaster
Formation : WEbMaster Objectif et Description : Centre Eclipse vous propose une formation complète WebMaster, vous permettant de : Utiliser dès maintenant les nouveautés du web2, ainsi alléger les besoins
Présentation du relais HTTP Open Source Vulture. Arnaud Desmons <[email protected]> Jérémie Jourdin <[email protected]>
Arnaud Desmons Jérémie Jourdin Présentation Motivations Historique Démonstration Présentation fonctionnelle Présentation technique L'interface d'administration Roadmap
MESSAGERIE BUREAU AGENDA VIRTUEL. Votre nouvelle messagerie COLLABORATIVE GUIDE PRATIQUE. Membre de
Membre de MESSAGERIE COLLABORATIVE AGENDA VIRTUEL GUIDE PRATIQUE BUREAU Votre nouvelle messagerie Suivez le guide... SOMMAIRE C est quoi? 03 Présentation de l interface 04 Confidentialité et droits accès
les techniques d'extraction, les formulaires et intégration dans un site WEB
les techniques d'extraction, les formulaires et intégration dans un site WEB Edyta Bellouni MSHS-T, UMS838 Plan L extraction des données pour un site en ligne Architecture et techniques Les différents
ESPACE COLLABORATIF SHAREPOINT
Conseil de l Europe Service des Technologies de l Information ESPACE COLLABORATIF SHAREPOINT DOSSIER D UTILISATEUR 1/33 Sommaire 1. Présentation de SharePoint... 3 1.1. Connexion... 4 2. Les listes...
Android 4 Les fondamentaux du développement d'applications Java
La plateforme Android 1. Présentation 13 2. Historique 14 3. Google Play 15 3.1 Création d'un compte développeur 16 3.2 Publication d'une application 16 3.3 Suivi et mise à jour d'une application 18 Environnement
1. Installation du Module
1 sur 10 Mise en place du Module Magento V 1.5.7 1. Installation du Module Vous pouvez installer le module de deux façons différentes, en passant par Magento Connect, ou directement via les fichiers de
Architecture et infrastructure Web
Architecture et infrastructure Web par Patrice Caron http://www.patricecaron.com [email protected] Ordre du jour Entreprises / Gouvernements Introduction: Architecture orientée services? Quelques
Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage
Technologies du Web Créer et héberger un site Web Page 1 / 26 Plan Planification Choisir une solution d hébergement Administration Développement du site Page 2 / 26 Cahier des charges Objectifs du site
24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.
Plan du cours 2 Introduction générale : fondamentaux : les fondamentaux Michel Buffa ([email protected]), UNSA 2002, modifié par Richard Grin (version 1.1, 21/11/11), avec emprunts aux supports de Maxime
Devenez un véritable développeur web en 3 mois!
Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web
Bases de données et interfaces Génie logiciel
Bases de données et interfaces Génie logiciel Merlet benjamin Merlet-Billon Maryvonne Hueber Yann Jamin Guillaume Giraud Sandra Département Génie Biologique Professeurs responsables : Option BIMB Promotion
Création, analyse de questionnaires et d'entretiens pour Windows 2008, 7, 8 et MacOs 10
modalisa Création, analyse de questionnaires et d'entretiens pour Windows 2008, 7, 8 et MacOs 10 8 Fonctionnalités de mise en ligne de questionnaires Vous trouverez dans cet opuscule les informations nécessaires
Objet du document. Version document : 1.00
Version document : 1.00 Objet du document Les dix points de cet article constituent les règles à connaitre pour intégrer une application au sein d AppliDis. Le site des Experts Systancia comporte également
Manuel du composant CKForms Version 1.3.2
Manuel du composant CKForms Version 1.3.2 Ce manuel vous présente les principales fonctionnalités du composant CKForms y compris le module et le plug-in CKForms 1.3 est la nouvelle version du composant
Maarch V1.4 http://www.maarch.org
COLD (factures clients) Maarch Professional Services Maarch PS anime le développement d un produit d archivage open source : http://www.maarch.org Guide de visite COLD (factures clients) VERSION DATE ACTEUR
Alfresco et TYPO3 Présenté par Yannick Pavard dans le cadre des rencontres WebEducation Février 2008
Alfresco et TYPO3 Présenté par Yannick Pavard dans le cadre des rencontres WebEducation Février 2008 Objectifs À la fin de cette présentation, vous serez en mesure : de citer des ministères ayant fait
Présentation de la solution Open Source «Vulture» Version 2.0
Présentation de la solution Open Source «Vulture» Version 2.0 Advens IST Day 15 septembre 2011 http://www.vultureproject.org 1 s/apache/mod_perl/ LE PROJET VULTURE Advens IST Day 15 septembre 2011 http://www.vultureproject.org
DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova
DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova I. Introduction Dans une période où la plasticité peut aider à réduire les coûts de développement de projets comme des applications mobile,
Espace de travail collaboratif
Espace de travail collaboratif 1/10 Table des matières Présentation...3 Les modules...4 LiveCounter, Messenger et Moteur de recherche...5 Utilisateur, Administrateur et Invité...5 Droits d'accès au contenu...6
arcopole Studio Annexe 4 Intégration LDAP et processus d authentification Site du programme arcopole : www.arcopole.fr
arcopole Studio Annexe 4 Intégration LDAP et processus d authentification Site du programme arcopole : www.arcopole.fr Auteur du document : ESRI France Version de la documentation : 1.2.0.0 Date de dernière
CAHIER DES CHARGES SITE WEB : Steve Mind Magicien Close-up & Mentaliste - 1 -
CAHIER DES CHARGES SITE WEB : Steve Mind Magicien Close-up & Mentaliste - 1 - SOMMAIRE - 2 - Sommaire Présentation du projet Contexte Description du projet web Les Enjeux du projet web Analyse Concurrentiel
Comment utiliser mon compte alumni?
Ce document dispose d une version PDF sur le site public du CI Comment utiliser mon compte alumni? Elena Fascilla, le 23/06/2010 Sommaire 1. Introduction... 2 2. Avant de commencer... 2 2.1 Connexion...
Gestion d'un parc informatique avec OCS INVENTORY et GLPI
GSB Gestion d'un parc informatique avec OCS INVENTORY et GLPI Inventaire d'un parc informatique Suite à la multiplication des matériels et des logiciels dans les locaux de GSB, le service Gestion exprime
Service WEB, BDD MySQL, PHP et réplication Heartbeat. Conditions requises : Dans ce TP, il est nécessaire d'avoir une machine Debian sous ProxMox
Version utilisée pour la Debian : 7.7 Conditions requises : Dans ce TP, il est nécessaire d'avoir une machine Debian sous ProxMox Caractéristiques de bases : Un service web (ou service de la toile) est
GPI Gestion pédagogique intégrée
Société GRICS GPI Gestion pédagogique intégrée Guide d installation Fonctionnalités Internet GPI 2012 Version mise à jour le 29 janvier 2014 Société GRICS Page 1 de 23 Table des matières PRESENTATION DES
Création d'un site dynamique en PHP avec Dreamweaver et MySQL
Création d'un site dynamique en PHP avec Dreamweaver et MySQL 1. Création et configuration du site 1.1. Configuration de Dreamweaver Avant de commencer, il est nécessaire de connaître l'emplacement du
Optimiser pour les appareils mobiles
chapitre 6 Optimiser pour les appareils mobiles 6.1 Créer un site adapté aux terminaux mobiles avec jquery Mobile... 217 6.2 Transformer son site mobile en application native grâce à PhoneGap:Build...
CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN E-MAILING
CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN E-MAILING Durée : 3J / 21H Formateur : Consultant expert en PAO et Web-marketing. Groupe de : 4 max Formation au web marketing Objectifs : Mettre en oeuvre des
Introduction à. Oracle Application Express
Introduction à Oracle Application Express Sommaire Qu est-ce que Oracle Application Express (APEX)? Vue d ensemble des fonctionnalités et des différents composants d Oracle APEX Démonstration de création
Manuel d utilisation de la plate-forme de gestion de parc UCOPIA. La mobilité à la hauteur des exigences professionnelles
Manuel d utilisation de la plate-forme de gestion de parc UCOPIA La mobilité à la hauteur des exigences professionnelles 2 Manuel d utilisation de la plate-forme de gestion de parc UCOPIA 1 Table des matières
Plateforme PAYZEN. Intégration du module de paiement pour la plateforme Magento version 1.3.x.x. Paiement en plusieurs fois. Version 1.
Plateforme PAYZEN Intégration du module de paiement pour la plateforme Magento version 1.3.x.x Paiement en plusieurs fois Version 1.4a Guide d intégration du module de paiement Multiple Magento 1/24 SUIVI,
Mettre en place un accès sécurisé à travers Internet
Mettre en place un accès sécurisé à travers Internet Dans cette partie vous verrez comment configurer votre serveur en tant que serveur d accès distant. Dans un premier temps, les méthodes pour configurer
JOnAS Day 5.1. Outils de développements
JOnAS Day 5.1 Outils de développements Agenda Introduction Plugin Eclipse (JOPE) Plugin NetBeans (JOnbAS) Cargo 2 Bull, 2009 JOnAS Day 5.1 Objectifs - Réduire les temps de développement - Construction
Petite définition : Présentation :
Petite définition : Le Web 2.0 est une technologie qui permet la création de réseaux sociaux, de communautés, via divers produits (des sites communautaires, des blogs, des forums, des wiki ), qui vise
Application web de gestion de comptes en banques
Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion
TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.
ASTRIUM - Toulouse JEE Formation 2013 TP JEE Développement Web en Java Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web. Figure 1 Architecture
Rapport de stage. Création d un site web. Stage du 20/01/2013 au 21/02/2013
Rapport de stage Création d un site web Stage du 20/01/2013 au 21/02/2013 Auteur : Antoine Luczak Tuteur professionnel : M. Tison Tuteur scolaire : Mme Girondon Année scolaire : 2013/2014 1 Table des matières
SIO-65291 Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault
SIO-65291 Page 1 de 5 1- Objectifs généraux Applications Web dynamiques Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault acquérir les principes et concepts fondamentaux dans le domaine d'applications
Dans nos locaux au 98 Route de Sauve 30900 NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur
FORMATION FORFAIT WEB DEVELOPPEUR Qualification ISQ OPQF Formacode 46 125 Certification de titre professionnel Web Designer + modules optionnels : Développement PHP/MySQL avancé, Web App, CMS e-boutique
Guide de l utilisateur du Centre de gestion des licences en volume LICENCES EN VOLUME MICROSOFT
Guide de l utilisateur du Centre de gestion des licences en volume LICENCES EN VOLUME MICROSOFT Table des matières Présentation du Centre de gestion des licences en volume (VLSC)... 3 Inscription auprès
Keyyo Guide de mise en service CTI / API / TAPI Keyyo
Keyyo Guide de mise en service CTI / API / TAPI Keyyo Keyyo Opération & Support http://www.keyyo.fr/fr/support/expert.php Version 1.0.7 Sommaire 1 Portée du document... 3 2 Introduction à la configuration...
Gestion collaborative de documents
Gestion collaborative de documents ANT box, le logiciel qui simplifie votre GED Les organisations (entreprises, collectivités, associations...) génèrent chaque jour des millions de documents, e-mails,
