Utilisation du framework Wt pour le passage d'une application C++/Qt vers une application Web.



Documents pareils
WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

Point sur les solutions de développement d apps pour les périphériques mobiles

Les grandes facettes du développement Web Nicolas Thouvenin - Stéphane Gully

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

les techniques d'extraction, les formulaires et intégration dans un site WEB

Auteur LARDOUX Guillaume Contact Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA

Présentation du Framework BootstrapTwitter

PHP et le Cloud. All rights reserved. Zend Technologies, Inc.

Programmation Web. Madalina Croitoru IUT Montpellier

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Technologies Web avancées. ING1 SIGL Technologies Web avancées

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova

CMS & Indicateurs clé de performance. Julien COQUET - Hub Sales AgoraCMS, 25 avril 2014

DEVELOPPEMENT MOBILE - ETAT DE L ART DES SOLUTIONS

Module BD et sites WEB

Introduction à Eclipse

INGÉNIEUR - DÉVELOPPEUR SENIOR PHP. 28 ans - 8 ans d'expérience

S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i

Sage CRM. Sage CRM 7.3 Guide du portable

Serveur de travail collaboratif Michaël Hoste -

Programmation Web. Introduction

SYSTÈMES DE PUBLICATION POUR L INTERNET. Beatep Marie-France Landréa - Observatoire de Paris

SMPMKPOT=aKbKbKpK=a îéäçéééãéåí=çû^ééäáå~íáçåë= kçã~çéë=j=abbp^mm

Nouveautés joomla 3 1/14

RESUME DE CARRIERE. Alice JULIENNE. 23 ans Nationalité Française Développeur Web Front-End. Compétences

Environnements de développement (intégrés)

RESPONSIVE DESIGN : Comment offrir à vos sites une adaptabilité parfaite?

Canvas 3D et WebGL. Louis Giraud et Laetitia Montagny. 9 Avril Université Lyon 1

Description des pratiques à adopter pour la mise à jour du layout en utilisant le gestionnaire de conception de Sharepoint 2013

Astuce N 1 : Consulter mon catalogue articles en mode liste puis en mode fiche : recherche du prix d'une référence, consultation du stock

4D Web 2.0 Pack DATA LIVES HERE. TM. Internet Riche et Solutions Mobiles en toute simplicité. 4D Ajax Framework 4D Ajax for Dreamweaver 4D for Flex

Catalogue des formations

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

D'UN SITE INTERNET LES S D'UN SITE INTERNET PRATIQUE ET PERFORMANT PRATIQUE ET PERFORMANT

Service de covoiturage nouvelle-génération

Les pages suivantes présenteront : I. Le téléchargement et l installation du navigateur. II. L utilisation de Pep s à l aide de ce navigateur.

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09

Banque de données d offres & carte web interactive d offres

Perspectives en matière de portails géographiques et de 3D

Syfadis. > Configuration du poste client. Nous vous aidons à réussir. REFERENCE : Syfadis LMS - 20/06/2007. AUTEUR : Equipe technique Syfadis

Les rootkits navigateurs

Petite définition : Présentation :

Architectures web/bases de données

Table des matières. F. Saint-Germain / S. Carasco Document réalisé avec OpenOffice.org Page 1/13

Développement des Systèmes d Information

Formation Webmaster : Création de site Web Initiation + Approfondissement

Failles XSS : Principes, Catégories Démonstrations, Contre mesures

Table des matières. 1 À propos de ce manuel Icônes utilisées dans ce manuel Public visé Commentaires...

REQUEA. v PD 20 mars Mouvements d arrivée / départ de personnels Description produit

Programme de formation

Echosgraphik. Ce document sert uniquement à vous donner une vision sur ma manière de travailler et d appréhender un projet

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

Java pour le Web. Cours Java - F. Michel

Informatique & Systèmes de Communication. Stages de 12 à 16 semaines aux Etats-Unis

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

Android 4 Les fondamentaux du développement d'applications Java

Réalisation d'une application de gestion des candidatures

Sessions en ligne - QuestionPoint

III. Contexte. Objectifs. Philippe HOUE, Ecole des Mines de Nantes

Pentaho : Comparatif fonctionnel entre la version Communautaire (gratuite) et la version Entreprise (payante) Table des matières

Ateliers Python+Qt : Premiers pas : Comment développez ses propres interfaces graphiques sur le RaspberryPi?

Syfadis. > Configuration du poste client. Nous vous aidons à réussir. REFERENCE : Syfadis LMS - 12/09/2008. AUTEUR : Equipe technique Syfadis

Firefox pour Android. Guide de l utilisateur. press-fr@mozilla.com

Introduction à. Oracle Application Express

Initiation à html et à la création d'un site web

Stage Ingénieur en développement logiciel/modélisation 3D

Guide de réalisation d une campagne marketing

Optimiser pour les appareils mobiles

Informations générales. Technologies. css3-html5-php-ajax-j-query-mootools-action-script3

Architecture existante (principale)

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Cahier des charges. Liny EIP 2013 EPITECH. seban_j, jaspar_y, ringue_t, rousse_g, thierr_o

FreeAnalysis. Schema Designer. Cubes

Karim EL KHALIFA Web developer

Survol des nouveautés

WordPress : principes et fonctionnement

Visual Paradigm Contraintes inter-associations

Couplage d une base de données documentaire à une visualisation interactive 3D sur l Internet

STAGE2 STAGIAIRE / NIKOLAOS TSOLAKIS. 16/02/2015 : choix des outils nécessités pour l application : Didier Kolb, le maitre de stage

OMGL 6 Cahier des charges

LIVRE BLANC COMMUNICATIONS MARKETING ET CRM

Une solution opensource d'affichage dynamique - XIBO

Modernisation et développement d applications IBM i Stratégies, technologies et outils

Webmaster / Webdesigner / Wordpress

App vs. WebApp Best Of Mobile 5 avril 2012

OMGL6 Dossier de Spécifications

Xavier Costa. «Write once, run anywhere»

La nouvelle plateforme communautaire dédiée à l enseignement en ligne

Table des matières. Partie I Concepts de base Préface... VII

THÉMATIQUES. Comprendre les frameworks productifs. Découvrir leurs usages. Synthèse

Hébergement de site web Damien Nouvel

10. Base de données et Web. OlivierCuré

Website-CMS / Enterprise-CMS Module de traduction

TP JAVASCRIPT OMI4 TP5 SRC

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org

Développeur - Conseiller - Formateur web

Le 1 er octobre 2013 sur RegionsJob. Les meilleurs développeurs IT en ligne sur RegionsJob

PFE Télécommunications. Pré-rapport à l'issue des 6 premières semaines de stage. Page 1 sur 5 1 %

Transcription:

Utilisation du framework Wt pour le passage d'une application C++/Qt vers une application Web. Laurent Garnier 22 Octobre 2012 8èmes journées Informatique IN2P3-IRFU La londe les maures

Sommaire Faire une application Web à : Pourquoi? L'application existante Modèle MVC Solutions potentielles Wt? Wt en pratique

L'idée : Faire une application Web à l'image d'un programme déjà existant Pourquoi??? C'est une application qui tourne sur tout les browser Web (Safari, IE, Firefox) Et donc également sur les tablettes et téléphones Avantages : Disponible partout dès lors qu'il y a une internet Aucun problèmes de compatibilité Windows/Mac/Linux (*) Même interface graphique sur toutes les plates-formes (*) Rien à installer, rien à compiler N'importe qui peut l'utliser, n'importe où (*) : Sauf exceptions Inconvénients : Utilisation des langages de programmation natifs Web: HTML, Javascript ou via des plugins: Flash, Direct X, Java,...

Quelle est l'application existante : Application utilisée dans le cadre de TP informatique en enseignement au LAL Extrait d'un logiciel développé pour POCI. Sonde per-opératoire POCI : gamma-caméra Aide au chirurgien dans le cadre du cancer du sein Repérage des ganglions marqués par un marqueur radioactif environ 20 fichiers (7000 lignes de code) écris en C++ partie interface utilisateur écrite avec le framework Qt

DrawQt : Présentation

Quel sont nos contraintes Ne pas refaire l'application de A à Z! Faire une application ayant l'interface graphique la plus proche de l'application native Avoir la même interactivité Pour cela nous avons besoin d'outils : Les outils "traditionnels" de développement Web sont orientés "pages" Nos outils doivent prendre en compte les différents browser web, smartphones et tablettes Etre sécurisé S'appuyer au maximum sur le code existant

Réutilisons au maximum l'existant! Modèle existant : Diagramme de classes

Modèle MVC? MVC : Modèle-Vue-Controleur Patron de conception destiné à répondre aux besoins des applications interactives en séparant la partie représentation (Vue) de la partie gestion des données (Modèle).

MVC : Plus en détails Le modèle : Représente le coeur de l'application : Traitement des données, interaction avec les bases de données,... La vue : Composante "présentation" de l'application, peut-être graphique/web/console/... Ce avec quoi l'utilisateur interagit par des évenements : clic souris/touches/trackpad/... Plusieurs vues sont possibles au sein d'une même application, par exemple dans le cas d'une application multi-plateformes Le controleur : Prend en charge la gestion des événements pour mettre à jour la vue et le modèle Reçoit les événements utilisateur et lance les actions a effectuer

MVC : En pratique Notre application ne respecte pas exactement le modèle MVC, mais les fonction "modèles", "vue", "controleur" sont clairement identifiable et différentiées

Quelles solutions? Tout réécrire "from scratch" en Web 2.0? Utiliser un framework existant avec le moins de changements possibles pour notre code Quelques exemples de framework (merci wikipedia)

Quelles solutions possibles?

Quelles solutions possibles?

Quelles solutions possibles?

Quelles solutions possibles?

Quelles solutions possibles?

Quelles solutions possibles?

Beaucoup de candidats potentiels! PHP, Javascript, Python, JAVA, Perl, Ruby,... C'est bien, mais... Pourquoi ne pas utiliser directement un framework en C++??

Navigateur Web -> C++ (ligne de commande?)

Navigateur Web -> C++ (script CGI?)

Navigateur Web -> C++ (Intégration du serveur Web dans l'appli C++?)

Wt, un framework Web en C ++ Wt est une bibliothèque de classes C++ pour développer des applications Web Contient tout le nécéssaire pour faire toute la "Vue" du modèle MVC, orientée Web Nombreux composants graphiques, composants interactifs, gestion des feuilles de style, layout Mechanisme de signal/slot pour la gestion des événements Composants de dessin, intégration de composants WebGL,... Utilise la librarie boost Serveur Web s curis intégré dans l'application Tout les composants de la bibliothèques Wt sont le reflet de la bibliothèque Qt! Pour dessinner un Bouton dans Qt: QPushButton, dans Wt: WPushButton!

Wt dans la vraie vie Très peu de travail pour passer une application écrite en C++ avec le framework Qt => Remplacer les "Q" des classes Qt par des "W", c'est "presque" tout :-) Possibilité de mixer du Qt/Wt sans soucis pour toutes les classes non graphiques

DrawWt : classe Rectangle

DrawWt : classe WFrame

Wt : Comment ça marche? Installation : très simple, tout est sur le site web (2 packages : boost + wt) Programmation : Wt est un framework C++, si vous connaissez le C++, vous pouvez coder votre appli web sans effort. Si en plus votre application utilise la bibliothèque Qt, encore moins d'efforts! Démarrer votre serveur Web : La création d'un application Wt va inclure un serveur web dans votre application. Il suffit de lancer votre application et de lancer votre browser

Démo! :../Darwin/DrawWt.exe --docroot../data --http-address 0.0.0.0 --http-port 8080 Fichier Affichage R C E C P

Références Wt : http://www.webtoolkit.eu/wt/features, fiche plume DrawQt (enseignement M2 au LAL) Wikipedia : Comparison of web application frameworks