Programmation Android TP7 - WebServices
|
|
- Gaston Landry
- il y a 6 ans
- Total affichages :
Transcription
1 1. WebService Dans le TP6, les avis étaient stockés dans une base SQL. Cette semaine les n-uplets sont stockés sur une base de données externe gérée par un serveur HTTP sur lequel tournent des scripts PHP et un moteur PostgreSQL : c est ce qu on appelle un Web Service. L application Android va utiliser des requêtes GET et POST pour y accéder. Le serveur répondra par des données encodées en JSON. Normalement, un WebService utilise d autres types de requêtes, PUT et DELETE pour manipuler les données, mais ce serait trop complexe pour ce TP. Ici, tout ce qui est consultation sera fait par des GET et tout ce qui est modification par des POST. Copiez le projet AvosAvisSQL, renommez-le en AvosAvisWeb. Le principe va être de remplacer la classe SQLiteDatabase par une classe appelée RemoteDatabase qui permet d accéder aux scripts PHP et décoder leurs réponses Scripts PHP sur le serveur Dans la première version de ce TP, les étudiants devaient créer eux-mêmes les scripts PHP dans leur dossier Web W: mais cela prenait beaucoup trop de temps avant de bien marcher. Donc, maintenant, les scripts vous sont fournis opérationnels sur un serveur de l IUT. Il y a également des formulaires HTML permettant d interroger et modifier la base de données. Tous les étudiants vont partager cette même base de données au même moment, c est ce qui en fait l intérêt. Son URL de base est : < À noter que toutes les modifications que vous faites sur la base de données sont enregistrées avec votre adresse IP et votre login ENT. Retenez vous d écrire n importe quoi, même si c est trop marrant. Vous serez pénalisé si on trouve des textes inappropriés, même effacés ultérieurement. Le serveur possède plusieurs scripts PHP permettant de gérer les avis. Certains de ces scripts doivent être appelés avec une requête GET (consultation des données) et d autres avec un POST (modification). La page d index permet de faire quelques manipulations à l aide de formulaires Requêtes de type GET get_all_avis.php Ce script sans paramètre retourne la liste JSON de tous les avis de la base. Par exemple, si on ouvre l URL on obtient (imaginez qu il y a ces données) : [[1,"test1","2.5","marcel", ],[2,"test2","4","jean", ]] C est la représentation JSON de deux n-uplets (_id,libelle,note,auteur,timestamp). Cette liste devra être décodée et transformée en curseur par l application Android. Notez que les dates sont sous forme d un timestamp (type long en Java). 1
2 get_avis.php Ce script retourne seulement l un des avis. L identifiant doit être fourni dans le paramètre _id du get. Par exemple, l URL affiche : [2,"test2","4","jean", ] Essayez différents identifiants dont des mauvais et des absents. Il faudra prévoir ces possibilités dans votre application Android pour ne pas planter Requêtes de type POST Ces requêtes permettent de modifier les données de la base. Des paramètres précis sont à placer dans le corps de la requête POST voir plus loin comment on construit une requête POST en Android. S il manque un paramètre ou qu il est mal nommé, le script ne fera rien insert_avis.php Ce script ajoute un nouvel n-uplet dans la base. Il s attend à recevoir différents paramètres fournis par la requête : libelle : le libellé de l avis à ajouter dans la table, note : sa note, c est un réel, auteur : le nom de l auteur de l avis, date : la date de validation de l avis, sous forme d un nombre de millisecondes depuis update_avis.php Ce script modifie le n-uplet désigné par l identifiant : _id : identifiant du n-uplet à modifier, libelle : le nouveau libellé de l avis, note : sa nouvelle note, auteur : le nom de l auteur de l avis, date : la nouvelle date de validation de l avis, toujours sous forme d un nombre de millisecondes depuis delete_avis.php Ce script supprime le n-uplet désigné par l identifiant fourni en paramètre : _id : identifiant du n-uplet à supprimer Application Android On revient côté client Android. Le but est de remplacer la base de données SQLiteDatabase par la classe RemoteDatabase qui permet de faire des requêtes POST et GET sur des scripts PHP et de décoder leurs réponses. Pour commencer, rajoutez l autorisation d accéder à internet dans le fichier manifeste. Si vous l oubliez, vous aurez l erreur Connection refused. NB: pour tous les essais avec une vraie tablette, il faudra vous connecter au réseau Wifi eduspot à l aide de vos identifiants ENT. 2
3 Ouverture de la base de données Dans MainActivity et EditActivity, remplacez SQLiteDatabase par RemoteDatabase partout, ce qui va causer des erreurs tant que tout n est pas modifié. Ensuite, il faut supprimer le helper des deux activités. On n en a plus du tout besoin. Ça va également générer des erreurs, mais vous supprimerez toutes les références au helper. Enfin, il est inutile de fermer la base dans ondestroy car elle ne mémorise aucun état. À la place, voici les instructions qui permettent d «ouvrir» la base distante. Il suffit de donner l URL du serveur, et c est à faire dans les deux activités, MainActivity et EditActivity : // fournir la base d'url pour arriver sur les scripts PHP bdd = new RemoteDatabase(" Si vous regardez le source de ce constructeur, vous verrez qu il ne fait que mémoriser cette chaîne. Elle permet ultérieurement de construire les URLs des scripts PHP Interrogation de la base distante C est dans la classe EditActivity qu il y a le changement le plus important. Le problème essentiel, c est que les requêtes HTTP doivent être faites de manière asynchrone : on ne peut pas afficher les informations dans les vues tout de suite parce qu on ne les a pas sous la main. On doit les demander au serveur, et c est seulement quand il répondra qu on pourra afficher quelque chose. Cependant, il ne faut pas rester à attendre dans le thread principal. On doit donc faire appel à un mécanisme d écouteur et de tâches asynchrones dans la classe RemoteDatabase. Ses méthodes get et post envoient une requête au serveur, ça va prendre un certain temps, mais on sort tout de suite (résultat void). C est seulement lorsque le serveur retourne les résultats qu un écouteur onexecsqlfinished est déclenché. Son paramètre contient les données JSON venant du serveur. Voici par exemple comment il faut transformer la méthode display. Elle fait appel à la méthode TableAvis.getAvis à laquelle on rajoute un paramètre : un écouteur qui réagit quand les données sont reçues du serveur. Cet écouteur est le 3 e paramètre de la méthode, après la bdd et l identifiant. Auparavant, avec SQL en local, on avait quelque chose comme ça : public void display() // rien à afficher si l'item est en création if (identifiant < 0) return; // récupérer l'avis Avis avis = TableAvis.getAvis(bdd, identifiant); // afficher ses attributs dans les vues etlibelle.settext(avis.getlibelle());... setdatetotextview(tvdate, avis.getdate()); 3
4 Maintenant, avec le WebService, on a : public void display() // rien à afficher si l'item est en création if (identifiant < 0) return; // lancer la récupération de l'item désigné par l'identifiant TableAvis.getAvis( // base de données bdd, // identifiant du n-uplet à récupérer identifiant, // écouteur new public void onexecsqlfinished(string jsondata) // construire un avis avec les données JSON Avis avis = TableAvis.fromJSON(jsondata); if (avis == null) return; ); // afficher ses attributs dans les vues etlibelle.settext(avis.getlibelle());... setdatetotextview(tvdate, avis.getdate()); C est à dire que la partie «affichage des attributs du n-uplet» est déplacée dans l écouteur fourni à la méthode getavis. Ce code fait appel à la méthode getavis(bdd, identifiant, listener) dans la classe TableAvis. Dans le TP6, il n y avait pas d écouteur et l avis était retourné immédiatement. Maintenant, son travail consiste à lancer une requête HTTP Get vers un script PHP qui retournera ultérieurement le n-uplet encodé en JSON à l écouteur. Voici son source : public static void getavis( RemoteDatabase bdd, long id, RemoteDatabase.RemoteDatabaseListener listener) // paramètres de la requête ContentValues params = new ContentValues(); params.put(id, id); // faire une requête pour récupérer l'avis identifié par id // elle préviendra l'écouteur quand elle sera finie 4
5 bdd.get("get_avis.php", params, listener); Comme dans le TP6, elle construit un ContentValue pour contenir l identifiant. Ensuite, au lieu de créer un curseur sur une requête SQL, elle appelle la méthode get de la base de données, en fournissant le nom du script PHP avec ses paramètres et un écouteur. Cette dernière est asynchrone : elle démarre la requête mais n attend pas les résultats ; le listener sera appelé quand ils seront disponibles. Le résultat est donc void. L écouteur déclenche la méthode onexecsqlfinished(string jsondata) qui affiche les données Modification dans la base distante Il y aura le même type de transformation dans valider et dans onsupprimer. Mais voici d abord le principe avec la requête d insertion d un nouvel avis dans la classe TableAvis : public static void insertavis( RemoteDatabase bdd, Avis avis, RemoteDatabase.RemoteDatabaseListener listener) // paramètres de la requête ContentValues couples = new ContentValues(); couples.put(libelle, avis.getlibelle());... // requête Post asynchrone, l'écouteur sera prévenu bdd.post("insert_avis.php", couples, listener); Le début est celui que vous avez programmé la semaine dernière avec la base SQLiteDatabase. C est seulement la requête POST qui fait une différence. Vous aurez l écouteur à compléter. Regardez à la fin de la classe EditActivity. Son rôle doit être de quitter l activité avec succès. Remarquez que la méthode insertavis ne peut plus retourner l identifiant du nouvel avis. Ça pourrait poser un problème si on devait s en servir en tant que clé étrangère dans une autre table Requête HTTP asynchrone Regardons maintenant comment fonctionne les méthodes get et post de la classe RemoteDatabase. Elle sont basées sur la classe HttpURLConnection. Le principe est de créer une connexion, la configurer, la lancer et retourner la réponse du serveur. La méthode get synchrone vous est fournie, mais à vous de programmer sa variante asynchrone, ainsi que la méthode post asynchrone. La variante asynchrone reçoit un paramètre supplémentaire. C est un écouteur qui doit implémenter la méthode onexecsqlfinished. L idée est de réveiller cet écouteur quand le serveur a répondu à la requête. Il faut savoir que cet écouteur peut être null ; c est quand on veut faire une action asynchrone mais sans se soucier de la réponse du serveur. Regardez d abord la classe HttpGetTask. Son constructeur reçoit un écouteur en 3e paramètre et l enregistre dans une variable membre. Il y a aussi le nom du script et les paramètres. Ensuite, 5
6 regardez la méthode onpostexecute. Elle reçoit une chaîne en paramètre et la fournit à l écouteur. Regardez ce que fait l écouteur dans le cas de la méthode getallavis. Elle construit un curseur en mémoire pour contenir la réponse du serveur. Vous avez maintenant la méthode doinbackground à compléter. Elle doit : 1. Définir l URL de la requête, incluant les paramètres correctement encodés, 2. Ouvrir une connexion HTTP, 3. Configurer timeouts et methode, 4. Lire la réponse du serveur, 5. Déconnecter la connexion (c est fait dans le finally). Pour savoir comment faire, allez voir le source de la méthode get synchrone. Ensuite, c est similaire pour la méthode post asynchrone utilisant la classe HttpPostTask, mais cette fois, il faut fournir des données. Relisez le cours, c est dedans. Vérifiez que vous avez programmé toutes les lignes commentées avec TODO Rafraîchissement régulier des données Comme la base de données est partagée entre plusieurs utilisateurs, chacun pouvant rajouter/modifier/supprimer des éléments, il faut trouver un moyen de mettre à jour la liste sur votre tablette si elle change sur le serveur. On pourrait imaginer un dispositif, type «push», où le serveur prévient toutes les tablettes en cas de changement dans la base, mais il semble difficile de le réaliser. Il faudrait qu une tablette s abonne, comme à une liste de diffusion, pour être informée des changements, mais aussi résilie son abonnement quand on quitte l application. D autre part à plus bas niveau, il faudrait que les tablettes acceptent des connexions entrantes. L autre solution, type «pull» consiste à rafraîchir régulièrement la liste. Ça peut faire perdre du temps au serveur s il y a beaucoup de tablettes actives et des demandes fréquentes. L autre inconvénient, c est que la liste n est pas à jour entre deux rafraîchissements, s ils ne sont pas assez fréquents. Enfin, il faudrait qu il y ait la notion de transaction, afin de garantir la bonne réalisation d une séquence d actions telles que la lecture et la modification d une information pour qu un autre utilisateur ne supprime pas l information que vous êtes en train de modifier. Pour mettre à jour la liste régulièrement, il faut seulement créer une tâche lancée périodiquement qui demande à la liste de recontacter le serveur. Voici les étapes à mettre en place dans oncreate de MainActivity : 1. Créer un Handler, 2. Créer un Runnable, a. Son travail consiste à rafraîchir la liste, c est à dire redémarrer le chargeur de curseur, b. Il se relance 30 secondes plus tard (délai raisonnable), 3. Activer ce Handler. Voir le cours pour le détail du code. 6
7 Suite du travail Votre travail consiste à finir la transformation de l application et surtout à bien comprendre comment l ensemble fonctionne. 2. Travail à rendre Avec le navigateur de fichiers, descendez dans le dossier app/src du projet AvosAvis du TP7. Rajoutez un fichier appelé exactement IMPORTANT.txt dans le sous-dossier main si vous avez rencontré des problèmes techniques durant le TP : plantages, erreurs inexplicables, perte du travail, etc. mais pas les problèmes dus à un manque de travail ou de compréhension. Décrivez exactement ce qui s est passé. Le correcteur pourra lire ce fichier au moment de la notation et compenser votre note. Cliquez droit sur le dossier main, choisissez Compresser..., format tar.gz, cliquez sur Creer. Déposez l archive main.tar.gz sur Moodle au bon endroit. 7
1. Base de données SQLite
Dans ce TP, nous allons voir comment créer et utiliser une base de données SQL locale pour stocker les informations. La semaine prochaine, ça sera avec un WebService. On repart de l application AvosAvis
Plus en détailProjet Viticulture - TP 3 : bases de données distantes BTS Services informatiques aux organisations
Projet Viticulture TP 3 : bases de données externes Description du thème Partie 1 : bases de données locales SQLite Partie 2 : projet H2O stockage local Partie 3 : bases de données distantes Partie 4 :
Plus en détailConfigurer le Serveur avec une adresse IP Statique (INTERFACE :FastEthernet) : 172.16.0.253 et un masque 255.255.0.0
RES_TP3 Objectifs : Les réseaux informatiques : Client - Serveur Utilisation de serveurs DHCP HTTP DNS FTP Configuration basique d un routeur Utilisation du simulateur CISCO PACKET TRACER G.COLIN Architecture
Plus en détailLe service FTP. M.BOUABID, 04-2015 Page 1 sur 5
Le service FTP 1) Présentation du protocole FTP Le File Transfer Protocol (protocole de transfert de fichiers), ou FTP, est un protocole de communication destiné à l échange informatique de fichiers sur
Plus en détailCette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :
Développement d un client REST, l application Vélib 1. Présentation L application présentée permet de visualiser les disponibilités des vélos et des emplacements de parking à la disposition des parisiens
Plus en détailInstallation et Mise en œuvre de MySQL
T-GSI STAGE RENOVATION - SQL.Chapitre 2 - Installation et Mise en œuvre de MySQL Olivier Mondet http://unidentified-one.net A. Pourquoi choisir MySQL? A.1. MySQL, très controversé La base de données MySQL
Plus en détailDevenez 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
Plus en détailArchitecture Orientée Service, JSON et API REST
UPMC 3 février 2015 Précedemment, en LI328 Architecture générale du projet Programmation serveur Servlet/TOMCAT Aujourd hui Quelques mots sur les SOA API - REST Le format JSON API - REST et Servlet API
Plus en détailTP2 : Client d une BDD SqlServer
TP2 : Client d une BDD SqlServer Objectifs : utiliser la barre de menu, utiliser les préférences d application (settings) ou (options), gérer la persistance des données, utiliser la bibliothèque jtds:jdbc
Plus en détailUn 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é
Plus en détailBien architecturer une application REST
Olivier Gutknecht Bien architecturer une application REST Avec la contribution de Jean Zundel Ce livre traite exactement du sujet suivant : comment faire pour que les services web et les programmes qui
Plus en détailProgrammation Web. Introduction
Programmation Web Introduction 1 Introduction 10 séances 1 h cours + 1h TD Notes : contrôle continu DS 1 TP : note de groupe : rapport + code source + démo TD : note personnelle (=0 si 2 absences non justifiées)
Plus en détailWEB & 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,
Plus en détailTP réseau Android. Bidouilles Tomcat. a) Installer tomcat : il suffit de dézipper l'archive apache-tomcat-8.0.15-windowsx64.zip.
TP réseau Android Ce TP utilise tomcat 8, sous windows et des.bat windows. On peut trouver ce serveur web et conteneur d'applications web à http://tomcat.apache.org/download-80.cgi. Il se trouve dans l'archive
Plus en détailAPI Web Service TéléAlerte
API Web Service TéléAlerte Version 1.2 (nov. 2013) Auteurs : Amos Faye, Stéphane Gibouin, Hennie Reyneke. Table des matières Table des matières... 2 Introduction, démarche technique... 4 Prérequis : notion
Plus en détailAlfstore workflow framework Spécification technique
Alfstore workflow framework Spécification technique Version 0.91 (2012-08-03) www.alfstore.com Email: info@alfstore.com Alfstore workflow framework 2012-10-28 1/28 Historique des versions Version Date
Plus en détailGestion Electronique de Document (ECM/GED)
Gestion Electronique de Document (ECM/GED) Analyse de l existant Découpage modulaire La gestion électronique de documents repose sur un ensemble de deux modules conjoints, au sein de la famille «ecm» :
Plus en détailPublication dans le Back Office
Site Web de l association des ingénieurs INSA de Lyon Publication dans le Back Office Note : dans ce guide, l'appellation GI signifie Groupe d'intérêt, et GR Groupe Régional laure Buisset Page 1 17/09/2008
Plus en détailAndroid Publish/Subscribe, GCM, Google Cloud Messaging : une introduction
Android Publish/Subscribe, GCM, Google Cloud Messaging : une introduction jean-michel Douin, douin au cnam point fr version : 8 Décembre 2014 Notes de cours 1 Sommaire Le socle, les fondements Le patron
Plus en détailServeurs de noms Protocoles HTTP et FTP
Nils Schaefer Théorie des réseaux (EC3a) Serveurs de noms Protocoles HTTP et FTP Théorie des réseaux (EC3a) Séance 7 Pourquoi DNS? Internet est une structure hiérarchique et arborescente de réseaux et
Plus en détailSYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8
SYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8 INTRODUCTION Bonjour à tous; Aujourd hui je publie une nouvelle version de l adaptation de la Sync Framework Toolkit,
Plus en détailLes Architectures Orientées Services (SOA)
Les Architectures Orientées Services (SOA) Ulrich Duvent Guillaume Ansel Université du Littoral Côte d Opale 50, Rue Ferdinand Buisson BP 699 62228 Calais Cedex Téléphone (33) 03.21.46.36.92 Télécopie
Plus en détail4. SERVICES WEB REST 46
4. SERVICES WEB REST 46 REST REST acronyme de REpresentational State Transfert Concept introduit en 2000 dans la thèse de Roy FIELDING Est un style d architecture inspiré de l architecture WEB En 2010,
Plus en détailProgrammation 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
Plus en détail3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures
3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures Objectif global : A l issue de la formation, les stagiaires doivent être opérationnels dans la création d un site internet
Plus en détailCré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
Plus en détailModule http MMS AllMySMS.com Manuel d intégration
Module http MMS AllMySMS.com Manuel d intégration Objectif du document... 3 1 Envoi de MMS par requête http... 4 1.1 Format de la requête utilisée... 4 1.2 Arborescence et explication des balises du flux
Plus en détailAJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada
AJAX (Administrateur) (Dernière édition) Programme de formation Microsoft Partner France, Belgique, Suisse, Roumanie - Canada WWW.SASGROUPE.COM Formez vos salariés pour optimiser la productivité de votre
Plus en détailService 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
Plus en détailTable des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction
PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS Depuis SAS 9.2 TS2M3, SAS propose un nouveau langage de programmation permettant de créer et gérer des tables SAS : le DS2 («Data Step 2»). Ces nouveautés
Plus en détailLes sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org
Les sites Internet dynamiques contact : Patrick VINCENT pvincent@erasme.org Qu est-ce qu un site Web? ensemble de pages multimédia (texte, images, son, vidéo, ) organisées autour d une page d accueil et
Plus en détailApplication Web et J2EE
Application Web et J2EE Servlet, JSP, Persistence, Méthodologie Pierre Gambarotto Département Informatique et Math appli ENSEEIHT Plan Introduction 1 Introduction Objectfis
Plus en détailPoll-O Guide de l utilisateur. Pierre Cros
Poll-O Guide de l utilisateur Pierre Cros TABLE DES MATIÈRES Table des matières Table des matières 1 1 Créer un site sur Poll-o.fr 2 2 Configurer le site 2 3 Créer une enquête ou un vote 2 3.1 Ajouter,
Plus en détailFormation site FMWORLD exclusivité TEAMSUCCESS. Le potentiel internet
Formation site FMWORLD exclusivité TEAMSUCCESS Le potentiel internet Pourquoi avoir son propre site? C est votre vitrine, votre carte de visite web Cela permet d avoir des visiteurs 24h/24h C est un outils
Plus en détailMANUEL D INSTALLATION D UN PROXY
MANUEL D INSTALLATION D UN PROXY Squid, SquidGuard, Dansguardian Dans ce guide on va détailler l installation et la configuration d une solution proxy antivirale en utilisant les outils ; squid, dansguardian,
Plus en détailBES WEBDEVELOPER ACTIVITÉ RÔLE
BES WEBDEVELOPER ACTIVITÉ Le web developer participe aux activités concernant la conception, la réalisation, la mise à jour, la maintenance et l évolution d applications internet/intranet statiques et
Plus en détailGuide d implémentation. Réussir l intégration de Systempay
Guide d implémentation - Interface avec la plateforme de paiement - Réussir l intégration de Systempay Version 1.4b Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa
Plus en détailSécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin
Sécurité des sites Web Pas un cours un recueil du net INF340 Jean-François Berdjugin Vulnérabilité Définition (wikipédia) : Dans le domaine de la sécurité informatique, une vulnérabilité est une faiblesse
Plus en détailMise en œuvre des serveurs d application
Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés
Plus en détailBases de données et fournisseurs de contenu
8 Bases de données et fournisseurs de contenu Au sommaire de ce chapitre : Créer des bases de données et utiliser SQLite Utiliser les fournisseurs de contenu, les curseurs et les content values pour stocker,
Plus en détailPratique et administration des systèmes
Université Louis Pasteur Licence Informatique (L2) UFR de Mathématiques et Informatique Année 2007/2008 1 But du TP Pratique et administration des systèmes TP10 : Technologie LAMP Le but de ce TP est de
Plus en détailTP Contraintes - Triggers
TP Contraintes - Triggers 1. Préambule Oracle est accessible sur le serveur Venus et vous êtes autorisés à accéder à une instance licence. Vous utiliserez l interface d accés SQL*Plus qui permet l exécution
Plus en détailSystèmes de communications Aastra 5000. Poste Aastra 6757. Guide de l utilisateur
Systèmes de communications Aastra 5000 Poste Aastra 6757 Guide de l utilisateur Table des matières Description du poste................................. 7 Présentation..............................................7
Plus en détailCommuniquer avec un ou plusieurs interlocuteurs. Michel Futtersack, Faculté de Droit, Université Paris Descartes, Sorbonne Paris Cité
Communiquer avec un ou plusieurs interlocuteurs Michel Futtersack, Faculté de Droit, Université Paris Descartes, Sorbonne Paris Cité Dimensions de la communication inter-humaine Synchrone ou asynchrone
Plus en détailTP1. Outils Java Eléments de correction
c sep. 2008, v2.1 Java TP1. Outils Java Eléments de correction Sébastien Jean Le but de ce TP, sur une séance, est de se familiariser avec les outils de développement et de documentation Java fournis par
Plus en détailAuthentification 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
Plus en détailRMI le langage Java XII-1 JMF
Remote Method Invocation (RMI) XII-1 Introduction RMI est un ensemble de classes permettant de manipuler des objets sur des machines distantes (objets distants) de manière similaire aux objets sur la machine
Plus en détailStockage de données sous Android
Stockage de données sous Android Master 2 informatique 2012-2013 Michel Chilowicz (sous licence CC By-NC-SA) Données temporaires d'une activité Une activité peut être détruite
Plus en détailCré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
Plus en détailService de dématérialisation de factures
Service de dématérialisation de factures Liste des modifications de la mise à jour du 18/01/2013 US1451 Paramétrage - Données Référentielles - Gestion de données Multilocales - Imports manuels et automatiques:
Plus en détailComment mettre en ligne un site WordPress local
Comment mettre en ligne un site WordPress local Vous avez bossé votre site en local et vous voulez maintenant savoir comment mettre en ligne votre site pour la première fois? Je vous propose ce guide en
Plus en détailGER helpdesk permet de traiter et d optimiser la gestion de vos interventions au sein de chaque bureaux.
GER helpdesk est un bureau d'assistance pour les moyens généraux (ou "centre d'assistance"), et qui fournit des services d assistance aux utilisateurs, consistant en la gestion des incidents lié à la gestion
Plus en détailSYSTÈMES D INFORMATIONS
SYSTÈMES D INFORMATIONS Développement Modx Les systèmes de gestion de contenu Les Content Management Système (CMS) servent à simplifier le développement de sites web ainsi que la mise à jour des contenus.
Plus en détailTP 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
Plus en détail<Insert Picture Here>ApExposé. Cédric MYLLE 05 Février 2008. Exposé Système et Réseaux : ApEx, Application Express d Oracle
ApExposé Cédric MYLLE 05 Février 2008 Exposé Système et Réseaux : ApEx, Application Express d Oracle Sommaire Introduction Les besoins L outil ApEx Le développement d applications
Plus en détailles 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
Plus en détailNetwork musical jammin
Network musical jammin Projet PC2R - 2015 Pour ce projet, nous allons réaliser une application permettant d effectuer des jams sessions en temps-réel entre des musiciens répartis à travers le monde. Le
Plus en détailMessagerie asynchrone et Services Web
Article Messagerie asynchrone et Services Web 1 / 10 Messagerie asynchrone et Services Web SOAP, WSDL SONT DES STANDARDS EMERGEANT DES SERVICES WEB, LES IMPLEMENTATIONS DE CEUX-CI SONT ENCORE EN COURS
Plus en détailProjet de programmation (IK3) : TP n 1 Correction
Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public
Plus en détailPrincipales 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.
Plus en détailGuide Utilisateur. Edition Mars 2012. Agenda. E-mails. Evènements. Synchroniser avec les identités de gestion, de. Messagerie interne. Post-it.
Edition Mars 2012 Agenda E-mails Evènements Synchroniser avec les identités de gestion, de syndic, de transaction Messagerie interne Post-it Notes Statistiques Guide Utilisateur Prenez le temps de lire
Plus en détailWASD en environnement haute disponibilité Jean-Pierre PETIT WASD Le produit WASD WASD signifie Wide Area Surveillance Division C est le nom d une division de la défense australienne qui a accepté en 1996
Plus en détailFévrier 2007. Novanet-IS. Suite progicielle WEB pour l Assurance. Description fonctionnelle
Novanet Février 2007 Novanet-IS Suite progicielle WEB pour l Assurance Description fonctionnelle Novanet-IS Description fonctionnelle 1 Définition 3 2 La production (module WEBACTION) 6 3 Relation Client
Plus en détail1 Démarrage de Marionnet
Institut Galilée Administration Système Année 2011-2012 INFO 2ème année Master Info 1 Master Image & Réseau 1 T.P. 1 Administration Système Le logiciel Marionnet (www.marionnet.org) offre la possibilité
Plus en détailDéveloppement d'un logiciel VoIP BlackBerry
UNIVERSITE DES SCIENCES, DES TECHNIQUES ET DES TECHNOLOGIES DE BAMAKO (USTTB) Développement d'un logiciel VoIP BlackBerry Par Mlle Kadidiatou Djibo Encadreurs : Mme Sogoba Jacqueline Konate, Maître-Assistant,
Plus en détailCARPE. Documentation Informatique S E T R A. Version 2.00. Août 2013. CARPE (Documentation Informatique) 1
CARPE (Documentation Informatique) 1 CARPE Version 2.00 Août 2013 Documentation Informatique S E T R A Programme CARPE - Manuel informatique de l'utilisateur CARPE (Documentation Informatique) 2 Table
Plus en détailASP.NET MVC 4 Développement d'applications Web en C# - Concepts et bonnes pratiques
Introduction 1. Introduction 11 2. La plateforme de développement web de Microsoft 11 3. Définition du modèle de programmation MVC 14 4. L'historique d'asp.net MVC 17 4.1 ASP.NET MVC 1 (2008) 17 4.2 ASP.NET
Plus en détailPHP CLÉS EN MAIN. 76 scripts efficaces pour enrichir vos sites web. par William Steinmetz et Brian Ward
PHP CLÉS EN MAIN 76 scripts efficaces pour enrichir vos sites web par William Steinmetz et Brian Ward TABLE DES MATIÈRES INTRODUCTION 1 1 TOUT CE QUE VOUS AVEZ TOUJOURS VOULU SAVOIR SUR LES SCRIPTS PHP
Plus en détailAndroid et le Cloud Computing
Android et le Cloud Computing 1 Plan de l'exposé Rappels sur Android et le cloud Présentation de GCM Notions fondamentales de GCM Construire un projet GCM Ecrire un client GCM (récepteur GCM) Ecrire un
Plus en détailUn ordonnanceur stupide
Un ordonnanceur simple Université Paris Sud L objet des exercices qui suivent est de créer un ordonanceur implantant l algorithme du tourniquet ( round-robin scheduler ). La technique utilisée pour élire
Plus en détailINTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)
CS WEB Ch 1 Introduction I. INTRODUCTION... 1 A. INTERNET INTERCONNEXION DE RESEAUX... 1 B. LE «WEB» LA TOILE, INTERCONNEXION DE SITES WEB... 2 C. L URL : LOCALISER DES RESSOURCES SUR L INTERNET... 2 D.
Plus en détailINTRODUCTION A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
Plus en détailWeb Tier : déploiement de servlets
Web Tier : déploiement de servlets 1 / 35 Plan 1 Introduction 2 Servlet : Principe de fonctionnement 3 Création et développement sur un serveur JEE 4 Quelques méthodes de l API des servlets 5 Utilisation
Plus en détailTP réseaux 4 : Installation et configuration d'un serveur Web Apache
TP réseaux 4 : Installation et configuration d'un serveur Web Apache Objectifs Installer, configurer, lancer et administrer le serveur Web Apache sous Linux Données de base machine fonctionnant sous Linux
Plus en détailL3 informatique TP n o 2 : Les applications réseau
L3 informatique TP n o 2 : Les applications réseau Sovanna Tan Septembre 2009 1/20 Sovanna Tan L3 informatique TP n o 2 : Les applications réseau Plan 1 Transfert de fichiers 2 Le Courrier électronique
Plus en détail21 mars 2012. Simulations et Méthodes de Monte Carlo. DADI Charles-Abner. Objectifs et intérêt de ce T.E.R. Générer l'aléatoire.
de 21 mars 2012 () 21 mars 2012 1 / 6 de 1 2 3 4 5 () 21 mars 2012 2 / 6 1 de 2 3 4 5 () 21 mars 2012 3 / 6 1 2 de 3 4 5 () 21 mars 2012 4 / 6 1 2 de 3 4 de 5 () 21 mars 2012 5 / 6 de 1 2 3 4 5 () 21 mars
Plus en détailStockage du fichier dans une table mysql:
Stockage de fichiers dans des tables MYSQL avec PHP Rédacteur: Alain Messin CNRS UMS 2202 Admin06 30/06/2006 Le but de ce document est de donner les principes de manipulation de fichiers dans une table
Plus en détailJean-Philippe Paquette Jean-philippe.paquette@videotron.ca
Jean-Philippe Paquette Jean-philippe.paquette@videotron.ca 6 novembre 2013 Ordre du jour Histoire du mobile a RDS Les alertes SMS Application RDS hockey Push notifications Différence avec le site mobile
Plus en détailQuelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)
Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07
Plus en détailDate: 22/10/12 www.sugarpshop.fr Version: 3.2
Date: 22/10/2012 contact@sugarpshop.fr Page 1 / 16 Table des matières 1 SUGARPSHOP : SCHEMA... 3 2 QUE VOUS APPORTE L INTERFACE SUGARPSHOP?... 4 3 DESCRIPTION FONCTIONNELLE GENERALE... 5 4 MODULE DE DEMANDE
Plus en détailConstruire une application marketing Facebook sur la plateforme Windows Azure
Construire une application marketing Facebook sur la plateforme Windows Azure Lorsque le «Social Effect» est au rendez-vous, comment s assurer que votre application va supporter la montée en charge? Nous
Plus en détailArchitectures web/bases de données
Architectures web/bases de données I - Page web simple : HTML statique Le code HTML est le langage de base pour concevoir des pages destinées à être publiées sur le réseau Internet ou intranet. Ce n'est
Plus en détailLeica Geosystems Licences des logiciels Introduction & Installation
Leica Geosystems Licences des logiciels Introduction & Installation Version 2.0 Français Table des matières Table des matières 1 Introduction... 3 2 Modèles de licences... 4 2.1 Licences fixes...4 2.2
Plus en détailCours 1 : Qu est-ce que la programmation?
1/65 Introduction à la programmation Cours 1 : Qu est-ce que la programmation? Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre
Plus en détailLe MSMQ. Version 1.0. Pierre-Franck Chauvet
Le MSMQ Version 1.0 Z Pierre-Franck Chauvet 2 [Le MSMQ] [Date : 10/10/09] Sommaire 1 Introduction... 3 2 Le Concept... 5 2.1 Les messages... 5 2.2 Les files d attentes... 5 2.3 WorkGroup... 7 2.4 Active
Plus en détailModélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework
Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework L'objectif de ce document est de poser des bases de réflexion sur la modélisation d'un projet réalisé
Plus en détailFTP : File TRansfer Protocol => permets d envoyer des gros fichiers sur un serveur (ou de télécharger depuis le serveur)
Publication par FTP FTP : File TRansfer Protocol => permets d envoyer des gros fichiers sur un serveur (ou de télécharger depuis le serveur) Logiciels FTP nombreux (FileZilla, CuteFTP, WinSCP, FTP Expert).
Plus en détailModule Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP
Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP Au cours de ce TP, vous allez voir comment PHP permet aux utilisateurs, une interaction avec
Plus en détailSolution Pro pour l Envoi de SMS direct opérateurs PUSH SMV MODE HTTP. Documentation Technique
Solution Pro pour l Envoi de SMS direct opérateurs PUSH SMV MODE HTTP Documentation Technique DixData - 19 Chemin des Travails - 06800 Cagnes-sur-Mer RCS Marseille B 443 014 238 - Sarl au capital de 108
Plus en détail(structure des entêtes)
Aide mémoire HTTP (structure des entêtes) Fabrice HARROUET École Nationale d Ingénieurs de Brest http://www.enib.fr/~harrouet/ enib 1/10 Structure générale d une requête Requête HTTP méthode ressource
Plus en détailArchitectures d'intégration de données
Architectures d'intégration de données Dan VODISLAV Université de Cergy-ontoise Master Informatique M1 Cours IED lan Intégration de données Objectifs, principes, caractéristiques Architectures type d'intégration
Plus en détailDrive your success. «Un écosystème complexe implique une capacité de gestion temps réel des aléas» www.imagina-international.com
Drive your success «Un écosystème complexe implique une capacité de gestion temps réel des aléas» www.imagina-international.com ATEN, dix avantages au service de votre entreprise Qualité de mise en œuvre
Plus en détailPHP 4 PARTIE : BASE DE DONNEES
PHP 4 PARTIE : BASE DE DONNEES 1. Introduction 2. Présentation de MySQL 3. Principe 4. Connexion 5. Interrogation 6. Extraction des données 7. Fonctions de services 8. Traitement des erreurs 9. Travaux
Plus en détailSurveiller et contrôler vos applications à travers le Web
Surveiller et contrôler vos applications à travers le Web Valérie HELLEQUIN Ingénieur d application Internet permet aujourd hui la diffusion d informations et de ressources que chaque utilisateur peut
Plus en détaile-obs : Conception et utilisation Rémy Decoupes Ether // ums3365
e-obs : Conception et utilisation Rémy Decoupes Ether // ums3365 1 e-obs - Plan i. A quoi sert e-obs ii. Positionnement d e-obs dans la chaine de production iii. Description générale des modules iv. Démonstration
Plus en détailDocumentation API Octopush
Documentation API Octopush (Version 1.6.1 du 10 juin 2014) Sommaire Campagne de SMS (Envois multiples) par requête POST HTTP/HTTPS... 2 URL... 2... 2... 2 Publipostage :... 3 Exemple d appel en GET :...
Plus en détailApplications et Services WEB: Architecture REST
Applications et : Erick Stattner Laboratoire LAMIA Université des Antilles et de la Guyane France erick.stattner@univ-ag.fr Guadeloupe 2014-2015 Erick Stattner Applications et : 1 / 90 Description du cours
Plus en détailModule BD et sites WEB
Module BD et sites WEB Cours 8 Bases de données et Web Anne Doucet Anne.Doucet@lip6.fr 1 Le Web Architecture Architectures Web Client/serveur 3-tiers Serveurs d applications Web et BD Couplage HTML-BD
Plus en détailCompte 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:...
Plus en détail