Ceci est une ancienne révision du document !
Cours Réseaux, Internet et Services, BAT4
Conditions requises de travail
Séance 1
Support de cours introduction aux réseaux et à la couche physique
Support de cours introduction aux réseaux et réseaux locaux BAT4
Séance 2
Séance 3
Séance 4
Support de cours UDP TCP couche de Transport BAT4
Pour vous entraîner en dehors du cours :
Séance 5
Ce cours reposera principalement sur des manipulations commentées par l'enseignant.
Voici néanmoins un support de cours d'introduction à la programmation Socket - exemple en C#
Voici la solution Visual Studio qui servira à l'introduction des classes TCPListener et TCPClient, utilisée pour la conception en C# d'un client et d'un serveur TCP / IP :
Codes sources du Client et du Serveur TCP/IP en C#
Pour vous entraîner en dehors du cours : support de TD optionnel
TD sur les sockets et serveur SMTP
Ce TD commencera par un exemple de code socket en C# sur un serveur d'echo.
Séance 5 : Intro Web, TD HTTP, pages Web statiques
Séance 6 : Introduction aux Service Web et Service Web WS-SOAP
Cours d'introduction aux services Web - RestFul et WS-SOAP
TD Client de Service Web WS-SOAP en C# sous Visual Studio
Correction du TD de programmation d'un client Web WS-SOAP en C# sous Visual Studio: Solution Visual Studio 2013 C# Windows Form et Webservice Currency
Séance 7 : Introduction aux Service Web et Service REST Google
Liste de Services Web disponibles sur le Net
La date limite de rendu sera fixé avec l'enseignant. A défaut : une semaine après la dernière séance du cours à minuit.
Exemple : [PROJET GTB et Web Services 2017] [Tigli Dubois]
Chaque groupe est composé de 2 étudiants au maximum
Tout retard sera sanctionné avec des points en moins sur le rendu du groupe (0,5 point par heure de retard).
Sujet suggéré
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.
Sur le même principe que pour le Projet rendu en programmation et environnement de programmation du premier trimestre, concevez une application qui récupère un ensemble de mesures météorologiques sur plusieurs jours pour une ville données. Nous utiliserons pour cela les Services Web présentés ci-dessus. Nous pourrons par exemple consigner les températures, la pression et les vitesses du vent qui sont parmi les paramètres important pour gérer la consommation énergétique dans un bâtiment et les possibles anomalies.
Une interface graphique permettra alors de parcourir les conditions météorologiques qu'a ou que va subir le bâtiment et d'afficher les stratégies d'ouvertures et de fermetures des baies vitrées dans les parties communes.
Nous partirons pour cela du principe que le bâtiment est équipé de 4 baies vitrées au nord, au sud à l'est et à l'ouest. Que ces baies vitrées sont composées d'une vitre et d'un volet tous deux motorisés. Ceci permet donc pour chaque ouverture de se trouver dans 4 états possibles :
- volet ouvert / vitre fermée (laisse passer la lumière mais pas le vent)
- volet fermé / vitre fermée (ne laisse passer ni la lumière ni le vent)
- volet ouvert / vitre ouverte (laisse passer la lumière et le vent)
- volet fermé / vitre ouverte (ne laisse pas passer la lumière mais laisse passer le vent)
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 Services Web
Web Service SMS Free
Pour les abonnés Free Mobile, un service de notification SMS pour vos appareils connectés est disponible. Pour l'utiliser il faut d'abord configurer le service ainsi : explications sur la mise en oeuvre du service SMS de free. Ensuite il vous suffit d'appeler le lien suivant : https://smsapi.free-mobile.fr/sendmsg avec les paramètres suivants :
- user : votre login
- pass : votre clé d’identification générée automatiquement par notre service
- ms : le contenu du SMS encodé sous forme d’url (Percent-encoding)
Par exemple, pour envoyer le message « Hello World ! » sur votre mobile, il vous faudra appeler :
https://smsapi.free-mobile.fr/sendmsg?user=XXXXXXXX&pass=XXXXXXXXXXXXXX&msg=Hello%20World%20!
Vous pouvez également, si vous le préférez, envoyer les paramètres en POST. Dans ce cas, le contenu du message n’a pas besoin d’être encodé.
Le code de retour HTTP indique le succès ou non de l’opération :
- 200 : Le SMS a été envoyé sur votre mobile
- 400 : Un des paramètres obligatoires est manquant
- 402 : Trop de SMS ont été envoyés en trop peu de temps
- 403 : Le service n’est pas activé sur l’espace abonné, ou login / clé incorrect.
- 500 : Erreur côté serveur. Veuillez réessayez ultérieurement.
Test sur une page Web du service SMS Free
Vous pouvez tester sur la page web suivante ,l'utilisation du service web SMS Free.
Service Web donnant la Météo des jours passés et à venir
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.
Certains de ces services Web retourne même des images construites fonction des informations météorologique du moment.
L'ensemble de ces services sont documentés sur la page http://www.prevision-meteo.ch/services.
Voici quelques exemples d'utilisation et mise en oeuvre :
- 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 ce lien.
API web Services Google
Utilisation des Services Web de Google appelés aussi APIs
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>
Pour chaque API vous devez créer un projet et obtenir une Clef <XXXXXKEYXXXXX>.
Ceci se déroule en 3 étapes :
- Activer Google Street View Image API
- Créer les clés appropriées
Liste des Services Web de Google
Les Services Web de Google se trouvent sur Google Developers
Selon l'APIs diverses explications vous seront fournies comme :
- 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 : (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
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 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 lien.
Exemple de Projet C# Console qui affiche les des noeuds de données XML
invocation d'un service HTTP REST avec la commande GET
Outils Logiciels pour les TDs
Visual Studio 2015 (Community)
Les prochains travaux dirigés utiliseront l'IDE Visual Studio 2015 ou supérieure en version professionnelle. Les versions Visual Studio Express ne suffisent pas pour développer des Services Web quelque soit la version !
Vous pouvez récupérer une version de Visual Studio 2015, avec un compte microsoft student.
Vous trouverez la marche à suivre sur Microsoft DreamSpark - Students
Telnet sous Windows
Installer le client Telnet à l’aide d’une ligne de commande
Sous Windows Server 2008 ou Windows Vista, vous pouvez utiliser la procédure de ligne de commande suivante pour installer le client Telnet. Pour installer le client Telnet à l’aide d’une ligne de commande
- Ouvrez une fenêtre d’invite de commandes. Cliquez sur Démarrer, tapez cmd dans la zone Rechercher et appuyez sur Entrée.
- Tapez la commande suivante :
pkgmgr /iu:"TelnetClient"
Si la boîte de dialogue Contrôle de compte d'utilisateur apparaît, confirmez que l'action affichée est celle que vous souhaitez, puis cliquez sur Continuer.
- Lorsque l’invite de commandes s’affiche de nouveau, l’installation est terminée.
Installer le client Telnet sous Windows Server 2008
Sous Windows Server 2008, vous pouvez utiliser l’outil Gestion des rôles pour installer les composants facultatifs. Pour installer le client Telnet sous Windows Server 2008
- Lancez le Gestionnaire de serveur. Cliquez sur Démarrer, cliquez avec le bouton droit sur Ordinateur, puis cliquez sur Gérer.
Si la boîte de dialogue Contrôle de compte d'utilisateur apparaît, confirmez que l'action affichée est celle que vous souhaitez, puis cliquez sur Continuer.
- Dans la section Résumé des fonctionnalités, cliquez sur Ajouter des fonctionnalités.
- Dans l’Assistant Ajout de fonctionnalités, sélectionnez Client Telnet, puis cliquez sur Suivant.
- Dans la page Confirmer les sélections pour l’installation, cliquez sur Installer.
- Une fois l’installation terminée, dans la page Résultats de l’installation, cliquez sur Fermer.