Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
cours:bat4:sujetws2017 [2017/04/28 13:17] tigli |
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 === |
- | == Service Web pour l'envoi d'un SMS == | + | Voici quelques exercices de rappels : |
- | exemple : [[cours:bat4:IntWS:WS_SMS|Un service Web pour l'envoi de SMS chez les abonnés Free]] | + | |
- | == Service Web donnant accès aux prévisions météorologiques == | + | - 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. | ||
- | [[cours:bat4:IntWS:WSMeteo|Un Service Web de prévisions météorologiques]] | + | === Interfaces Graphiques sous C# avec les Winforms === |
- | == Service Web donnant la Météo des jours passés et à venir == | + | - 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 | ||
+ | Remarque : Dès lors qu'une textbox est vide, la valeur qu'elle contient par défaut est zéro pour les calculs | ||
- | === API web Services Google === | + | * 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 |
- | == Utilisation des Services Web de Google appelés aussi APIs == | + | === Testez avec un programme C# les Web services ci-dessous === |
- | Les APIs Google sont principalement des Services Web de type REST / GET. | + | - 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. |
- | 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> | + | == Quels Web Services utiliser ? == |
- | Pour chaque API vous devez créer un projet et obtenir une Clef <XXXXXKEYXXXXX>. | + | ** Service Web pour l'envoi d'un SMS ** |
- | Ceci se déroule en 3 étapes : | + | [[cours:bat4:IntWS:WS_SMS|Un service Web pour l'envoi de SMS chez les abonnés Free]] |
- | - [[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 == | + | ** Service Web donnant accès aux prévisions météorologiques ** |
- | Les Services Web de Google se trouvent sur [[https://developers.google.com/products/|Google Developers]] | + | [[cours:bat4:IntWS:WSMeteo|Un Service Web de prévisions météorologiques]] |
- | Selon l'APIs diverses explications vous seront fournies comme : | + | ** Avancé : Service 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 | + | |
+ | [[cours:bat4:IntWS:WSGoogle|Des Services Web de Google]] | ||
- | === 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 138: | 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 ===== |