Tutoriel : AccÄs Å un Service Web (GoogleSearch API) avec Visual Basic.Net 2003. Table des matiäres



Documents pareils
Paginer les données côté serveur, mettre en cache côté client

Travaux Pratiques de Commande par ordinateur 1 TRAVAUX PRATIQUES

Form Designer Guide d utilisateur DOC-FD-UG-FR-01/01/12

Rapport de Mini-Projet en ArcGIS Engine

BIRT (Business Intelligence and Reporting Tools)

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

Qu est ce que Visual Guard. Authentification Vérifier l identité d un utilisateur

Hébergement et configuration de services WCF. Version 1.0

Comment accéder à d Internet Explorer

Comment se connecter au dossier partagé?

Volet de visualisation

Visual Basic for Applications

Le MSMQ. Version 1.0. Pierre-Franck Chauvet

Début de la procédure

TP2 : Client d une BDD SqlServer

.NET - Classe de Log

WebParts. Version 1.0

Rapports d activités et financiers par Internet. Manuel Utilisateur

1. Introduction Création d'une macro autonome Exécuter la macro pas à pas Modifier une macro... 5

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Guide d installation CLX.PayMaker Office (3PC)

TalkToMe : votre première appli App Inventor Ce tutoriel vous aidera à construire une appli parlante qui peut sauvegarder des phrases sur demande.

Introduction : L accès à Estra et à votre propre espace Connexion Votre espace personnel... 5

: seul le dossier dossier sera cherché, tous les sousdomaines

Ouvrez un compte Hotmail pour communiquer

Rafraichissement conditionné d'une page en.net

Formation VBA 3 Interagir

TAGREROUT Seyf Allah TMRIM

INTRODUCTION AUX TESTS CODES DE L INTERFACE UTILISATEUR

FAIRE UN PAIEMENT TIPI

Installation d un manuel numérique 2.0

Programmation VBA/Excel. Programmation VBA. Pierre BONNET. Masters SMaRT & GSI - Supervision Industrielle P. Bonnet

T le. Se documenter tout au long de l année. séquence pédagogique L1.2 L1.4 L2.2 L e trimestre. Nom :... Prénom :... Date :...

Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"

AFTEC SIO 2. Christophe BOUTHIER Page 1

Programmation Visual Basic. Visite guidée d'un programme Visual Basic 6.0

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa Novembre 2008

Initiation à l utilisation de la micro-informatique Internet Explorer 7. Mode d emploi.

Gestion de stock pour un magasin

Tutoriel Création d une source Cydia et compilation des packages sous Linux

SOMMAIRE. Accéder à votre espace client. Les Fichiers communs. Visualiser les documents. Accéder à votre espace client. Changer de Workspace

Étape 1 : Création d une adresse courriel GMAIL

Plateforme PAYZEN. Définition de Web-services

Keyyo Guide de mise en service CTI / API / TAPI Keyyo

Sommaire. 2. L accès aux modules. 1. Aspects techniques. 1.1 Le matériel requis 2

Manuel du gestionnaire

INTERCONNEXION ENT / BCDI / E - SIDOC

Créer un rapport pour Reporting Services

Afin d accéder à votre messagerie personnelle, vous devez vous identifier par votre adresse mail et votre mot de passe :

Guide d utilisation du portail de formation en ligne LeCampus.com à l attention des partenaires de l APSM

Guide d utilisation. Version 1.1

"Indy\Source\Fulld7.bat" 6. Lancer à présent Delphi. Allez dans le menu "Composant" puis sur "Installer des paquets...".


TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting

Windows Internet Name Service (WINS)

Découverte des applications de la suite

Configurez votre Neufbox Evolution

Les cahiers pratiques de Anonymat.org. SocksCap32. Edition du 20 Octobre 2000

ESPACE COLLABORATIF SHAREPOINT

Utiliser le site Voyages-sncf.com

1 Comment créer, administrer et participer à un sondage Doodle

Reporting Services - Administration

Cahier Technique Liaison Comptabilité Api / Sage ECF

Publier dans la Base Documentaire

MetaTrader 4/5 pour Android. Guide de l utilisateur

INTERCONNEXION ENT / BCDI / E - SIDOC

Tutoriel Sage One Edition Expert-Comptable. - Le cabinet d Expertise-Comptable doit appeler le Service Client Sage One au

Découvrez Windows NetMeeting

Plateforme PAYZEN. Intégration du module de paiement pour la plateforme Magento version 1.3.x.x. Paiement en plusieurs fois. Version 1.

La double authentification dans SharePoint 2007

SOMMAIRE. 1. Connexion à la messagerie Zimbra Pré-requis Ecran de connexion à la messagerie 4

1. Installation du Module

Atelier Découverte de Windows. janvier 2012

Création d un service web avec NetBeans 5.5 et SJAS 9

INTRODUCTION AUX TESTS DE PERFORMANCE ET DE CHARGE

Procédure Platine Exchange 2010 Accompagnement à la migration de votre compte 09/08/ Version 1.0 Hébergement web professionnel

De EnvOLE 1.5 à EnvOLE 2. Document pour l administrateur

Accès à distance sécurisé au Parlement (ADSP)

INTRODUCTION À LA GESTION DE PROJET AGILE (BACKLOG, TABLEAUX DE BORD, BURNDOWN, PLANIFICATION D ITERATIONS)

Guide Tenrox R8.7 de configuration de Microsoft Reporting Services

GUIDE D INSTALLATION ET D UTILISATION PI AUTHENTICATOR

Définition des Webservices Ordre de paiement par . Version 1.0

MO-Call pour les Ordinateurs. Guide de l utilisateur

Areca Backup Première Sauvegarde - Configurez votre premier groupe et votre première cible.

Déployer une application cliente avec le Framework.NET 3.5 Client Profile

Alice Sécurité Enfants (version )

Publier un Carnet Blanc

FICHE 17 : CREER UN SITE WEB

Comment Définir une Plage de données Pour Utiliser Fonctions de Filtres et de Tris

Corrigé de l'atelier pratique du module 8 : Implémentation de la réplication

ANIMER UNE COMMUNAUTÉ CONSTRUCTION21

eurobraille VOYONS ENSEMBLE MANUEL D'UTILISATION WIFI iris 40, 20 iris-s 32, 20 iris-kb 40,20 VERSION 1.82

Notice d installation et d utilisation du blog nomade avec un nouveau blog

Google Drive, le cloud de Google

Le serveur SLIS - Utilisation de base

Vous avez reçu une pièce jointe VOTRE SITE.RAR, qu en faire?

AUVRAY Clément (168187) HOMBERGER Alexandre (186897) GLADE. Langages, outils et méthodes pour la programmation avancée Page 1 sur 12

Comment créer un site web Proxy gratuitement!

Gestion des documents avec ALFRESCO

Transcription:

Tutoriel : AccÄs Å un Service Web (GoogleSearch API) avec Visual Basic.Net 2003 Table des matiäres INTRODUCTION 2 QU EST-CE QU UN SERVICE WEB??? 2 LES PRELIMINAIRES 2 LE DESIGN DE LA FICHE DE RECHERCHE GOOGLE 2 IMPORTATION DU WEBSERVICE VIA L IMPORTATEUR WSDL 4 ACCES AU SERVICE - PRELIMINAIRES 6 ACCES AU SERVICE TRAITEMENT DE LA REQUETE DE L UTILISATEUR 8 CONCLUSION 10

Introduction Nous allons, par l intermådiaire de ce tutoriel, apprendre Ç utiliser les WebServices. Nous prendrons comme exemple l utilisation de l API Google API. Cette API va vous permettre de råaliser des opårations de recherche sur le Web. Nous apprendrons Ç utiliser le standard WSDL, qui permet de dialoguer avec des services Web existants en mettant Ç la disposition du dåveloppeur tout le nåcessaire (måthodes, paramétres et propriåtås utilisables) par l intermådiaire de messages SOAP qui sont au format XML. Qu est-ce qu un Service Web??? On pourrait dire grosso modo que c est un objet sans interface visuel, en fait une fonction qui renvoie un råsultat en råponse Ç une requñte de l application cliente. Dans le cas qui nous intåresse ici, c'est-ç-dire Google, ce service va nous renvoyer toutes les pages internet råpondant Ç la saisie des mots clås que l on aura demandå dans la requñte. C est Ç l application cliente ensuite d organiser les donnåes reöues suivant la charte graphique de l application. Les prçliminaires Avant de pouvoir utiliser ce service, il va falloir dans un premier temps tålåcharger l API, pour ce faire vous devez vous rendre Ç l adresse suivante : http://www.google.fr/apis/ Une fois installer sur votre ordinateur, il vous reste Ä accomplir une tåche primordiale, si vous voulez utiliser ce service : l enregistrement. En effet sans cette Étape vous ne pourrez pas accédez Ä ce service. Une fois l enregistrement effectué, vous allez recevoir une clé d utilisation, il faut la garder précieusement, vous en aurez besoin pour la suite, pour vous connecter au service. Vous aurez le droit ainsi Ä 1000 requñtes par jour. VoilÄ maintenant vous Ñtes prñt Ä entrer dans le vif du sujet. Le design de la fiche de Recherche Google Nous allons débuter un nouveau projet fondé sur une application Windows. Pour ce faire dans le menu Fichier->Nouveau->Projet->Projets Visual Basic, cliquer sur l icöne Application Windows. La fenñtre du projet s ouvre avec la fiche Form1 en visualisation directe. Le premier travail consiste Ä Élaborer le design de la fenñtre principale. Ensuite réaliser l interface de faüon Ä ce qu elle ressemble Ä celle-ci :

Pour pouvoir aborder le plus facilement possible la suite de ce tutoriel nous allons utiliser les noms suivants pour les composants de cette fiche : txtrecherche qui correspond Ç la zone d Ådition (utiliser un composant TextBox) permettant de renseigner la recherche sous forme de mots clå. btnrecherche qui va permettre de lancer la recherche (utiliser un composant Button). txtindice qui correspond Ä la zone de saisie de l indice de début de recherche (utiliser aussi un composant TextBox). txtnbreresu qui correspond au nombre de résultats que l on veut voir apparaátre sur une page. Sachant que celui-ci ne peut pas dépasser la valeur 10 (utiliser de mñme un composant TextBox). cbxresufiltres qui permet de filtrås les råsultats trouvåes et d afficher ou non des doublons (utiliser une CheckBox). txtrestriction qui correspond Ä une option permettant de restreindre le nombre de pages trouvées en fonctions d un pays (.fr,.eu,.en) ou en fonction de la langue voulue (une TextBox).

cbxfiltrageparental : permet de filtrer les pages trouvées et d afficher ou non des pages comportant des documents destinées aux grandes personnes (utiliser un composant CheckBox). cbxlangue qui permet de réaliser un filtrage sur les résultats obtenus afin de n afficher que les pages Écrites dans la langue voulue (utiliser un ComboBox). lblresu qui va nous permettre d afficher le nombre de pages trouvées (utiliser un Label). lnkresuprecedents qui est un bouton qui va permettre de revoir les pages que l on a vu précédemment (utiliser un linklabel). lnkresusuivants qui est un bouton qui va permettre de voir les pages suivantes (utiliser un linklabel). Et pour finir un ListBox qui va contenir les pages résultantes de la requñte. Importation du WebService via l importateur WSDL Ensuite il faut importer le service Web de Google vers Visual basic.net 2003, pour pouvoir l utiliser. Pour ce faire dans la fenñtre explorateur de solutions (situé Ä droite de la fenñtre de design et de code), faites un clic droit sur le nom du projet. Un menu contextuel apparaát : Vous devez choisir la commande à Ajouter une référence Web ä. Une fois sélectionnée une autre fenñtre s affiche Ä l Écran :

Dans la zone de texte correspondant Ç l URL, vous devez renseigner le råpertoire dans lequel vous avez installå les fichiers de l API (pour moi il s agit de C:\GoogleAPI\GoogleSearch.wsdl). Ensuite cliquer sur le bouton Ü Aller Ç á et vous verrez apparaàtre dans la fenñtre ceci: Voici les fonctions mises Ç disposition par Google que l on va pouvoir implåmenter dans notre application. En ce qui concerne ce tutoriel nous allons nous pencher plus pråcisåment sur la fonction dogooglesearch(). Il ne reste plus qu Ç valider l utilisation de ce service Web, en cliquant sur le bouton Ü Ajouter la råfårence á. Une fois ceci effectuå, vous devez voir apparaàtre des changements au niveau de la fenñtre d exploration de la solution :

Maintenant, que nous avons importé notre WebService, nous allons pouvoir entrer dans le vif du sujet, c est-ä-dire le codage de notre fiche de recherche Google afin que l on puisse récupérer des données via la Google Search API. AccÄs au service - PrÇliminaires Nous avons tout le nécessaire pour pouvoir entrer en contact avec le WebService. Pour commencer vous devez mettre la référence GoogleSearch dans la clause imports de votre fiche principale : Imports WindowsApplication2.GoogleSearch.GoogleSearchResult Ensuite vérifier que vous vous Ñtes bien enregistrer auprãs de Google, afin de pouvoir utiliser le WebService, vous devriez avoir reüu une clé en retour, vous allez déclarez une constante clé de la faüon suivante : Public Const Cle As String = "votre clä" Une fois ceci effectuå nous allons pouvoir initialiså l accés proprement dit au Service, pour ce faire vous allez avoir besoin de råaliser les dåclarations suivantes : Dim disearchgoogleservice As New GoogleSearch.GoogleSearchService Dim ResultatRecherche As New GoogleSearch.GoogleSearchResult Dim ElementsRecherche As New GoogleSearch.ResultElement La premiére dåclaration permet d initialiser une interface qui va nous Ñtre utile afin de dialoguer avec le Webservice Google. La deuxiéme dåclaration va nous permettre d initialiser un objet qui va contenir les diffårentes propriåtås de retour comme le nombre de pages estimmåes, l indice de dåbut, l indice de fin de recherche.

La troisiéme dåclaration va nous permettre de pointer sur le contenu d une page råsultante de la rehcerche, on va pouvoir en extraire des propriåtås intåressantes comme l adresse (l url), le råsumå, le titre, le domaine, etc Maintenant que nous avons vu les pråliminaires, nous allons pouvoir passer Ç l accés au WebService et au traitement des råsultats retournås. AccÄs au Service Traitement de la requñte de l utilisateur Pour effectuer la recherche nous allons créer une procédure qui va nous permettre de réaliser cette opération : Private Sub Recherche() Dim i As Integer ListBox1.Items.Clear() Requete = txtrequete.text If cbxlangue.text = "franåais" Then schoixlangue = "lang_fr" Else schoixlangue = "lang_en" End If ResultatRecherche = disearchgoogleservice.dogooglesearch(cle, Requete, Int(txtIndice.Text) + (n * imaxresu), Int(txtNbreResu.Text), cbxresufiltres.checked, txtrestrictions.text, cbxfiltrageparental.checked, schoixlangue, "", "") inbreresu = ResultatRecherche.estimatedTotalResultsCount lblresu.text = "RÄsultat de la Recherche : " + Str(ResultatRecherche.estimatedTotalResultsCount) + " pages trouväes" For i = ResultatRecherche.startIndex - iindicedebut To ResultatRecherche.endIndex - iindicedebut ElementsRecherche = ResultatRecherche.resultElements(i - 1) ListBox1.Items.Add(ElementsRecherche.title) ListBox1.Items.Add(ElementsRecherche.snippet) ListBox1.Items.Add(ElementsRecherche.URL) ListBox1.Items.Add(ElementsRecherche.hostName) ListBox1.Items.Add("") Next If inbreresu > imaxresu Then End If End Sub lnkresuprecedents.visible = True lnkresusuivants.visible = True Cette fonction peut Ñtre découpé en deux parties bien distinctes l envoi de la requñte et la réception des résultats en retour, et puis bien sår le traitement de ceux-ci.

L envoi de la requñte et la råception des donnåes retournåes s effectuent par l intermådiaire de la fonction dogooglesearch de l interface GoogleSearchService. Cette fonction prend en paramétre un certain nombre d options qui sont les suivantes : Le premier ÉlÉment es indispensable et correspond Ä la clef personnelle d accãs au service. Il faut donc passer en paramãtre la constante cle que nous venons de définir. Le deuxiéme ÅlÅment constitue la demande de l utilisateur proprement dite. C est le mñme principe d utilisation que sur le site. Le troisiéme ÅlÅment est l indice de l ÅlÅment recherchå Ç partir duquel on va afficher les råsultats. Il faut savoir que le nombre de råsultats affichables sur une page (par requñte) est limitå Ç 10. ce qui veut dire que si la recherche retourne plus de 10 ÅlÅments, on va pouvoir sålectionner les ÅlÅments de 1 Ç 10 par exemple, ou de 91 Ç 100. Chaque nouvelle recherche fait dåcompter le nombre de requñte qui je vous le rappelle est limitåe Ç 1000/jour. Le quatriãme ÉlÉment correspond au nombre d ÉlÉments affichables sur la page (celui est limité Ä 10). Le cinquiãme ÉlÉment permet de demander au service de filtrer ou non les ÉlÉments. Le sixiãme ÉlÉment permet de définir une option de restriction dans la recherche, ceci peut Ñtre une langue ou un nom de domaine par exemple. Le septiéme ÅlÅment permet d interdire ou non les sites pour adultes, indispensable en cas d utilisation des enfants. Le paramãtre suivant permet de filtrer les résultats en fonction de la langue des pages. Pour renseigner ce paramãtre il faut utiliser, par exemple lang_fr pour afficher les pages Écrites en franüais, ou encore lang_en pour celles Écrites en anglais. Les deux autres paramãtres ne sont plus utilisés et ne présentent pas d intérñt. Vous pouvez remplacer ces deux paramãtres par dummy. En effet les options d encodage se font maintenant par l intermédiaire de la norme UtF-8. Si l opération s est bien déroulée, le service nous renvoie alors un tableau associatif (gråce Ä NUSoap). C est Ä nous ensuite de lire les informations contenues dans celui-ci. Pour accéder Ä ce tableau on va utiliser la variable RechercheResultat que nous avons défini précédemment, et l objet ElementsRecherche de type ResultElement. Il est donc ainsi trãs aisé de pouvoir accéder Ä des propriétés comme le titre de la page (ElementsRecherche.title), le résumé de cette page (ElementsRecherhe.snippet), le nom de domaine (ElementsRecherche.hostName), ou encore l adresse de la page (ElementsRecherche.URL). Pour pouvoir traiter les résultats un par un on va utiliser une boucle classique for to do. On utilise les propriétés startindex et endindex pour pouvoir définir l indice du résultat Ä traiter. VoilÄ maintenant vous avez toues les informations possibles pour pouvoir effectuer des recherches avec mots clés. Il nous reste Ä voir le fonctionnement des deux liens RÉsultats Suivants et résultats PrÉcÉdents(voir page suivante). Comme vous pouvez le constater le code correspondant Ä l ÉvÉnement OnClick de ces deux objets est trãs simple, on va tester que la recherche est possible en testant si on va dépasser le nombre total de résultats ou obtenir un nombre négatif. Ici n correspond au nombre de fois. Bien sår avant d effectuer une nouvelle recherche, on va réinitialiser notre ListBox1 en effaüant son contenu et on va rappeler la fonction que l on a Étudier en détail précédemment.

Private Sub lnkresuprecedents_linkclicked(byval sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles lnkresuprecedents.linkclicked If ((iindicedebut - imaxresu) < inbreresu) And ((iindicedebut - imaxresu) >= 0) Then iindicedebut = iindicedebut - imaxresu n = n - 1 End If ListBox1.Items.Clear() Recherche() End Sub Private Sub lnkresusuivants_linkclicked(byval sender As Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles lnkresusuivants.linkclicked If (iindicedebut + imaxresu) < inbreresu Then iindicedebut = iindicedebut + imaxresu n = n + 1 End If ListBox1.Items.Clear() Recherche() End Sub Pour info je vous mets le contenu de la procédure Load associée Ä la fiche : Private Sub frmrecherche_load(byval sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load txtindice.text = "0" txtrestrictions.text = "" txtnbreresu.text = "10" imaxresu = Int(txtNbreResu.Text) lnkresuprecedents.visible = False lnkresusuivants.visible = False End Sub Donc comme vous pouvez le constater on va initialiser les variables que l on va utiliser par la suite dans la procådure de Recherche ensuite. Conclusion Vous avez pu apprendre par l intermådiaire de ce tutoriel comment on communique avec WebService. MÑme si l on a pris pour exemple, l API de Google, vous allez pouvoir utiliser l importateur WSDL pour n importe quel Service qui est compatible avec cette norme bien entendu. Vous avez pu constater que l environnement de programmation Visual Studio.Net 2003 nous facilite grandement la täche gräce Ç son Imporateur WSDL. On peut dire aussi que les sevices Web mñme s ils fournissent des outils de hautes qualitås souffrent d un dåfaut majeur, il faut avoir une connexion permanente avec Internet lors de la requñte. Comme vous avez pu le constater, ce tutoriel ne vous a permis que d implåmenter la fonction dogooglesearch(), je vous laisse le soin de peaufiner ceette application afin de pouvoir implåmenter les deux autres fonctions mises Ç votre disposition par l API Google Search.