Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
cours:bat4:sujetws2017 [2017/04/28 13:13] tigli ux |
cours:bat4:sujetws2017 [2017/04/28 14:10] (Version actuelle) tigli [Quelques exercices de programmation C# utiles au projet] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | === Sujet 2017 === | + | ===== Sujet 2017 ===== |
|| | || | ||
Ligne 12: | Ligne 12: | ||
Plusieurs niveaux d'objectifs sont proposés dans ce mni-projet à rendre afin que tout étudiant, quelque soit son background en informatique, puisse profiter de ses compétences. | Plusieurs niveaux d'objectifs sont proposés dans ce mni-projet à rendre afin que tout étudiant, quelque soit son background en informatique, puisse profiter de ses compétences. | ||
- | |||
- | Vous trouverez ici le sujet suggéré pour les étudiants n'ayant pas trouvé le leur. Même si construire son sujet fait partie de l'exercice, voici un sujet de secours pour les retardataire. | ||
Ligne 32: | Ligne 30: | ||
Par ailleurs l'application enverra si possible un SMS (sur Free Mobile) dès lors que les conditions météorologiques des jours à venir nécessitent une intervention sur le bâtiment (à vous de définir ces conditions, comme la surveillance des fermetures en cas de pluie forte). | Par ailleurs l'application enverra si possible un SMS (sur Free Mobile) dès lors que les conditions météorologiques des jours à venir nécessitent une intervention sur le bâtiment (à vous de définir ces conditions, comme la surveillance des fermetures en cas de pluie forte). | ||
+ | ===== Quelques exercices de programmation C# utiles au projet ===== | ||
- | === Quel Service Web utiliser ? === | + | === Interopérabilité C# Excel === |
- | [[cours:bat4:IntWS:WS_SMS|]] | + | Voici quelques exercices de rappels : |
- | === Service Web donnant la Météo des jours passés et à venir === | + | - A partir de la librairie fournie écrivez un programme qui ouvre une feuille excel que vous aurez préparer (cellules avec fonctions de calcul) |
+ | - Ecrivez dans une place de cellules (A1, ..., A7), des valeurs entrées au clavier | ||
+ | - retournez à l'écran de la console les valeurs calculées par les cellules A8 et A9, respectivement la moyenne et l'écart type. | ||
- | Le site [[http://www.prevision-meteo.ch/]] donne accès à des services web donnant les paramètres météo des jours à venir et passés pour votre localité de Suisse, France et Belgique. | + | === Interfaces Graphiques sous C# avec les Winforms === |
- | Certains de ces services Web retourne même des images construites fonction des informations météorologique du moment. | + | - Ecrivez une interface graphique contenant 7 textbox pour entrer les 7 valeurs précédentes |
+ | - Déclenchez l'affichage dans 2 labels de la moyenne et de l'écart type grâce à un buton de commande CALCUL | ||
+ | - Déclenchez l'arrêt de l'application grâce au bouton QUIT | ||
- | L'ensemble de ces services sont documentés sur la page [[http://www.prevision-meteo.ch/services]]. | + | Remarque : Dès lors qu'une textbox est vide, la valeur qu'elle contient par défaut est zéro pour les calculs |
- | Voici quelques exemples d'utilisation et mise en oeuvre : | + | * Les plus avancés pourront utiliser Excel pour générer de charts et les importer dans une application graphique comme des images. Il pourront dans cette exercie afficher un histogramme basé sur les 7 valeur entrées |
- | * http://www.prevision-meteo.ch/uploads/widget/XXX_YYY.png, avec XXX : le nom de la ville concernée et YY : le nombre de jours à compter d'aujourd'hui (de -1 à 3). Ce service web affiche alors une image contenant les graphiques de l'évolution de la météo à venir pour la ville XXX dans la journée J + YY. Par exemple : [[http://www.prevision-meteo.ch/uploads/widget/cannes_0.png]] | + | |
- | * http://www.prevision-meteo.ch/services/FFF/XXX, avec XXX : le nom de la ville concernée et FFF : le format souhaité (XML ou JSON) des données retournées. Un texte au format FFF sera alors récupéré, énumérant les données météorologiques J+0 à J+3 pour la ville XXX. Le manuel d'utilisation de ce service Web et le détail des informations récupérées sont accessibles par [[http://www.prevision-meteo.ch/uploads/pdf/recuperation-donnees-meteo.pdf|ce lien]]. | + | |
- | === API web Services Google === | + | === Testez avec un programme C# les Web services ci-dessous === |
+ | - L'envoi de SMS : Vous construirez alors une interface graphique qui récupérera le message à transmettre dans une textbox et enverra le SMS grâce à un bouton SEND. Bien sûr, nous terminerons l'application grâce à un bouton QUIT. | ||
- | == Utilisation des Services Web de Google appelés aussi APIs == | + | == Quels Web Services utiliser ? == |
- | Les APIs Google sont principalement des Services Web de type REST / GET. | + | |
- | Les paramètres d'appel sont donc présents dans l'url. | + | |
- | Par exemple : https://maps.googleapis.com/maps/api/streetview?size=600x300&location=43.6419409,7.0306163&heading=151.78&pitch=-0.76&key=<XXXXXKEYXXXXX> | + | ** Service Web pour l'envoi d'un SMS ** |
- | Pour chaque API vous devez créer un projet et obtenir une Clef <XXXXXKEYXXXXX>. | + | [[cours:bat4:IntWS:WS_SMS|Un service Web pour l'envoi de SMS chez les abonnés Free]] |
- | Ceci se déroule en 3 étapes : | + | ** Service Web donnant accès aux prévisions météorologiques ** |
- | - [[https://console.developers.google.com/flows/enableapi?apiid=street_view_image_backend&keyType=CLIENT_SIDE&reusekey=true|Créer ou choisir un projet]] | + | |
- | - Activer Google Street View Image API | + | |
- | - Créer les clés appropriées | + | |
- | == Liste des Services Web de Google == | + | [[cours:bat4:IntWS:WSMeteo|Un Service Web de prévisions météorologiques]] |
- | Les Services Web de Google se trouvent sur [[https://developers.google.com/products/|Google Developers]] | + | ** Avancé : Service Web de Google ** |
- | Selon l'APIs diverses explications vous seront fournies comme : | + | [[cours:bat4:IntWS:WSGoogle|Des Services Web de Google]] |
- | * L'algorithme utilisé par le service (ex: deep depth) | + | |
- | * Le type et le format des paramètres de l'url utilisée (ex pour translate : ([[https://developers.google.com/apis-explorer/?hl=fr#p/translate/v2/language.translations.list|Lien vers un formulaire de test]]) | + | |
- | * des bibliothèques fournies par API, plateforme etlangage (ex. .Net pour implémenter un | + | |
- | === Test Automatique de Web Service === | ||
- | * Tags: http://blog.octo.com/automatiser-ses-tests-de-web-services-grace-a-soapui/ | ||
- | === Quelques éléments de programmation C# utiles === | ||
- | |||
- | == Quelques éléments de décodage des données XML renvoyé par des Web services de type REST == | ||
- | |||
- | Le framework .Net fournit quelques classes qui permettent la manipulation de données XML. | ||
- | Ces classes se trouvent dans le namespace : System.Xml | ||
- | La documentation correspondante sur MSDN se trouve sur ce [[https://msdn.microsoft.com/fr-fr/library/system.xml%28v=vs.110%29.aspx|lien]]. | ||
- | |||
- | La principale méthode à utiliser est SelectNodes de la classe XmlNode. | ||
- | C'est elle qui permettra de rechercher les informations selon un chemin de parcours des données XML appelé XPATH. | ||
- | La documentation et des exemples se trouve sur le [[https://msdn.microsoft.com/fr-fr/library/hcebdtae%28v=vs.110%29.aspx|lien]]. | ||
- | |||
- | |||
- | {{:cours:consoleexemplelecturexml.zip|Exemple de Projet C# Console qui affiche les des noeuds de données XML}} | ||
- | |||
- | == invocation d'un service HTTP REST avec la commande GET == | ||
- | {{:cours:exemple_http_rest_get_url_puis_parsing_de_la_reponse_en_xml.zip|Exemple de requête de type GET sur une url données puis de lecture des données utiles dans le XML retournée}} | ||
Ligne 142: | Ligne 117: | ||
* Une fois l’installation terminée, dans la page Résultats de l’installation, cliquez sur Fermer. | * Une fois l’installation terminée, dans la page Résultats de l’installation, cliquez sur Fermer. | ||
+ | ===== Quelques éléments de décodage des données XML renvoyé par des Web services de type REST ===== | ||
+ | |||
+ | Le framework .Net fournit quelques classes qui permettent la manipulation de données XML. | ||
+ | Ces classes se trouvent dans le namespace : System.Xml | ||
+ | La documentation correspondante sur MSDN se trouve sur ce [[https://msdn.microsoft.com/fr-fr/library/system.xml%28v=vs.110%29.aspx|lien]]. | ||
+ | |||
+ | La principale méthode à utiliser est SelectNodes de la classe XmlNode. | ||
+ | C'est elle qui permettra de rechercher les informations selon un chemin de parcours des données XML appelé XPATH. | ||
+ | La documentation et des exemples se trouve sur le [[https://msdn.microsoft.com/fr-fr/library/hcebdtae%28v=vs.110%29.aspx|lien]]. | ||
+ | |||
+ | |||
+ | {{:cours:consoleexemplelecturexml.zip|Exemple de Projet C# Console qui affiche les des noeuds de données XML}} | ||
+ | |||
+ | == invocation d'un service HTTP REST avec la commande GET == | ||
+ | {{:cours:exemple_http_rest_get_url_puis_parsing_de_la_reponse_en_xml.zip|Exemple de requête de type GET sur une url données puis de lecture des données utiles dans le XML retournée}} | ||
===== Annexes ===== | ===== Annexes ===== |