Architecture d’application

Slides:



Advertisements
Présentations similaires
GPO Group Policy Object
Advertisements

Vue d'ensemble Implémentation de la sécurité IPSec
Module 6 : Gestion et analyse du système DNS
Design Pattern MVC En PHP5.
Assistance à distance Parfois on se sent bien seul face à un problème informatique surtout si on n’est qu’un simple utilisateur. Lorsqu'un problème survient.
1 vidéogramme séance 2 du 13 février 2012 Micro Informatique au Cellier Joseph HOHN Séance du 13 février 2012 Sur le thème de Découverte de lordinateur.
La pharmacovigilance. Cette fenêtre permet de modifier le fichier qui contient l'essentiel des pathologies et médicaments afin de piloter lensemble.
12 novembre 2012 Grégory Petit
Prenez le contrôle avec Kinect
Formation Microsoft® Office Access 2007
MD 112 BELGIUM Sites Web Clubs proposés gratuitement par le MD.
Le portail des sports des associations de la ville de Nice
Prenez le contrôle de Kinect pour Windows SDK (Beta)
INITIATION AU GRAFCET E. HELLOT lycée P. Duez.
Page 1 Introduction à ATEasy 3.0 Page 2 Quest ce quATEasy 3.0? n Ensemble de développement très simple demploi n Conçu pour développer des bancs de test.
Etude des Technologies du Web services
PROJET DATELIEU 20 MARS 2012LCP SALLE B105 création du site internet avec Weebly.
Créer une animation simple Gif avec ImageReady.
Module 1 : Préparation de l'administration d'un serveur
Vue générale de Sharpdesk
Algorithmique et Programmation
La création de sinistre, la sélection à des fins de consultation, modification ou impression sont accessibles grâce à la barre de menu à gauche de l'écran.
Réalisée par :Samira RAHALI
Applications Chapitre B17 et C18
Architecture d’application
Création d’un programme :
Mode plan – Table des matières
Architecture d’application
Gestion des bases de données
Manipulation de formulaires en Javascript
Console MMC de Windows 2000 Présenté par Suzanne Savoie Cours 4.
Module 8 : Maintenance des logiciels à l'aide des services SUS
Module 2 : Préparation de l'analyse des performances du serveur
Module 4 : Maintenance des pilotes de périphériques
Création de menus. Depuis la page d’accueil de votre site, cliquez sur le lien [Login] puis saisissez les identifiants qui vous ont été attribués. Connectez-vous.
Patrons de conceptions de créations
‘‘Open Data base Connectivity‘‘
Création et présentation d’un tableau avec Word 2007
Traitement d’images Kinect – Partie 2.
Mise en oeuvre et exploitation
DOC-DEPOT.COM - ‘' Mon essentiel à l'abri en toute confiance '' 29 mai 2014 Copies d’écrans Acteur Social Avec commentaires.
Le Millo-Repos par.
Module 8 : Surveillance des performances de SQL Server
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
Présente Conception d’un petit site Web. 2 4-nov-03© Préambule Cette présentation fait suite à celle intitulée « Imaginer, concevoir, mettre.
Menu Structure : Divisions Diffusion Nationale TOULOUSE – Décembre 2008 Structure et Services « STS » Menu Structures : Divisions.
1 Utilisation du serveur FAD de l’ENSG Instruction aux utilisateurs 29 septembre 2012.
Conversation permanente
Mouvement d'un point A à un point B
S'initier au HTML et aux feuilles de style CSS Cours 5.
POWERPOINT.
Cours LCS N°4 Présenté par Mr: LALLALI
En route vers le déploiement . . .
Comprendre l’ergonomie du module STSWEB. La page d’accueil de STSWEB Code et Nom de l’établissement Version du module Campagne en cours Année affichée.
1 Windows 2003 Server Stratégie des comptes. 2 Windows 2003 Server Il faut tenir compte de ces 3 paramètres.
Création JJ Pellé novembre 2014Musique : David Schombert.
LE COURRIER ELECTRONIQUE
SommaireSommaire I. Présentation II. Création du projet III. Dessiner l’interface : o Attribuer une icône à l’application o Insérer une image animée o.
GUIDE D’UTILISATION SITE STE BATHILDE. Sommaire 1.Connexion - La page d’accueil 2.Gérer les articles: - Création - Modification - Suppression 3.Gérer.
Scénario Les scénarios permettent de modifier la position, taille … des calques au cours du temps. Son fonctionnement est très proche de celui de Macromedia.
Dreamweaver Séance 1.
Dreamweaver MX Jauneau Marie Claude-Antoine Zarate.
Dreamweaver le retour Avec Les Formulaires Les Calques
Introduction au HTML Qu’est ce que le HTML ?
Utilisation de la plateforme DomoLeaf en mode Démo 1.
1 Tableur Excel. 2 Introduction Un tableur est un logiciel permettant de manipuler des données numériques et d'effectuer automatiquement des calculs sur.
Chapitre 12 Surveillance des ressources et des performances Module S41.
Architecture d’application Kinect et modèle MVP. Plan de présentation O Introduction O Utilisation de la Kinect O Le modèle MVP.
Architecture d’application L’apprentissage automatique appliqué à l’architecture 3-tiers.
Transcription de la présentation:

Architecture d’application L’apprentissage automatique appliqué au modèle MVC

Plan de présentation Introduction Le modèle MVC Utilisation de la Kinect

Introduction L’objectif de ce cours de vous montrer le modèle MVC. Pour nous amuser un peu, nous allons utiliser le sdk 1,8 de la Kinect pour implémenter la théorie vue en classe. Pour sauver du temps, est-ce que vous pouvez télécharger le SDK pendant le cours.

Le modèle MVC Le Modèle-Vue-Contrôleur est un patron d'architecture et une méthode de conception qui organise globalement les classes d’une application. Ce paradigme divise l’application en trois partie: un modèle (modèle de données), une vue (présentation, interface utilisateur) et un contrôleur (logique de contrôle, gestion des événements, synchronisation).

Le modèle

Le modèle Le modèle représente le comportement de l'application : traitements des données, interactions avec la base de données, etc. Il décrit ou contient les données manipulées par l'application. Il assure la gestion de ces données et garantit leur intégrité. Dans le cas typique d'une base de données, c'est le modèle qui la gère. Le modèle offre des méthodes pour mettre à jour ces données (insertion, suppression, changement de valeur). Il offre aussi des méthodes pour récupérer ces données.

La vue

La vue La vue correspond à l'interface avec laquelle l'utilisateur interagit. Sa première tâche est de présenter les résultats. Sa seconde tâche est de recevoir toutes les actions de l'utilisateur (clic de souris, sélection d'une entrée, boutons, etc.). Ces différents événements sont envoyés au contrôleur. La vue n'effectue aucun traitement, elle se contente d'afficher les résultats des traitements effectués.

Le contrôleur

Le contrôleur Le contrôleur prend en charge la gestion des événements de synchronisation pour mettre à jour la vue ou le modèle et les synchroniser. Il reçoit tous les événements de l'utilisateur et enclenche les actions à effectuer. Si une action nécessite un changement des données, le contrôleur demande la modification des données au modèle, ce dernier avertit la vue que les données ont changée pour qu'elle se mette à jour. Certains événements de l'utilisateur ne concernent pas les données, mais la vue. Dans ce cas, le contrôleur demande à la vue de se modifier. Le contrôleur n'effectue aucun traitement, ne modifie aucune donnée. Il analyse la requête du client et se contente d'appeler le modèle adéquat et de renvoyer la vue correspondant à la demande.

En résumé En résumé, lorsqu'un client envoie une requête à l'application : la requête envoyée depuis la vue est analysée par le contrôleur (par exemple un clic de souris pour lancer un traitement de données), le contrôleur demande au modèle approprié d'effectuer les traitements et notifie à la vue que la requête est traitée, la vue notifiée fait une requête au modèle pour se mettre à jour (par exemple affiche le résultat du traitement via le modèle).

Quels sont les patrons de conceptions de MVC?

Réponse Observer: Met à jour toute les vues Strategy: on pourrait utiliser plusieurs types de modèles pour un Contrôleur dans la vue.

Différence avec l'Architecture trois tiers L'architecture trois tiers est un modèle en couches, c'est-à-dire, que chaque couche communique seulement avec ses couches adjacentes (supérieures et inférieures) et le flux de contrôle traverse le système de haut en bas; les couches supérieures contrôlent les couches inférieures, c'est-à-dire, que les couches supérieures sont toujours sources d'interaction (clients) alors que les couches inférieures ne font que répondre à des requêtes (serveurs). Dans le modèle MVC, il est généralement admis que la vue puisse consulter directement le modèle (lecture) sans passer par le contrôleur. Par contre, elle doit nécessairement passer par le contrôleur pour effectuer une modification (écriture). Ici, le flux de contrôle est inversé par rapport au modèle en couche, le contrôleur peut alors envoyer des requêtes à toutes les vues de manière à ce qu'elles se mettent à jour.

En résumé! J'émets toutefois quelques réserves concernant ce pattern. Bien qu'il soit très utile grâce à ses avantages à long terme, celui-ci complique grandement votre code et peut le rendre très difficile à comprendre pour une personne extérieure à l'équipe de développement. Le pattern MVC est un pattern composé du pattern observer et du pattern strategy. Avec ce pattern, le code est découpé en trois parties logiques qui communiquent entre elles : Le modèle (données) La vue (fenêtre) Le contrôleur qui lie les deux. L'implémentation du pattern observer permet au modèle de tenir informés ses observateurs. L'implémentation du pattern strategy permet à la vue d'avoir des contrôles différents.

Exemple Aller chercher les documents d’exercice sur le http://www.coupdeklaxon.ca Vue: Demander le nom d’un fichier. Ajouter un bouton pour activer la lecture du fichier Ajouter un RichTextBox pour afficher les résultats Controleur Vide pour le moment Modèle Nous allons remplir une structure de données pour les données et une pour les résultats. Résultat: Afficher les données dans le RichTextBox.

Maintenant Amusons nous avec la Kinect! Prenez le contrôle avec Kinect!

Évolution des interfaces Source: http://homes.di.unimi.it/borghese/Teaching/IntelligentSystems/Seminari/kinecttrack-intro-131031061347-phpapp02.pdf

Source: http://homes. di. unimi

Kinect ? Qu’est ce que c’est ? Kinect est une caméra créée par Microsoft La première caméra de détection et retranscription de mouvement. Contrôler des logiciels et des jeux sans souris ni clavier Interface naturelle (NUI) Windows Kinect VS Xbox Kinect

Capteur de profondeur(IR) Éléments de la Kinect Émeteur (IR) Caméra RVB Capteur de profondeur(IR) Moteur Microphones

Source: http://homes. di. unimi

Éléments de la Kinect Le +/- 27 degrés vient du fait qu’il est possible de modifier l’angle de la Kinect de +/- 27 degrés.

Éléments de la Kinect 0.8m/2.6 ft

Éléments de la Kinect 1.3’ 2.6’ 9.8’ 13.1’ 26.2’ .4 .8 3 4 8 Default Mode Near Pieds Mètres Inconnu Trop près Normal Trop loin

Possibilités de la Kinect Caméra BGRA Détection de la profondeur Détection de personne(Squelette) Reconnaissance vocale(si le temps le permet)

Avant de commencer Si vous en manquer un bout de ma présentation, vous pouvez aller sur le site suivant : http://www.microsoft.com/en-us/kinectforwindowsdev/Start.aspx Vous devez installer les éléments suivants Kinect for Windows SDK 1.8 Kinect for Windows Developer Toolkit 1.8 Connecter la Kinect (Tous les pilotes seront installés automatiquement)

La caméra Résolutions : Format : Evénementiel(AllFramesReady) 640 * 480, 1280 * 1024 Format : BGRA(Bleu, Vert, Rouge, Alpha) Evénementiel(AllFramesReady) Données fournies au travers d’un vecteur de bytes BGRA (Rouge, Vert, Bleu, Alpha) Voici 4 pixels B G R A .... 15 14 13 12 11 10 9 8 7 6 5 4

Caméra de profondeur Résolutions Evénementiel Stockage sur 16 bits 640x480 320x240 80x60 Evénementiel Stockage sur 16 bits 13 bits pour la distance en millimètres depuis le capteur 3 bits pour donner l’index de la personne reconnue

Caméra de profondeur Retourne la distance et l’index du joueur pour chaque pixel Ex: 320 x 240 = 76,800 pixels (x 16 bits) Distance en mm from Kinect ex: 2,000mm 1-6 Joueur(s) simultanément Ainsi pour chaque pixel, nous avons un 16-bit short

Caméra de profondeur Voici la représentation de deux pixels D P 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 D P 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 Depth Player Index

Pour connecter la Kinect N’oubliez pas d’ajouter la référence Microsoft.Kinect Nous allons créer une variable membre Nous allons se connecter à l’événement AllFramesReady Nous allons initialiser le bon angle pour la caméra(_sensor.ElevationAngle = 0;) Nous allons convertir les images reçus en Image et nous allons les afficher dans des picturebox.

Démo

Détection des squelettes Reconnaissance immédiate Evénementiel 6 squelettes détectés Chaque squelette donne sa position 2 squelettes suivis (tracked) Liste de joints (points de contrôles)

Squelettes détectés Identifiés Tracked

Points détectés sur un squelette ShoulderCenter Head ShoulderRight ShoulderLeft Spine ElbowRight ElbowLeft HipCenter HipRight HipLeft WristRight WristLeft HandRight HandLeft KneeRight KneeLeft AnkleRight AnkleLeft FootRight FootLeft

Coordonnées des jointures Z Axis X Axis Y Axis Negative Positive

Démo!

Conclusion Le modèle MVC est un modèle étoffé qui permet aisément la modification et l’extension d’une application.

Période de questions Vous avez des questions?