Structurer son code. Design patterns...
|
|
- Beatrice Piché
- il y a 8 ans
- Total affichages :
Transcription
1 Bonjour 1
2 Structurer son code Design patterns... 2
3 Bonnes pratiques Limiter l héritage Référencer des interfaces plutôt que des implémentations Segmentation des interfaces par responsabilité métier 3
4 Limites de l héritage Base SousClasse1 SousClasse2 ClasseFinale 4
5 Limites de l héritage Base Classe A SousClasse1 Classe B SousClasse2...?! SousClasseN 5
6 Encapsulation Limiter le nombre de lignes d un traitement Limiter la «complexité cyclomatique» (imbrications multiple de boucles et conditions) Favoriser la réutilisation 6
7 Le couplage Classe 1 Interface Classe 2 7
8 Interfaces vs Implémentations Interchangeabilité des implémentations Interface Implementation 1? Implementation 2 8
9 Evoluer par ajout vs Evoluer par modification Usage des interfaces Principe de composition 9
10 Design Patterns Bonnes pratiques de développement 10
11 Définition Solution générique, applicable à un problème récurrent dans la conception d un programme 11
12 Objectifs Eviter les erreurs classiques de conception Partager une approche commune 12
13 Mythes et réalités C est Une méthodologie générale Une approche Ce n est pas Une technologie Restreint à un langage en particulier 13
14 Catégories de DP Création Politique de création des instances d objets de votre programme Structuration «Typologie» de classes : comment concevoir ses classes pour qu elles assument un rôle particulier Comportement «Orchestration» : comment les classes vont-elles communiquer? 14
15 Création Singleton Classe ne pouvant être instanciée qu une fois au sein de l application Abstract Factory Classe en charge de l instanciation d objets d une certaine famille 15
16 Création Builder Principe de segmenter un processus de création complexe en traitements unitaires, pouvant servir dans différents contextes Factory Method Interface proposant des méthodes de création d objets, dont le détail est délégué aux implémentations 16
17 Comportement Object Pool Principe de recycler des instances d objets non utilisées plutôt qu en recréer de nouvelles Prototype Principe de préparer une instance d objet et en retourner une copie à chaque demande 17
18 Structuration Adapter Classe ou interface créée dans le but d utiliser un élément ou une librairie non compatible avec votre architecture Composite Principe de décomposition d un ensemble en souspartie (ex. arbre) Decorator Classe en charge d ajouter des fonctionnalités à une autre sans utiliser de technique d héritage 18
19 Structuration Facade Proposer une interface simple exposant des fonctionnalités d un sous-système complexe Proxy Objet encapsulant un autre objet de façon à en modifier le comportement initialement prévu 19
20 Comportement State Principe d une classe effectuant un traitement différent en fonction de son état. (ex. workflow) Strategy Interchangeabilité d une classe implémentant un comportement à l exécution Command Principe de décorréler une requête de son exécution, délégant cette exécution à une ou plusieurs classes en charge d une action unitaire : la commande 20
21 Comportement Mediator Classe par laquelle va transiter un ensemble de traitements d une même nature, de façon à offrir un point nevralgique assurant leur coordination. Memento Principe de conservation de points de reprise, permettant à un programme de restaurer son état à un instant passé. Observer Instance notifiée lorsqu une autre effectue un certain type de traitement. L observer s enregistre auprès d un sujet afin d être appelé au moment opportun. 21
22 Comportement Template method Principe d une classe abstraite définissant des traitements dont certaines parties sont déléguées aux classes filles. Visitor Classe dont le rôle est de parcourir un ensemble d élément et d y opérer des modifications en fonction de leur type 22
23 Exemples Composite Arbre Adapter Transformateur de courant Decorator Cadre photo Facade Machine à laver Proxy Coque d iphone State Distributeur automatique Strategy Machine à café Commande Télécommande Mediator Panneau électrique Memento Jeu vidéo Observer Panneau solaire Visitor Facteur 23
24 Strategy Une interface, plusieurs implémentations, une implémentation définie à l exécution Exécution de méthodes dynamiques (type callback ou pointeur sur fonction) Interface Implémentation 1 Implémentation 2 24
25 MVC Modèle Représentation logique de données métier modélisée sous forme d'objets véhicules d'information et non de logique Vue Représentation visuelle / éléments de l'interface utilisateur Controller Programme en charge d alimenter les données utilisées par la vue pour sont affichage de réceptionner, contrôler et traiter les messages issus de l'interface utilisateur 25
26 MVC sur client lourd Contrôleur = code défini en réaction aux événements de la vue, interagissant avec les composants Vue = vue de l écran sur laquelle on place les composants 26
27 Quelques questions clé Que vais-je réutiliser? Ce mode de fonctionnement est-il susceptible d évoluer prochainement? Les noms que j utilise sont-ils clairs? Si cette règle change, quels seraient les impacts? 27
28 Plus concrètement Séparation des responsabilités Classes «modèle» (Value Objects) Classes d accès au données Classes en charge d appliquer les règles de gestion métier Classes en charge de la présentation des données à la vue Classes de vue en charge de l affichage 28
29 Architecture Accès aux données Données Services métiers Métier Modèle Contrôle des vues Présentation Vues 29
30 Plus concrètement Utiliser les packages pour catégoriser vos classes par couche Proposer des interfaces pour le dialogue entre ces couches (métier et données notamment) 30
31 Exemple VO = Value Object (Objet valué) DAO = Data Access Object (Objet d accès aux données) BilletVO UtilisateurVO UtilisateurDAO BlogDAO BilletDAO CommentaireDAO CommentaireVO BlogService AccueilController AccueilView PageBilletController PageBilletView 31
32 BlogService va Contrôler les droits d accès 2. Vérifier la cohérence des données transmises 3. Appliquer les règles de gestion (ex. notifier l administrateur si un billet contient de mots grossiers...) 4. Transmettre les objets vérifiés à la couche d accès aux données 5. Eventuellement combiner différentes données issues de la couche d accès aux données pour fournir un résultat complet 32
33 BlogService Utilisateur authentifier(string login, String password) boolean ecrirebillet(utilisateur auteur, Billet billetecrit) boolean supprimerbillet(billet billetasupprimer) List<Billet> getbilletsaveccommentaires() boolean ajoutercommentaire(commentaire commentaire, Billet billetcommente) boolean supprimercommentaire(commentaire commentaire) boolean deconnexion(utilisateur utilisateur) 33
34 BilletDAO boolean ajouterbillet(billet billet) boolean supprimerbillet(integer idbillet) List<Billet> listerbillets(boolean tripardate) 34
35 CommentaireDAO boolean ajoutercommentaire(commentaire commentaireainserer) boolean supprimercommentaire(integer idcommentaire) Map<Integer, List<Commentaire>> listercommentaireparbillet(set<integer> idbillets) 35
36 Automatisation 36
37 Pourquoi? Accélérer les tâches répétitives Réduire le risque d erreur 37
38 Approches Script Shell / batch, Ant, Grunt.js, Gradle... Métadonnées Maven, Gradle... 38
39 Script Avantages Aucune limite #!/bin/sh javac... cp... echo Terminé! Inconvénients Dépendant de l OS Complexe Pas de off javac... copy... echo Terminé! 39
40 Ant Avantages Simple Java : multiplateforme Extensible Intégré à la majorité des IDE du marché Inconvénients <?xml version="1.0" encoding="utf-8"?> <project name="osmf.samples.exampleplayer" default="build"> <property environment="env" /> <property file="./build.properties" /> <!-- compile project --> <target name="build" depends="clean-bin" > <javac> </javac> </target> <!-- cleans the output directory --> <target name="clean-bin"> <sequential> <delete includeemptydirs="true" quiet="true"> <fileset dir="${basedir}"> <include name="${output.bin}/**/*" /> </fileset> </delete> </sequential> </target> </project> Pas de standard 40
41 Maven Avantages Extensible Définit un standard Dépasse la simple automatisation de tâches src main java resources test java pom.xml Gestion de dépendances transitives Déploiement... Inconvénients Plus long à apprendre qu Ant 41
42 Gradle Avantages Très flexible Groovy : task hello { dolast { println 'Hello world!' } } multiplateforme script et non XML Définit un standard Personnalisation plus simple que Maven Inconvénients Temps d apprentissage 42
43 Grunt.js Avantages Orienté web Compression de scripts JS, CSS Javascript: multiplateforme Simple d accès Inconvénients Jeune Orienté web module.exports = function(grunt) { // Project configuration. grunt.initconfig({ pkg: grunt.file.readjson('package.json'), uglify: { options: { banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n' }, build: { src: 'src/<%= pkg.name %>.js', dest: 'build/<%= pkg.name %>.min.js' } } }); // Load the plugin that provides the "uglify" task. grunt.loadnpmtasks('grunt-contrib-uglify'); }; // Default task(s). grunt.registertask('default', ['uglify']); 43
44 Ant Principe Fichier build.xml Déclaration d un projet (project), composé de «cibles» (target) Une cible est un enchaînement de tâches (tasks) 44
45 Ant Installation Dans eclipse Sinon : binaire téléchargeable sur le site ajout du répertoire «bin» à la variable d environnement «PATH» Exécution ant build.xml 45
46 Ant Exemple <?xml version="1.0"?> <project name="magentomodule" basedir=".." default="copylocal"> <property name="magento.installdir" value="/applications/mamp/htdocs/magento"/> <target name="copylocal"> <copy todir="${magento.installdir}/app/code/local" overwrite="true"> <fileset dir="${basedir}/app/code/local"/> </copy> </target> </project> 46
47 Principale tâches Ant <property name="chemin" value="c:\temp \Build" /> Définir une variable <echo>démarrage...</echo> Afficher un message sur la sortie <fileset dir="./"> Définit un ensemble de fichiers listés à partir d un répertoire <include name="**/*.jar" /> Inclut tous les fichiers JAR (dans un fileset). Opposé : exclude 47
48 Principale tâches Ant <classpath> Redéfinit le classpath utilisé par la tâche en cours d exécution <javac srcdir="./src" destdir="./build" /> Compile des fichiers Java en.class <jar jarfile="./build/malib.jar" basedir="./build" /> Crée un fichier JAR à partir de sources compilées <mkdir> <copy> <delete> Opération sur le système de fichiers 48
49 Maven Configuration et organisation projet 49
50 Qu est-ce que Maven? Permet d automatiser la gestion et la construction de projets Java Propose un cadre standard Organisation des sources, tests unitaires Description de l équipe, du référentiel de sources Gestion des dépendances et dépendances transitives Profils de compilation 50
51 Comment l utiliser? pom.xml Descripteur d un projet 51
52 pom.xml <build> Décrit les fonctions relatives à la construction d un projet (classpath, version de java...) <profiles> Profils de construction, permet de personnaliser la totalité du pom selon des identifiants de profil 52
53 pom.xml <dependencies> Liste les dépendances selon un format «qualifié» groupid : nom d un groupe (en général le préfixe du package principal) artifactid : nom de la dépendance (en général le nom du projet) version : version du projet type : format (jar, pom...) scope : le contexte pour lequel on a besoin de la dépendance (compilation, runtime...) 53
54 pom.xml basique <project xmlns=" xmlns:xsi=" xsi:schemalocation=" <modelversion>4.0.0</modelversion> <groupid>com.mycompany.app</groupid> <artifactid>my-app</artifactid> <packaging>jar</packaging> <version>1.0-snapshot</version> <name>maven Quick Start Archetype</name> <url> <dependencies> <dependency> <groupid>junit</groupid> <artifactid>junit</artifactid> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project> 54
55 Structure de répertoires src main Principales sources du programme java Sources Java resources Fichier non Java utilisé dans le cadre de l exécution du programme test Fichiers relatifs aux tests unitaires java Sources des tests unitaires resources Fichiers non Java utilisés uniquement dans le cadre des tests unitaires target Résultat de la compilation 55
56 Comment l utiliser? L utilitaire en ligne de commande, depuis l emplacement du fichier pom.xml Avec [goal] = mvn [goal] clean : supprimer les éléments précédemment construits test : lancer les tests unitaires package : packager (un WAR, un JAR) deploy : déployer l application sur le serveur cible install : installer le JAR sur le repository local... 56
57 Installons Maven... Anatomie de l installation bin Contient l exécutable mvn conf Contient le fichier de configuration settings.xml (utile pour le proxy) 57
58 Premier projet Maven Les archetypes permettent de créer un projet, prêt à démarrer Il existe de nombreux archetypes contribués par la communauté 58
59 Premier projet Maven mvn archetype:generate \ -DarchetypeGroupId=org.apache.maven.archetypes \ -DgroupId=com.mycompany.app \ -DartifactId=my-app 59
60 Pratique avec eclipse 60
61 Pratique avec eclipse 61
62 Maven - settings.xml <localrepository> E:\Dev... </localrepository> Répertoire contenant les JARs gérés par Maven 62
63 Pratique - Projet Maven 63
64 Pratique - Projet Maven 64
65 Pratique - Projet Maven 65
66 Pratique - Projet Maven 66
67 Résolution de dépendances Réseau interne Internet Dépôt local Dépôt public Poste interne Synchronisation repo1.maven.org 67
68 Proxy Maven Réseau interne Internet Dépôt local Dépôt d entreprise Dépôt public Poste interne Synchronisation Nexus Synchronisation repo1.maven.org 68
69 Proxy Maven Serveur permettant d installer des dépendances personnalisées 69
70 Maven - settings.xml <mirrors> <mirror> <id>nexus</id> <mirrorof>*</mirrorof> <url> </mirror> </mirrors> Miroir du référentiel central de Maven 70
71 Maven - settings.xml <profiles> <profile> <id>nexus</id> <repositories> <repository> <id>central</id> <url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> <pluginrepositories> <pluginrepository> <id>central</id> <url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </pluginrepository> </pluginrepositories> </profile> </profiles> Configuration du miroir pour prendre les dépendances et les plugins 71
72 Maven - settings.xml <activeprofiles> <activeprofile>nexus</activeprofile> </activeprofiles> Activation du profil 72
73 Intégration continue 73
74 Intégration continue L'intégration continue est le principe de faire d'un processus d'intégration logiciel un «non-évènement» - Martin Fowler - 74
75 Objectifs Définir un processus répétable Automatiser ce processus 75
76 Principe Que se passe-t-il entre le moment ou vous terminez un développement et le moment où votre application est déployée et disponible pour votre client? 76
77 Principales étapes 1.Déclencher le processus 2.Mise à jour des sources 3.Compilation 4.Tests unitaires 5.Construction 6.Déploiement 77
78 Principales étapes 1.cron... 2.svn update... 3.javac... 4.java -cp junit.jar... 5.jar -cvf monappli.war... 6.copy... 78
79 Moyens «A la main» Script / Ant Basique Maven (deploy), Gradle Outillé Hudson, CruiseControl, Jenkins 79
80 Outils Hudson Ancêtre de Jenkins Jenkins Standard actuel du marché, multi-langages, simple d accès CruiseControl Moins «user-friendly» que Jenkins, néammoins répandu Continuum Porté par Apache 80
81 Jenkins Configuration Définir le JDK Installations Ant, Maven, ou relatives aux plugins SMTP pour mail Plugins Compilation (.NET, Ruby, C++...) Déploiement (FTP, CIFS,...) Notifications (Campfire, Google, Growl, IRC, Jabber...) Stats (Sonar, Selenium...)... 81
82 Jenkins Jobs Définition d un processus d intégration continue Dashboard de suivi de l historique des exécutions de jobs Consultation de rapports d analyse 82
83 Jenkins : Demo 83
84 Détail d un job 84
Hudson Serveur d Intégration Continue. Adrien Lecharpentier IR3 Ingénieurs2000, Université de Marne la Vallée
Hudson Serveur d Intégration Continue IR3 Ingénieurs2000, Université de Marne la Vallée Hudson 1. Qu est-ce que s est? 2. A quoi ça sert? 3. Comment ça fonctionne? 4. Comment s en sert-on? 5. Pour aller
Plus en détailConstruction et déploiement d applications Java avec Maven, Archiva, Groovy et Jenkins
Construction et déploiement d applications Java avec Maven, Archiva, Groovy et Jenkins Un retour d expérience Patrice RINGOT Ingénieur en développement et déploiement d applications - INIST/CNRS Rencontre
Plus en détailSonarQube : une autre vision de votre logiciel
SonarQube : une autre vision de votre logiciel Dimitri Durieux Chef de projet Mons, 19 mars 2015 Centre d Excellence en Technologies de l Information et de la Communication Qui suis-je? Chef de projet
Plus en détailVotre premier projet Android
3 Votre premier projet Android Maintenant que le SDK Android est installé, il est temps de créer votre premier projet. La bonne nouvelle est qu il n exige aucune ligne de code les outils Android créent
Plus en détailEnvironnement de Développement Outils Open-Source d'integration Continue. Exemple de Mise en Oeuvre
L informatique qui réinvente la finance Environnement de Développement Outils Open-Source d'integration Continue Exemple de Mise en Oeuvre Arnaud NAUWYNCK arnaud.nauwynck@gmail.com Plan Introduction Cycle
Plus en détailAPIs de table pour SQL Server
2013 D - Pratique APIs de table pour SQL Server Établissement: HEG Arc Haute école Arc Gestion Réalisé par: M. Informaticien de gestion 2009-2013 S adresse à: M.Fabrice Camus Date de début et de fin du
Plus en détailJOnAS Day 5.1. Outils de développements
JOnAS Day 5.1 Outils de développements Agenda Introduction Plugin Eclipse (JOPE) Plugin NetBeans (JOnbAS) Cargo 2 Bull, 2009 JOnAS Day 5.1 Objectifs - Réduire les temps de développement - Construction
Plus en détailPlan. Patrons de conception. Motivations. Design Pattern : principe. Philippe Collet
Plan Patrons de conception Philippe Collet Master 1 Informatique 2005-2006 http://deptinfo.unice.fr/twiki/bin/view/minfo/gloo Introduction Premier exemple Principes et classification Présentation des patrons
Plus en détail1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7
Sommaire 1-Introduction 2 1-1- BPM (Business Process Management)..2 1-2 J-Boss JBPM 2 2-Installation de JBPM 3 2-1 Architecture de JOBSS JBPM 3 2-2 Installation du moteur JBoss JBPM et le serveur d application
Plus en détailTraitement de données
Traitement de données Présentation du module TINI Présentation du module : Le module Tini se décline en plusieurs versions, il est constitué d une carte d application et d un module processeur : Les modules
Plus en détailTP1 : Initiation à Java et Eclipse
TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les
Plus en détailCQP Développeur Nouvelles Technologies (DNT)
ORGANISME REFERENCE STAGE : 26572 20 rue de l Arcade 75 008 PARIS CONTACT Couverture géographique : M. Frédéric DIOLEZ Bordeaux, Rouen, Lyon, Toulouse, Marseille Tél. : 09 88 66 17 40 Nantes, Lille, Strasbourg,
Plus en détailLe moteur de workflow JBPM
Le moteur de workflow Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE HAVRE CEDEX Claude.Duvallet@gmail.com http://litis.univ-lehavre.fr/ duvallet/
Plus en détailGlassfish dans le milieu médical. Sun Aquarium Paris 26 Juin 2009 Jacky Renno (jacky.renno@capgemini.com)
Glassfish dans le milieu médical Jacky Renno (jacky.renno@capgemini.com) Plan Contexte Métier Technique Eléments structurants Approche Méthodologie et Outillage Choix de Glassfish Automatisation Industrialisation
Plus en détailBases Java - Eclipse / Netbeans
Institut Galilée PDJ Année 2014-2015 Master 1 Environnements Java T.P. 1 Bases Java - Eclipse / Netbeans Il existe plusieurs environnements Java. Il est ESSENTIEL d utiliser la bonne version, et un environnement
Plus en détailInitiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr
Initiation à JAVA et à la programmation objet raphael.bolze@ens-lyon.fr O b j e c t i f s Découvrir un langage de programmation objet. Découvrir l'environnement java Découvrir les concepts de la programmation
Plus en détailProjet de développement
Projet de développement Introduction à Eclipse Philippe Collet Licence 3 MIAGE S6 2012-2013 http://miageprojet2.unice.fr/index.php?title=user:philippecollet/projet_de_développement_2012-2013 Plan r Application
Plus en détailDéveloppement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS
Avant de commencer 1. Introduction 15 2. HTML5 oui, mais pas que... 15 2.1 HTML5 16 2.2 JavaScript 17 2.3 CSS 18 3. Les outils 18 Préparation des outils et création du projet 1. Introduction 21 2. Team
Plus en détailCatalogue Formation «Vanilla»
Catalogue Formation «Vanilla» Date : octobre 2009 Table des matières Liste des Formations...2 Contenu des formations...3 Vanilla FastTrack...3 Vanilla Architecture...5 Enterprise Services...6 BIPortail...7
Plus en détailExpert technique J2EE
EHRET Guillaume 25, rue de la Richelandiere 42100 SAINT ETIENNE 32 ans - Célibataire Expert technique J2EE Domaines de compétences Environnement et langages Expertise en programmation Java et en architecture
Plus en détailDevenez un véritable développeur web en 3 mois!
Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web
Plus en détailJournée IJD. Moussa Tari Bako Bachir. 25 juin 2012 ARLES/INRIA. Introduction Travail Chez ARLES
Journée IJD Moussa Tari Bako Bachir ARLES/INRIA 25 juin 2012 1/27 Moussa Tari Bako Bachir Plan Introduction Principes générales du système d intégration mis en place Les sources intégrées Tests de monté
Plus en détailIntroduction à Eclipse
Introduction à Eclipse Eclipse IDE est un environnement de développement intégré libre (le terme Eclipse désigne également le projet correspondant, lancé par IBM) extensible, universel et polyvalent, permettant
Plus en détailEnvironnements de développement (intégrés)
Environnements de développement (intégrés) Introduction aux EDI, la plateforme Eclipse Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure
Plus en détailL Intégration Continue & Agilité
L Intégration Continue & Agilité " des outils efficaces. " Agile NANTES - Mars 2010 17/03/2010 Agile Nantes Introduction Qui sommes nous? Fabian PIAU fabian.piau@netapsys.fr Ingénieur développement chez
Plus en détailTD/TP 1 Introduction au SDK d Android
TD/TP 1 Introduction au SDK d Android Romain Raveaux 1 Introduction Android est un système d'exploitation pour téléphone portable de nouvelle génération développé par Google. Celui-ci met à disposition
Plus en détailJava pour le Web. Cours Java - F. Michel
Java pour le Web Cours Java - F. Michel Introduction à JEE 6 (ex J2EE) Historique Qu'est-ce que JEE JEE : Java Entreprise Edition (ex J2EE) 1. Une technologie outils liés au langage Java + des spécifications
Plus en détailObjectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui
Formation PARTIE 1 : ARCHITECTURE APPLICATIVE DUREE : 5 h Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui automatisent les fonctions Définir une architecture
Plus en détailGénérer du code à partir d une description de haut niveau
Cedric Dumoulin Générer du code à partir d une description de haut niveau Ce projet vise à fournir un environnement de développement permettant de modéliser des UI Android à un haut niveau d abstraction,
Plus en détailExploitation et Administration de Silverpeas
Exploitation et Administration de Guide de l administrateur Version 5 Version : 5 Diffusion : Auteurs : David Lesimple Clients Approbation : Date modification : 30/04/2015 Guide Administration v5.odt Page
Plus en détail7 Développement d une application de MapReduce
7 Développement d une application de MapReduce Ecrire un programme d Hadoop demande un processus : écrire une fonction map, une fonction reduce et tester localement. Ecrire ensuite un programme pour lancer
Plus en détailFormation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux
Formation Webase 5 Ses secrets, de l architecture MVC à l application Web Adrien Grand Centrale Réseaux Sommaire 1 Obtenir des informations sur Webase 5 2 Composants de Webase 5 Un
Plus en détailArchitecture d'entreprise : Guide Pratique de l'architecture Logique
Guides Pratiques Objecteering Architecture d'entreprise : Guide Pratique de l'architecture Logique Auteur : Version : 1.0 Copyright : Softeam Equipe Conseil Softeam Supervisée par Philippe Desfray Softeam
Plus en détailLes architectures 3-tiers Partie I : les applications WEB
Les architectures 3-tiers Partie I : les applications WEB 1 Evolutions logicielles Des objets aux composants... Objets JavaBeans, Objets ActiveX, Objets COM,... 1 Evolutions logicielles Des objets aux
Plus en détailCours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com
Cours Plugin Eclipse Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com 1 Qui suis-je? Ancien étudiant de Jussieu - Paris VI Diplomé du Master Technologies
Plus en détailGECKO Software. Introduction à MOBIDICK. Modular But Integrated Application Framework
Introduction à MOBIDICK Modular But Integrated Application Framework MOBIDICK 3 Standard Edition Community & Enterprise Principaux avantages et fonctionnalités GECKO Software http://consulting.bygecko.com
Plus en détailECLIPSE ET PDT (Php development tools)
ECLIPSE ET PDT (Php development tools) Eclipse Eclipse est un IDE (Integrated Development Environment)).C estun projet de la Fondation Eclipse visant à développer tout un environnement de développement
Plus en détailQuelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)
Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07
Plus en détailUtilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008
Introduction Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008 Forms 10g permet l utilisation du JAVA côté client et côté application
Plus en détailAutomatisation de l administration système
Automatisation de l administration système Plan Problèmatique : trop de systèmes, trop de solutions Typage des solutions Puppet : gestion de configuration de systèmes Capistrano : déploiement d applications
Plus en détailles techniques d'extraction, les formulaires et intégration dans un site WEB
les techniques d'extraction, les formulaires et intégration dans un site WEB Edyta Bellouni MSHS-T, UMS838 Plan L extraction des données pour un site en ligne Architecture et techniques Les différents
Plus en détailProjet de développement. Introduction à Eclipse. Application à votre projet. Philippe Collet. Organisation. Cours 1 : principes généraux - svn
1 Organisation Projet de développement Introduction à Eclipse Philippe Collet Licence 3 Informatique Cours 1 : principes généraux - svn Cours 2 : Redmine et gestion de projet Cours 3 : Introduction à Eclipse
Plus en détailTP1. Outils Java Eléments de correction
c sep. 2008, v2.1 Java TP1. Outils Java Eléments de correction Sébastien Jean Le but de ce TP, sur une séance, est de se familiariser avec les outils de développement et de documentation Java fournis par
Plus en détailProgrammer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)
Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes
Plus en détailarcopole Studio Annexe 4 Intégration LDAP et processus d authentification Site du programme arcopole : www.arcopole.fr
arcopole Studio Annexe 4 Intégration LDAP et processus d authentification Site du programme arcopole : www.arcopole.fr Auteur du document : ESRI France Version de la documentation : 1.2.0.0 Date de dernière
Plus en détailArchitecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués
Architecture JEE. Objectifs attendus Serveurs d applications JEE Systèmes distribués Architectures JEE Normes JEE couches logicielles, n-tiers framework JEE et design patterns 2007/02/28 Eric Hébert.eheb@yahoo.fr
Plus en détailTypes d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles
Types d applications pour la persistance Université de Nice Sophia-Antipolis Version 0.9 28/8/07 Richard Grin Toutes les applications n ont pas une complexité qui nécessite une architecture n- tiers Ce
Plus en détailCompte Rendu d intégration d application
ISMA 3EME ANNEE Compte Rendu d intégration d application Compte Rendu Final Maxime ESCOURBIAC Jean-Christophe SEPTIER 19/12/2011 Table des matières Table des matières... 1 Introduction... 3 1. Le SGBD:...
Plus en détail24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.
Plan du cours 2 Introduction générale : fondamentaux : les fondamentaux Michel Buffa (buffa@unice.fr), UNSA 2002, modifié par Richard Grin (version 1.1, 21/11/11), avec emprunts aux supports de Maxime
Plus en détailTUTORIEL: INSTALLATION D'UN SERVEUR LOCAL SOUS WINDOWS 7 POUR APPINVENTOR version du 06/04/2013
TUTORIEL: INSTALLATION D'UN SERVEUR LOCAL SOUS WINDOWS 7 POUR APPINVENTOR version du 06/04/2013 1. Téléchargement des sources AppInventor http://appinventor.mit.edu/appinventor-sources/ Télécharger ces
Plus en détail< Atelier 1 /> Démarrer une application web
MES ANNOTATIONS SONT EN ROUGE : Axel < Atelier 1 /> Démarrer une application web Microsoft France Tutorial Découverte de ASP.NET 2.0 Sommaire 1 INTRODUCTION... 3 1.1 CONTEXTE FONCTIONNEL... 3 1.2 CONTEXTE
Plus en détailAnne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2
Anne Tasso Java Le livre de premier langage 10 e édition Avec 109 exercices corrigés Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Table des matières Avant-propos Organisation de l ouvrage..............................
Plus en détailSerena Software. Damien Terrien Solution Architect
Serena Software Damien Terrien Solution Architect Serena Release Manager Serena Release Automation Démonstration AGENDA Cartographie fonctionnelle de l offre SERENA IT Business Users & Customers Front
Plus en détailAvant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4
Les exemples cités tout au long de cet ouvrage sont téléchargeables à l'adresse suivante : http://www.editions-eni.fr. Saisissez la référence ENI de l'ouvrage EP5EJAV dans la zone de recherche et validez.
Plus en détailGestion de configuration
Gestion de configuration (prise en main de l infra LDN) Sebastien Badia Lorraine Data Network 22 octobre 2013 Outline Gestion de configuration Avant la gestion de configuration Gestion de confs. : apports/changements
Plus en détailTP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.
ASTRIUM - Toulouse JEE Formation 2013 TP JEE Développement Web en Java Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web. Figure 1 Architecture
Plus en détailPoint sur les solutions de développement d apps pour les périphériques mobiles
Point sur les solutions de développement d apps pour les périphériques mobiles Par Hugues MEUNIER 1. INTRODUCTION a. Une notion importante : le responsive web design Nous sommes en train de vivre une nouvelle
Plus en détailINGÉNIEUR LOGICIEL JAVAEE / GROOVY 8 ANS D EXPÉRIENCE
INGÉNIEUR LOGICIEL JAVAEE / GROOVY 8 ANS D EXPÉRIENCE Igor Rosenberg 30 ans DEA «Image-Vision» de l Université de Nice Sophia-Antipolis POSTES PRECEDENTS MMA: Développement Web/Grails sur démonstrateur
Plus en détailFORMATION TALEND. Page 1 sur 9
FORMATION TALEND Ce livret contient et détaille les formulaires que vous devez nous retourner avec votre bon de commande. Vous y trouverez aussi toutes les informations susceptibles de vous aider à organiser
Plus en détailAlfstore workflow framework Spécification technique
Alfstore workflow framework Spécification technique Version 0.91 (2012-08-03) www.alfstore.com Email: info@alfstore.com Alfstore workflow framework 2012-10-28 1/28 Historique des versions Version Date
Plus en détailbbc Launch Pad Juillet 2011 Version 10.0
bbc Configuration d Adobe Digital Enterprise Platform Document Services - Launch Pad 10.0 Guide de l administrateur et du développeur Launch Pad Juillet 2011 Version 10.0 Mentions juridiques Pour plus
Plus en détailUtilisation de Jakarta Tomcat
ISI 1022 : Déploiement d applications Web Jean-Noël Sorenti. Année 2002/2003 Déploiement d application Web Utilisation de Jakarta Tomcat ISI 1022 : 1 ISI 1022 : Déploiement d applications Web Une application
Plus en détailTutoriel: Création d'un Web service en C++ avec WebContentC++Framework
Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework Gaël de Chalendar CEA LIST / LIC2M Journée de Présentation des Technologies WebContent INSTN 14/12/2009 Présentation de gsoap Plan
Plus en détailopenarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de
openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de itemis France 2009 All rights reserved 1 Itemis en quelques mots Spécialisé dans l
Plus en détailDévelopper des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David
Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server Sébastien Boutard Thomas David Le plan de la présentation Petit retour sur les environnements de développement ArcGIS Server
Plus en détailNetwork Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5
Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5 Machine virtuelle Machine virtuelle Machine virtuelle VMware ESX Network Shutdown Module
Plus en détailJava Licence professionnelle CISII, 2009-2010
Java Licence professionnelle CISII, 2009-2010 Cours 6 : le paquetage (package) Cours inspiré des cours de Richard Grin, Antoine Tabbone et Hazel Everett 1 Définition - Les classes Java sont regroupées
Plus en détailJalios Delivery Engine 1.0 (JADE) Manuel d installation et d exploitation
Jalios Delivery Engine 1.0 (JADE) Manuel d installation et d exploitation 2013 Jalios 1/49 A propos de ce document Contacts Jalios SA 58 rue Pottier 78150 Le Chesnay Si vous avez des questions ou souhaitez
Plus en détailPatrons de Conception (Design Patterns)
Patrons de Conception (Design Patterns) Introduction 1 Motivation Il est difficile de développer des logiciels efficaces, robustes, extensibles et réutilisables Il est essentiel de comprendre les techniques
Plus en détailWebmaster / Webdesigner / Wordpress
Webmaster / Webdesigner / Wordpress Pré-requis : Projet professionnel. Bonne maîtrise de l'ordinateur. Bases en infographie et / ou traitement de texte fortement recommandées. Objectifs : Concevoir un
Plus en détailArchitectures web/bases de données
Architectures web/bases de données I - Page web simple : HTML statique Le code HTML est le langage de base pour concevoir des pages destinées à être publiées sur le réseau Internet ou intranet. Ce n'est
Plus en détailGestion d identités PSL Exploitation IdP Authentic
Gestion d identités PSL Exploitation IdP Authentic Entr ouvert SCOP http ://www.entrouvert.com Table des matières 1 Arrêt et démarrage 2 2 Configuration 2 2.1 Intégration à la fédération............................
Plus en détailProjet Active Object
Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques
Plus en détailProjet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :
CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE Projet 2 Gestion des services enseignants G r o u p e : B E L G H I T Y a s m i n e S A N C H E Z - D U B R O N T Y u r i f e r M O N T A Z E R S i
Plus en détailMercredi 15 Janvier 2014
De la conception au site web Mercredi 15 Janvier 2014 Loïc THOMAS Géo-Hyd Responsable Informatique & Ingénierie des Systèmes d'information loic.thomas@anteagroup.com 02 38 64 26 41 Architecture Il est
Plus en détailConstruire des plug-ins pour SAS Management Console SAS 9.1
Construire des plug-ins pour SAS Management Console SAS 9.1 Janvier 2005 Sommaire 1 INTRODUCTION... 3 1.1 OBJECTIFS... 3 1.2 PERIMETRE... 3 2 LES COMPOSANTS DE SAS MANAGEMENT CONSOLE... 4 3 LA CONSTRUCTION
Plus en détailTable des matières Avant-propos... V Scripting Windows, pour quoi faire?... 1 Dans quel contexte?
Avant-propos... V CHAPITRE 1 Scripting Windows, pour quoi faire?... 1 Dans quel contexte?.................................................. 1 La mauvaise réputation............................................
Plus en détailGESTION D INFRASTRUCTURE AVEC PUPPET
GESTION D INFRASTRUCTURE AVEC PUPPET Séminaire RAISIN du 27/05/2010 Florent Paillot & Christophe Delalande INRIA Bordeaux - Sud-Ouest Sommaire 2 Qu est ce que Puppet? Pourquoi faire Avantages/Inconvénients
Plus en détailServeur d'application Client HTML/JS. Apache Thrift Bootcamp
Serveur d'application Client HTML/JS Apache Thrift Bootcamp Pré-requis La liste ci-dessous de logiciels doit être installée et opérationnelle sur la machine des participants : Compilateur thrift http://thrift.apache.org/
Plus en détailHadoop / Big Data. Benjamin Renaut <renaut.benjamin@tokidev.fr> MBDS 2014-2015
Hadoop / Big Data Benjamin Renaut MBDS 2014-2015 TP 1 Méthodologie Map/Reduce - programmation Hadoop. 1 Installer VirtualBox (https://www.virtualbox.org/). Importer la machine
Plus en détailArchitecture distribuée
Architecture distribuée Conception et développement d algorithmes distribués pour le moteur Baboukweb Jean-Christophe DALLEAU Département de Mathématiques et Informatique Université de La Réunion 26 juin
Plus en détailPharmed. gestion de pharmacie hospitalière. Installation / déploiement
Pharmed gestion de pharmacie hospitalière Installation / déploiement Version 1.0 du 23/05/2006 Date Auteur Version Modification 23/05/06 Pierre CARLIER 1.0 14/06/06 Matthieu Laborie Table des matières
Plus en détailS7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i
Modernisation IBM i Nouveautés 2014-2015 IBM Power Systems - IBM i 19 et 20 mai 2015 IBM Client Center, Bois-Colombes S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i Mardi
Plus en détailComposants Logiciels. Le modèle de composant de CORBA. Plan
Composants Logiciels Christian Pérez Le modèle de composant de CORBA Année 2010-11 1 Plan Un rapide tour d horizon de CORBA 2 Introduction au modèle de composant de CORBA Définition de composants CORBA
Plus en détailREQUEA. v 1.0.0 PD 20 mars 2008. Mouvements d arrivée / départ de personnels Description produit
v 1.0.0 PD 20 mars 2008 Mouvements d arrivée / départ de personnels Description produit Fonctionnalités L application Gestion des mouvements d arrivée / départ de Requea permet la gestion collaborative
Plus en détailCatalogue Formations Jalios
Catalogue Formations Jalios Offre de services Jalios 23/04/2015-6.0 1 / 19 Sommaire Sommaire... 2 1. Introduction... 3 2. Jalios, organisme de formation... 4 3. Formations fonctionnelles... 5 3.1. Formation
Plus en détailS T L - C P S - L e s p l u g i n s E c l i p s e. - Une Introduction - 2007, Frédéric Peschanski
S T L - C P S - L e s p l u g i n s E c l i p s e - Une Introduction - 2007, Frédéric Peschanski L a p l a t e f o r m e E c l i p s e Aperçu de la plateforme Eclipse Runtime Composants OSGI Equinoxe Plugins
Plus en détailUsine de développement : étude comparative
BlackPaper Open Wide Technologies Usine de développement : étude comparative Pour compléter notre premier article sur l usine de développement 1, il apparaît utile de faire un tour d horizon des solutions
Plus en détailEnvironnements de développement (intégrés)
Environnements de développement (intégrés) Tests unitaires, outils de couverture de code Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure
Plus en détailFormations 2015 JASPER, REDMINE, TABLEAU, TALEND, SPAGO BI ALTIC & SYNOTIS - TRAINING CENTER 24 RUE DE L EGLISE 94300 VINCENNES
Formations 2015 JASPER, REDMINE, TABLEAU, TALEND, SPAGO BI ALTIC & SYNOTIS - TRAINING CENTER 24 RUE DE L EGLISE 94300 VINCENNES Table des matières Edito... 3 Informations pratiques... 4 Accueil des stagiaires...
Plus en détail2 Formation utilisateur
2 Formation utilisateur Formation développeur Formation Formation développeur - créer un compte - créer un projet - rejoindre/quitter un projet - rappel sur l'open source et les licences - rappels su PHP
Plus en détailMessagerie asynchrone et Services Web
Article Messagerie asynchrone et Services Web 1 / 10 Messagerie asynchrone et Services Web SOAP, WSDL SONT DES STANDARDS EMERGEANT DES SERVICES WEB, LES IMPLEMENTATIONS DE CEUX-CI SONT ENCORE EN COURS
Plus en détailArchitecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application
Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces
Plus en détailarcopole Studio Annexe 7 Architectures Site du programme arcopole : www.arcopole.fr
4 arcopole Studio Annexe 7 Architectures Site du programme arcopole : www.arcopole.fr Auteur du document : Esri France Version de la documentation : 1.2 Date de dernière mise à jour : 26/02/2015 Sommaire
Plus en détailNetwork Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server
Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server Machine virtuelle Machine virtuelle Machine virtuelle VMware ESX 3 Network Shutdown Module Network
Plus en détailMon premier rpm. http://alexandre-mesle.com 7 juin 2010. 1 Avant de commencer 2 1.1 RPM... 2 1.2 URPMI... 2 1.3 RPMBUILD... 2
Mon premier rpm http://alexandre-mesle.com 7 juin 2010 Table des matières 1 Avant de commencer 2 1.1 RPM....................................................... 2 1.2 URPMI.....................................................
Plus en détailMessagerie & Groupeware. augmentez l expertise de votre capital humain
Messagerie & Groupeware augmentez l expertise de votre capital humain OUTLOOK 2010* Etude des fonctionnalités d un logiciel de messagerie Tout public 1 journée MG01 Maîtrise de l environnement Windows
Plus en détailJoomla! Création et administration d'un site web - Version numérique
Avant-propos 1. Objectifs du livre 15 1.1 Orientation 15 1.2 À qui s adresse ce livre? 16 2. Contenu de l ouvrage 17 3. Conclusion 18 Introduction 1. Un peu d histoire pour commencer... 19 1.1 Du web statique
Plus en détailServeur de travail collaboratif Michaël Hoste -
Serveur de travail collaboratif Michaël Hoste - Table des matières 1. Qu'est ce qu'un serveur de travail collaboratif?...2 2. Pourquoi ce projet?...2 3. Possibilités d'utilisation dans le cadre de l'université...3
Plus en détail