ERRATA - MAGASIN VIRTUEL

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimension: px
Commencer à balayer dès la page:

Download "ERRATA - MAGASIN VIRTUEL"

Transcription

1 ERRATA - MAGASIN VIRTUEL 1 28 juillet 2005 Entre mars et juillet 2005, un certain nombre d'articles sont parus sur [http://tahe.developpez.com]. Ils avaient pour but de présenter le framework Spring aussi bien dans le monde Java que dans le monde.net. Une application simplifiée d'achats de produits sur le web a servi de fil conducteur à tous les articles. Celle-ci a l'architecture suivante : utilisateur Couche interface utilisateur [ui] Couche métier [domain] Couche d'accès aux données [dao] Données SPRING Une erreur de conception s'est glissée dès les premiers articles parus en mars 2005, dans l'implémentation de la couche [domain]. Je n'ai détecté l'erreur que le 27 juillet. Mieux vaut tard que jamais... Cet article explique quelle est l'erreur et quelles sont ses conséquences pour les applications utilisant la couche [domain]. Pour comprendre cet "Errata", il faut avoir lu les premiers articles de la série afin de comprendre le rôle de la couche [domain]. En fait, nous conseillons au lecteur de lire d'abord les articles sans tenir compte de cet "errata" et de ne revenir qu'ensuite sur ce dernier. En effet, l'erreur n'apparaît pas lors d'une lecture rapide des articles et ne nuit en rien à leur compréhension. Il est probable que seuls des développeurs expérimentés la détecteront dès la première lecture. Nous présentons tout d'abord l'erreur dans sa version Java. Elle existe à l'identique dans la version.net. Nous proposons ensuite des exemples de codes corrigeant l'erreur. Ceux-ci sont pris dans les versions.net. 1.1 L'erreur dans sa version Java L'interface [IArticlesDomain] et sa classe d'implémentation [AchatsArticles] s'avèrent avoir une conception incorrecte pour ce qui est de l'achat du panier. La classe [AchatsArticles] est la suivante : package istia.st.articles.domain; // Imports import istia.st.articles.dao.iarticlesdao; import istia.st.articles.exception.uncheckedaccessarticlesexception; import java.util.arraylist; import java.util.list; public class AchatsArticles implements IArticlesDomain { } // Champs private IArticlesDao articlesdao; private ArrayList erreurs; // Constructeurs public AchatsArticles(IArticlesDao articlesdao) { } // Méthodes public ArrayList geterreurs() {} public List getallarticles() {} public Article getarticlebyid(int id) {} public void acheter(panier panier) { } L'achat d'un panier se fait en deux temps : 1. la méthode [acheter] est tout d'abord utilisée pour décrémenter les stocks des articles achetés, la méthode [geterreurs] est ensuite utilisée pour obtenir la liste des éventuelles erreurs. Celles-ci listent les articles dont les stocks sont insuffisants pour satisfaire la demande du client. Si cette méthode est acceptable (quoique maladroite) lorsqu'il n'y a qu'un client, elle ne l'est plus lorsqu'il y en a plusieurs comme c'est le cas dans une application web où les clients sont multiples. Il faut tout d'abord comprendre qu'il n'y a qu'une seule instance de la classe [AchatsArticles] pour satisfaire les demandes des clients. On a affaire à un singleton. Prenons la situation suivante dans le cadre d'une application web : errata-magasin-virtuel, 1/6

2 1. le client 1 veut acheter le panier [panier1]. Il est servi par un thread T1 côté serveur. Celui-ci commence par faire appel à la méthode [acheter] du singleton [AchatsArticles]. Celle-ci se termine. Les erreurs d'achats ont été stockées dans le champ privé [erreurs] du singleton. Le thread T1 est alors interrompu pour une raison quelconque. le client 2 veut acheter le panier [panier2]. Il est servi par un thread T2 côté serveur. Celui-ci commence par faire appel à la méthode [acheter] du singleton [AchatsArticles]. Celle-ci se termine. Les erreurs d'achats ont été stockées dans le champ privé [erreurs] du singleton écrasant donc les erreurs du client 1. Le thread T2 n'est pas interrompu. Il fait alors appel à la méthode [geterreurs] du singleton et obtient la liste d'erreurs des achats de [panier2]. Le thread T2 envoie sa réponse au client 2 et se termine. 3. Le thread T1 récupère alors le processeur et fait ce qu'il n'a pas pu eu le temps de faire. Il fait appel à la méthode [geterreurs] du singleton [AchatsArticles] et obtient la liste des erreurs d'achats de [panier2] et non celle de [panier1] qui n'existe plus. On a un problème... Lorsqu'on a affaire à un singleton servant plusieurs clients, il est important de vérifier que ses données d'état ne concernent pas un client particulier. Dans la classe [AchatsArticles], les données d'état sont les suivantes : // Champs private IArticlesDao articlesdao; private ArrayList erreurs; articlesdao erreurs représente l'instance d'accès à la couche [dao] - est elle-même un singleton. N'est pas lié à un client particulier. la liste des erreurs qui se sont produites sur l'achat d'un panier. Cette donnée est liée au panier d'un client particulier. Elle ne peut faire partie de l'état du singleton qui est partagé par tous les clients. La solution à notre problème est ici relativement simple. Il faut changer la signature de la méthode [acheter]. Elle doit devenir : public ArrayList acheter(panier panier); Le résultat de type [ArrayList] est la liste des erreurs survenues lors de l'achat du panier. Celle-ci n'a donc plus à faire partie de l'état du singleton implémentant l'interface [IArticlesDomain]. Cette dernière devient la suivante : 1. package istia.st.articles.domain; 3. import istia.st.articles.dao.article; import java.util.arraylist; 6. import java.util.list; /** * 11. */ 1public interface IArticlesDomain { 13. // liste de tous les articles 14. public List getallarticles(); 15. // obtenir un article particulier 16. public Article getarticlebyid(int id); 17. // acheter un panier 18. public ArrayList acheter(panier panier); 19.} La méthode [geterreurs] a disparu. La méthode [acheter] a changé de signature, ligne 18. La classe d'implémentation [AchatsArticles] devient la suivante : 1. package istia.st.articles.domain; 3. // Imports 4. import istia.st.articles.dao.iarticlesdao; 5. import istia.st.articles.exception.uncheckedaccessarticlesexception; 6. import java.util.arraylist; 7. import java.util.list; public class AchatsArticles implements IArticlesDomain { // Champs 1 private IArticlesDao articlesdao; 13. private ArrayList erreurs; // Constructeurs 16. public AchatsArticles(IArticlesDao articlesdao) { } // Méthodes 19. public List getallarticles() {...} errata-magasin-virtuel, 2/6

3 20. public Article getarticlebyid(int id) {...} 21. public ArrayList acheter(panier panier) {...} 2} La méthode [geterreurs] a disparu. La méthode [acheter] a changé de signature et devient la suivante : 1. // valider un panier d'achats public ArrayList acheter(panier panier) { 3. // la liste des erreurs 4. ArrayList erreurs = new ArrayList(); 5. // on parcourt les achats 6. ArrayList achats = panier.getachats(); 7. Article article = null; 8. Achat achat = null; 9. for (int i = achats.size() - 1; i >= 0; i--) { 10. // on récupère l'achat 11. achat = (Achat) achats.get(i); 1 // on tente de modifier le stock de l'article dans la base 13. int nbarticles = articlesdao.changerstockarticle(achat.getarticle() 14..getId(), -achat.getqte()); 15. // a-t-on réussi? 16. if (nbarticles!= 0) { 17. achats.remove(i); 18. } else { 19. erreurs.add("achat article [" + achat.getarticle() + "," achat.getqte() + "] impossible - Vérifiez son stock"); 21. } 2 } 23. // on rend la liste des erreurs 24. return erreurs; 25. } la liste des erreurs est devenue une variable locale à la méthode - ligne 4 elle est rendue comme résultat - ligne 24 Ce code est-il suffisant pour garantir l'étanchéité entre deux clients? Dans cette méthode, seules des variables locales à la méthode sont utilisées sauf la variable [articlesdao] qui est une variable d'instance du singleton partagée par tous les clients. La méthode [articlesdao.changerstockarticle] utilisée ligne 13 est synchronisée (synchronized). Deux threads ne peuvent l'exécuter simultanément. Il semble donc que la méthode [acheter] assure bien l'étanchéité des clients. Nous utiliserons désormais cette nouvelle interface [IArticlesDomain] et sa nouvelle classe d'implémentation [AchatsArticles]. On peut conclure de cette erreur que les tests de la couche [domain] avaient été insuffisants. On avait négligé de tester l'étanchéité des clients entre-eux. 2 Conséquences de l'erreur Revenons sur l'architecture de l'application d'achats d'articles : utilisateur Couche interface utilisateur [ui] Couche métier [domain] Couche d'accès aux données [dao] Données SPRING Nous avons modifié l'interface [IArticlesDomain] de la couche [domain]. Très exactement nous avons : supprimé la méthode [geterreurs] modifié la signature de la méthode [acheter] Cela entraîne des modifications sur les éléments de la couche [ui] qui utilisent ces deux méthodes. Dans ces éléments, la modification à faire est la suivante : Dans l'ancienne version, l'achat d'un panier se faisait de la façon suivante (version Java) : 1. Panier panier; ArrayList erreurs; [domain].acheter(panier); erreurs=[domain].geterreurs(); où [domain] représente une instance d'une classe implémentant [IArticlesDomain]. errata-magasin-virtuel, 3/6

4 Dans la nouvelle version, l'achat d'un panier se fera de la façon suivante (version Java) : 7. Panier panier; 8. ArrayList erreurs; erreurs=[domain].acheter(panier); Nous présentons des exemples de corrections apportées aux versions.net des articles. 3 Corrections.NET - Exemples 3.1 L'interface IArticlesDomain 1. Imports istia.st.articles.dao 3. Namespace istia.st.articles.domain 4. Public Interface IArticlesDomain 5. ' méthodes 6. Function acheter(byval panier As Panier) As ArrayList 7. Function getallarticles() As IList 8. Function getarticlebyid(byval idarticle As Integer) As Article 9. End Interface 10.End Namespace à noter le changement de signature de la méthode [acheter] ligne La classe [AchatsArticles] 1. Imports istia.st.articles.dao 3. Namespace istia.st.articles.domain 4. Public Class AchatsArticles 5. Implements IArticlesDomain 'champs privés 8. Private _articlesdao As IArticlesDao ' constructeur 11. Public Sub New(ByVal articlesdao As IArticlesDao) 1 _articlesdao = articlesdao 13. End Sub ' méthodes 16. Public Function getallarticles() As IList Implements IArticlesDomain.getAllArticles 17. ' liste de tous les articles 18. Return _articlesdao.getallarticles 19. End Function Public Function getarticlebyid(byval idarticle As Integer) As Article Implements IArticlesDomain.getArticleById 2 ' un article particulier 23. Return _articlesdao.getarticlebyid(idarticle) 24. End Function Public Function acheter(byval panier As Panier) As ArrayList Implements IArticlesDomain.acheter 27. ' achat d'un panier - les stocks des articles achetés doivent être décrémentés 28. Dim erreurs As New ArrayList 29. Dim achat As achat 30. Dim achats As ArrayList = panier.achats 31. For i As Integer = achats.count - 1 To 0 Step -1 3 ' décrémenter stock article i 33. achat = CType(achats(i), achat) 34. Try 35. If _articlesdao.changerstockarticle(achat.article.id, -achat.qte) = 0 Then 36. ' on n'a pas pu faire l'opération 37. erreurs.add("l'achat " + achat.tostring + " n'a pu se faire - Vérifiez les stocks") 38. Else 39. ' l'opération s'est faite - on enlève l'achat du panier 40. panier.enlever(achat.article.id) 41. End If 4 Catch ex As Exception 43. erreurs.add("erreur d'accès aux données : " + ex.message) 44. End Try 45. Next 46. ' on rend les erreurs 47. Return erreurs 48. End Function 49. End Class errata-magasin-virtuel, 4/6

5 End Namespace à noter le changement de signature de la méthode [acheter] ligne 26. La liste des erreurs est rendue ligne Article [http://tahe.developpez.com/dotnet/win3tier] Il s'agit de l'article intitulé "Construction d'une application windows MVC à trois couches avec Spring, M2VC-win et VB.NET". L'action [ActionValiderPanier] décrite au paragraphe page 36 devient la suivante : 1. Namespace istia.st.cmv.magasin Public Class ActionValiderPanier 3. Inherits AbstractBaseAction ' validation du panier 6. Public Overrides Function execute() As String 7. ' au départ, pas d'erreurs 8. Session.erreurs = New ArrayList 9. Try 10. ' on tente de valider le panier 11. session.erreurs = session.articlesdomain.acheter(session.panier) 1 Catch ex As Exception 13. ' on note l'erreur 14. session.erreurs.add(string.format("erreur lors de la validation du panier [{0}]", ex.message)) 15. End Try 16. ' état application 17. If session.erreurs.count <> 0 Then 18. ' problème 19. Return "échec" 20. Else 21. ' c'est bon 2 Return "succès" 23. End If 24. End Function 25. End Class End Namespace la modification a lieu ligne 11 lors de l'achat du panier 3.4 Article [http://tahe.developpez.com/dotnet/web3tier-part3] Il s'agit de l'article intitulé "Construction en VB.NET d'une application web MVC multi-couches formée d'un client riche et d'un service web". La méthode [acheterpanier] de la classe [WebserviceArticles] décrite page 25 devient la suivante : 1. ' achat du panier <WebMethod()> _ 3. Public Function acheterpanier(byval panier As Panier) As WSPanier Implements IArticlesWebService.acheterpanier 4. ' on achète le panier 5. Dim erreurs As ArrayList = articlesdomain.acheter(panier) 6. ' on prépare le résultat 7. Dim wspanier As New wspanier 8. For i As Integer = 0 To panier.achats.count wspanier.ajouter(ctype(panier.achats(i), Achat)) 10. Next 11. wspanier.erreurs = erreurs 1 ' on rend le résultat 13. Return wspanier 14. End Function la modification a lieu ligne 5 lors de l'achat du panier La méthode [acheter] de la classe [WebServiceArticlesProxy] décrite paragraphe 6.3 page 43 devient la suivante : 1. ' achat d'un panier Public Function acheter(byval panier1 As Panier) As ArrayList Implements IArticlesDomain.acheter 3. ' on envoie panier1 au serveur - on reã oit en retour panier2 4. Dim wspanier2 As WSPanier = webserviceproxy.acheterpanier(panier1) 5. ' on met les achats restants dans le panier original panier2 -> panier1 6. For i As Integer = panier1.achats.count - 1 To 0 Step panier1.enlever(ctype(panier1.achats(i), Achat).article.id) 8. Next errata-magasin-virtuel, 5/6

6 9. For i As Integer = 0 To wspanierachats.count panier1.ajouter(ctype(wspanierachats(i), Achat)) 11. Next 1 ' on rend les erreurs 13. Return wspaniererreurs 14. End Function ligne 2 : la signature de la méthode [acheter] a changé ligne 13 : la méthode [acheter] rend désormais la liste des erreurs d'achats 4 Conclusion Nous n'avons passé en revue que trois des différents clients.net ou Java de la couche [domain] utilisés dans les articles de [http://tahe.developpez.com]. Pour les autres clients, les modifications à apporter sont analogues et consistent toutes à transformer une séquence du genre : 11.Panier panier; 1ArrayList erreurs; [domain].acheter(panier); erreurs=[domain].getErreurs(); en une séquence : 17.Panier panier; 18.ArrayList erreurs; erreurs=[domain].acheter(panier); errata-magasin-virtuel, 6/6

Les exceptions en java

Les exceptions en java 1/12 Les exceptions en java 2/12 C'est quoi une exception? Une exception est un événement (une erreur) qui se produit lors de l'exécution d'un programme, et qui va provoquer un fonctionnement anormal (par

Plus en détail

.NET - Classe de Log

.NET - Classe de Log .NET - Classe de Log Classe permettant de Logger des données Text Dans tous les projets, il est indispensable de pouvoir stocker de l'information textuelle : Pour le suivi des erreurs Pour le suivi de

Plus en détail

TP Mock. On veut modéliser un jeu de casino : le jeu de la boule.

TP Mock. On veut modéliser un jeu de casino : le jeu de la boule. TP Mock Pour faire ce TP il faut récupérer la "bibliothèque" mockito-all-x.x.x.jar. Vous pouvez la trouver à partir de https://code.google.com/p/mockito/downloads/list (pour mockito- 1.9.5.zip). Anciennement

Plus en détail

Les exceptions. Cours 12. vous les avez pratiquées sans le savoir... ArrayIndexOfBoundsException NullPointerException ClassNotFoundException...

Les exceptions. Cours 12. vous les avez pratiquées sans le savoir... ArrayIndexOfBoundsException NullPointerException ClassNotFoundException... Cours 12 Les exceptions vous les avez pratiquées sans le savoir... ArrayIndexOfBoundsException NullPointerException ClassNotFoundException... F.Gayral 1 Les exceptions, vous connaissez... public class

Plus en détail

Private Sub frm_vrp_load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

Private Sub frm_vrp_load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load L APPLICATION DES VRP EN MVC LE FORMULAIRE LE CODE DU FORMULAIRE Imports System.Collections Public Class frm_vrp ' on declare le tableau des vrp Private letableauvrp As List(Of VRP) Private Sub frm_vrp_load(sender

Plus en détail

TD Objets distribués : Introduction à.net Remoting

TD Objets distribués : Introduction à.net Remoting IUT Bordeaux 1 2008-2009 Département Informatique Licence Professionnelle ~ SI TD Objets distribués : Introduction à.net Remoting Vous mettrez en œuvre votre première application en.net remoting. Les sources

Plus en détail

Exceptions. Fiabilité d un logiciel. Fiabilité en Java. Erreurs/exceptions. Localisation du traitement des erreurs/exceptions.

Exceptions. Fiabilité d un logiciel. Fiabilité en Java. Erreurs/exceptions. Localisation du traitement des erreurs/exceptions. Fiabilité d un logiciel Exceptions Université Française d Egypte Version O 5.7 5/10/15 Richard Grin Robustesse : fonctionne correctement, même en présence d événements exceptionnels Correction : donne

Plus en détail

Les Framework Java DWR. Claude Duvallet 1/13. Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE HAVRE CEDEX

Les Framework Java DWR. Claude Duvallet 1/13. Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE HAVRE CEDEX Les Java DWR 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/ Claude

Plus en détail

Déclaration et Implémentation d'une classe

Déclaration et Implémentation d'une classe Définir et Instancier une classe en Java Déclaration et Implémentation d'une classe En algorithmique (comme en C++ la plupart du temps), l'écriture du corps des méthodes (implémentation) se fait après

Plus en détail

Série 9: Intérêt des fonctions, portée des variables, variables statiques Buts

Série 9: Intérêt des fonctions, portée des variables, variables statiques Buts Série 9: Intérêt des fonctions, portée des variables, variables statiques Buts - La notion de fonction est fondamentale car elle permet d'atteindre deux objectifs: principe d'abstraction: offrir une vue

Plus en détail

Licence d'informatique 2004-2005 Examen Programmation orientée objet Juin 2005

Licence d'informatique 2004-2005 Examen Programmation orientée objet Juin 2005 Licence d'informatique 2004-2005 Examen Programmation orientée objet Juin 2005 Durée de l'épreuve : 2 heures TRÈS IMPORTANT : respectez l'ordre des questions. La lisibilité sera un critère important pour

Plus en détail

Exceptions. Qu est ce qu un cas exceptionnel? Principe : détecter le maximum d erreurs à la compilation, mais... pas toujours possible

Exceptions. Qu est ce qu un cas exceptionnel? Principe : détecter le maximum d erreurs à la compilation, mais... pas toujours possible Programmation Orientée Objet Jean-Christophe Routier Licence mention Informatique Université Lille Principe : détecter le maximum d erreurs à la compilation, mais pas toujours possible Gestion des erreurs

Plus en détail

Révision de la section sur la Sérialisation dans le manuel Visual Basic.NET Avancé : Programmation objet

Révision de la section sur la Sérialisation dans le manuel Visual Basic.NET Avancé : Programmation objet Révision de la section sur la Sérialisation dans le manuel Visual Basic.NET Avancé : Programmation objet Copyright 2011 Jacques Bourgeois Sérialisation La sérialisation est une technique qui permet de

Plus en détail

Fichiers de configuration.net Remoting

Fichiers de configuration.net Remoting Fichiers de configuration.net Remoting 2 Fichiers de configuration.net Remoting 29/07/09 Sommaire 1 Introduction... 3 2 Qu es ce qu un fichier de configuration?... 4 3 L intérieur du fichier... 5 3.1 Pour

Plus en détail

Université de Bourgogne - UFR Sciences et Technique - Programmation objet - LPSIL - 2013

Université de Bourgogne - UFR Sciences et Technique - Programmation objet - LPSIL - 2013 Nom : Prénom : Contrôle continu n 4 Programmation objet Vous devez répondre dans les cadres aux questions posées. Documents de cours et notes personnelles autorisés. Téléphones portables, ordinateurs et

Plus en détail

Exercice 1 (API Java)

Exercice 1 (API Java) Programmation orientée objet TP 3 L2 MPCIE API Java, Paquetages Exercice 1 (API Java) 1. Écrire la classe Ensemble comme étant une collection d'éléments ne contenant pas de doublon. Elle sera donc implémentée

Plus en détail

Programmer avec les exceptions en Java

Programmer avec les exceptions en Java Programmer avec les exceptions en Java Premier Cycle Cours Eurinsa 2002 (c) P.Pollet 05/12/2002 Java 2001 (PP) 1 Plan Gestion traditionnelle des erreurs d exécution Qu est-ce qu une exception? La classe

Plus en détail

Programmation multitâches avec les Threads

Programmation multitâches avec les Threads Programmation multitâches avec les Threads A. Introduction A.1. Programmation multitâche Tous les systèmes d'exploitation actuels ont la possibilité d'effectuer plusieurs tâches en simultané. En effet,

Plus en détail

Applications orientées données (NSY135)

Applications orientées données (NSY135) Applications orientées données (NSY135) 4 Applications Web Dynamiques Auteurs: Raphaël Fournier-S niehotta et Philippe Rigaux (philippe.rigaux@cnam.fr,fournier@cnam.fr) Département d informatique Conservatoire

Plus en détail

POO LES EXCEPTIONS LES EXCEPTIONS

POO LES EXCEPTIONS LES EXCEPTIONS CHAPITRE 7 : LES EXCEPTIONS Objectifs spécifiques 1. Introduire la notion d exception, les règles d utilisation et de définition des exceptions. 2. Distinguer entre les exceptions prédéfinies et les exceptions

Plus en détail

IFT1166 TRAVAIL PRATIQUE #3 18 juin 2008. Gestion de stocks à la sauce C++! Mohamed Lokbani

IFT1166 TRAVAIL PRATIQUE #3 18 juin 2008. Gestion de stocks à la sauce C++! Mohamed Lokbani IFT1166 TP3 Été 2008 1/5 IFT1166 TRAVAIL PRATIQUE #3 18 juin 2008 Gestion de stocks à la sauce C++! Mohamed Lokbani Équipes : le travail peut-être fait en binôme mais vous ne remettez qu un travail par

Plus en détail

Examen 1 ère session 2012-2013 page 1 NFA 031 - Programmation JAVA Formation CNAM

Examen 1 ère session 2012-2013 page 1 NFA 031 - Programmation JAVA Formation CNAM Examen 1 ère session 2012-2013 page 1 NFA 031 - Programmation JAVA IPST-CNAM Programmation JAVA NFA 001 Mercredi 13 Février 2013 Avec document Durée : 2 h30 Enseignant : LAFORGUE Jacques 1 ère Session

Plus en détail

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting IUT Bordeaux 1 2005-2006 Département Informatique Licence Professionnelle ~ SI TD Objets distribués n 3 : Windows XP et Visual Studio.NET Introduction à.net Remoting Partie 1 : l'analyseur de performances

Plus en détail

EISTI 2008-2009 Examen Java EE. Q1 : cycle de vie d un servlet (2 points)

EISTI 2008-2009 Examen Java EE. Q1 : cycle de vie d un servlet (2 points) EISTI 2008-2009 Examen Java EE 1h30 Aucun document autorisé NOM : PLACE : PRENOM : GROUPE TD : Q1 : cycle de vie d un servlet (2 points) Donnez le diagramme d état représentant le cycle de vie d un servlet

Plus en détail

Java Persistence Api. 1. Introduction. 2. Un premier exemple. 3. L application. benoit.charroux@efrei.fr

Java Persistence Api. 1. Introduction. 2. Un premier exemple. 3. L application. benoit.charroux@efrei.fr Java Persistence Api Cet article décrit une application qui illustre comment la sauvegarde d un graphe d objets peut être réalisé en Java Standard Edition via Java Persistence Api. 1. Introduction Java

Plus en détail

INF130 - Ordinateurs et programmation. Semaine 08. Document présenté par Frédérick Henri et conçu par les enseignants en informatique du SEG

INF130 - Ordinateurs et programmation. Semaine 08. Document présenté par Frédérick Henri et conçu par les enseignants en informatique du SEG INF130 - Ordinateurs et programmation Semaine 08 Document présenté par Frédérick Henri et conçu par les enseignants en informatique du SEG Retour sur l'examen intra Objectifs Tableaux à deux dimensions

Plus en détail

«Anatomie» d une application web Servlets - JDBC

«Anatomie» d une application web Servlets - JDBC «Anatomie» d une application web Servlets - JDBC Patrick REIGNIER - Philippe GENOUDUJF Février 2005 1 L application histogramme de notes HistoServlet HistoServlet HistogramModel HistogramModel (objet (objet

Plus en détail

Programmation orientée objet TP 1 Prise en main de l environnement Java

Programmation orientée objet TP 1 Prise en main de l environnement Java Programmation orientée objet TP 1 L2 MPCIE Prise en main de l environnement Java Exercice 1 Nous désirons développer un programme pour la gestion (très simplifiée) d'un parc de véhicules destinés à la

Plus en détail

EXERCICE JAVA. Internet Base de données des RV

EXERCICE JAVA. Internet Base de données des RV EXERCICE JAVA Thèmes : Bases de données, accès JDBC, classes et interfaces Java, architectures 2 couches Niveau : intermédiaire Lectures conseillées : [1] : Apprentissage du langage Java [http://tahe.developpez.com/java/cours]

Plus en détail

NFA032 Programmation objet avec Java

NFA032 Programmation objet avec Java NFA032 Programmation objet avec Java CNAM-Paris-Île-de-France Première session 2013 (sujet bis) Documents et calculatrice interdits. Le barème est donné à titre indicatif. Exercice 1 : programmation objet

Plus en détail

Programmation objet en Java.

Programmation objet en Java. Programmation objet en Java. Didier Rémy 2001-2002 http://cristal.inria.fr/ remy/mot/7/ http://www.enseignement.polytechnique.fr/profs/informatique/didier.remy/mot/7/ Cours Exercices Slide 1 1. Classes,

Plus en détail

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ; CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe

Plus en détail

Maverick & CookXML. BELKHADRA Sofiane. BERNABE Thomas. RESSE Romain

Maverick & CookXML. BELKHADRA Sofiane. BERNABE Thomas. RESSE Romain Maverick & CookXML BELKHADRA Sofiane BERNABE Thomas RESSE Romain Présentation Etant donné que nous avons déjà fait une présentation succincte des deux frameworks utilisés, nous n allons pas nous étendre

Plus en détail

Lecture de variable automate en utilisant le service web de l ETZ (application J2SE)

Lecture de variable automate en utilisant le service web de l ETZ (application J2SE) Lecture de variable automate en utilisant le service web de l ETZ (application J2SE) Sommaire 1. Objectifs...2 2. Création d un nouveau projet J2SE...2 3. Intégration du client Web Service...5 3.1. Description

Plus en détail

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 2 : JUnit

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 2 : JUnit iut ORSAY DUT Informatique Département Informatique 2008 / 2009 Travaux Pratiques n o 2 : JUnit Nom(s) : Groupe : Date : Objectifs : Apprendre à vérifier une implantation à l aide de tests unitaires sous

Plus en détail

Université Joseph Fourier UFR IMA Module Système. TP Systèmes n 1 Programmation concurrente

Université Joseph Fourier UFR IMA Module Système. TP Systèmes n 1 Programmation concurrente TP Systèmes n 1 Programmation concurrente Titre Simulation du comportement de processus producteurs et de processus consommateurs avec tampon intermédiaire borné. Organisation Binôme Durée de réalisation

Plus en détail

Chapitre I - Introduction et conseils au lecteur

Chapitre I - Introduction et conseils au lecteur Chapitre I - Introduction et conseils au lecteur Cette partie introductive situe la place de l'algorithmique dans le développement logiciel et fournit au lecteur des conseils : conseils pour bien analyser

Plus en détail

TP1 SI6. Démonstration de l'intérêt du développement en couches Passer d'une architecture 2 tiers à une architecture 3 tiers.

TP1 SI6. Démonstration de l'intérêt du développement en couches Passer d'une architecture 2 tiers à une architecture 3 tiers. TP1 SI6 Démonstration de l'intérêt du développement en couches Passer d'une architecture 2 tiers à une architecture 3 tiers. Savoir - faire : Concevoir une interface utilisateur Développer ou maintenir

Plus en détail

1 ère PARTIE : COURS (sans document) Durée: 1h15

1 ère PARTIE : COURS (sans document) Durée: 1h15 Examen 1 ère session 2012-2013 page 1 NFA 032 - Programmation JAVA IPST-CNAM Programmation JAVA NFA 032 Mercredi 25 Juin 2014 Avec document Durée : 2 h30 Enseignant : LAFORGUE Jacques 1 ère Session NFA

Plus en détail

E2I- 4 (option HF) CONTRÔLE JAVA 1

E2I- 4 (option HF) CONTRÔLE JAVA 1 E2I- 4 (option HF) CONTRÔLE JAVA 1 Corrigé 1. Les données de type char sont codées en java comme : un octet (code ASCII) deux octets (code ASCII) un octet (code unicode) X deux octets (code unicode) un

Plus en détail

Tutoriel : AccÄs Å un Service Web (GoogleSearch API) avec Visual Basic.Net 2003. Table des matiäres

Tutoriel : AccÄs Å un Service Web (GoogleSearch API) avec Visual Basic.Net 2003. Table des matiäres Tutoriel : AccÄs Å un Service Web (GoogleSearch API) avec Visual Basic.Net 2003 Table des matiäres INTRODUCTION 2 QU EST-CE QU UN SERVICE WEB??? 2 LES PRELIMINAIRES 2 LE DESIGN DE LA FICHE DE RECHERCHE

Plus en détail

Selon votre système, choisissez votre logiciel de serveur web incluant Apache, MySQL et PhpMyAdmin :

Selon votre système, choisissez votre logiciel de serveur web incluant Apache, MySQL et PhpMyAdmin : Pré-requis Pour se lancer dans la programmation Joomla!, les bases nécessaires ne sont pas très complexes, mais sans la connaissance des points ci-dessous, votre 1er développement pourrait devenir difficile,

Plus en détail

Année 2008-2009. Les threads Java. Nicolas Baudru mél : nicolas.baudru@esil.univmed.fr page web : nicolas.baudru.perso.esil.univmed.

Année 2008-2009. Les threads Java. Nicolas Baudru mél : nicolas.baudru@esil.univmed.fr page web : nicolas.baudru.perso.esil.univmed. Année 2008-2009 Les threads Java Nicolas Baudru mél : nicolas.baudru@esil.univmed.fr page web : nicolas.baudru.perso.esil.univmed.fr 1 Présentation du problème Revenons quelques instants à nos animaux.

Plus en détail

Epreuve de Programmation Orientée Objet 2ème année de Licence Informatique

Epreuve de Programmation Orientée Objet 2ème année de Licence Informatique Epreuve de Programmation Orientée Objet 2ème année de Licence Informatique 1er juin 2007 Durée : 3 heures. Seule la documentation des classes java.util.list et java.util.arraylist distribuée est autorisée.

Plus en détail

Plan. Environnement Client/Serveur. Cours 6 Rappels Java (suite) Appel de méthode à distance. Utilité. static

Plan. Environnement Client/Serveur. Cours 6 Rappels Java (suite) Appel de méthode à distance. Utilité. static Plan Environnement Client/Serveur Cours 6 Rappels Java (suite) Appel de méthode à distance kn@lri.fr http://www.lri.fr/~kn 1 Rappels sur les systèmes d'exploitations / Communication par mémoire partagée

Plus en détail

Université Mohammed Premier Année universitaire 2012-2013

Université Mohammed Premier Année universitaire 2012-2013 Université Mohammed Premier Année universitaire 2012-2013 Faculté des Sciences Filière SMI Département de Mathématiques Module : POO Java et d Informatique Semestre : S5 Responsable du cours : El Mostafa

Plus en détail

TP Java ME. Installation du "Wireless Toolkit 2.5.2" de Sun

TP Java ME. Installation du Wireless Toolkit 2.5.2 de Sun TP Java ME Installation du "Wireless Toolkit 2.5.2" de Sun L'environnement de Sun pour commencer à faire du développement pour Java Micro Edition s'appelle le Wireless Toolkit. Nous utilisons dans ce TP

Plus en détail

1 Exercice 1 Question de cours (3 points)

1 Exercice 1 Question de cours (3 points) Info32B Systèmes d'exploitations année 2012-2013 Partiel 26 février 2013 N. Sabouret & A. Methni L'épreuve dure 1h30. Tous les documents sont autorisés. Les exercices sont indépendants. 1 Exercice 1 Question

Plus en détail

Consommation de services de données ADO.NET

Consommation de services de données ADO.NET Consommation de services de données ADO.NET Version 1.0 Jean-Christophe VASSELON 2 ADO.Net Data Services Sommaire 1. Introduction... 3 2. La consommation d un service Ado.Net Data Services... 4 2.1 Démarrage

Plus en détail

Pilotage de la caméra CSB4000CL par liaison RS.

Pilotage de la caméra CSB4000CL par liaison RS. ELVITEC Sas Tél : (33) 04 90 09 25 80 139, rue Philippe de Girard Fax : (33) 04 90 79 34 38 84120 Pertuis Web : www.elvitec.fr France Email : support@elvitec.fr Pilotage de la caméra CSB4000CL par liaison

Plus en détail

2. lancer (throw) une exception consiste à la signaler

2. lancer (throw) une exception consiste à la signaler Cours 7 Exceptions 1 1. Une exception est un signal qui indique que quelque chose d'exceptionnel (par exemple une erreur) s est produite qui interrompt le flot d exécution normal du programme 2. lancer

Plus en détail

Programmation orientée objet en langage JAVA

Programmation orientée objet en langage JAVA Connexion à une base de données avec JDBC Programmation orientée objet en langage JAVA Connexion à une base de données avec JDBC Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe

Plus en détail

module SIN21 Rendre un syste me communicant Analyse UML et algorithmie 1 Modification du cahier des charges

module SIN21 Rendre un syste me communicant Analyse UML et algorithmie 1 Modification du cahier des charges Module SIN221 Rendre un syste me communicant Analyse UML et algorithmie Objectifs : Modifier des diagrammes UML suite à la modification du cahier des charges. Caractériser et valider une classe en C++.

Plus en détail

Année 2008-2009. Les exceptions Java. Nicolas Baudru mél : nicolas.baudru@esil.univmed.fr page web : nicolas.baudru.perso.esil.univmed.

Année 2008-2009. Les exceptions Java. Nicolas Baudru mél : nicolas.baudru@esil.univmed.fr page web : nicolas.baudru.perso.esil.univmed. Année 2008-2009 Les exceptions Java Nicolas Baudru mél : nicolas.baudru@esil.univmed.fr page web : nicolas.baudru.perso.esil.univmed.fr 1 Introduction Supposez que vous écrivez un programme qui accède

Plus en détail

CRÉER DES PROCÉDURES FUNCTION

CRÉER DES PROCÉDURES FUNCTION 1 CRÉER DES PROCÉDURES FUNCTION Dans ce chapitre La différence entre les procédures Sub et Function Comment créer des fonctions personnalisées? À propos des fonctions et des arguments Quelques exemples

Plus en détail

Adrian Gaudebert. Machine de Turing. Rapport de projet

Adrian Gaudebert. Machine de Turing. Rapport de projet Grégory Barbier Adrian Gaudebert Langages Formels Machine de Turing Rapport de projet Université de Bourgogne Licence 3 Informatique - 2008/2009 Sommaire 1 Présentation du sujet...3 2 Manuel technique...3

Plus en détail

Plan. Conseils de Programmation. Types et Classes. Exemple: fraction. Méthodes. Variables locales:

Plan. Conseils de Programmation. Types et Classes. Exemple: fraction. Méthodes. Variables locales: Plan Conseils de Programmation Joël Quinqueton Dépt MIAp, UFR IV UPV Université Montpellier III Types et classes Un exemple de classe Les erreurs en Java L héritage en Java Types primitifs Tableaux Classes:

Plus en détail

Utilisation de Stub en VB.NET Méthode pour développeur en Visual Basic. Apprendre ce qu est un stub et l utiliser dans ses application Visual Basic

Utilisation de Stub en VB.NET Méthode pour développeur en Visual Basic. Apprendre ce qu est un stub et l utiliser dans ses application Visual Basic Utilisation de Stub en VB.NET Méthode pour développeur en Visual Basic Apprendre ce qu est un stub et l utiliser dans ses application Visual Basic H4X0R666 04/04/2010 Utilisation de Stub en VB.NET Sommaire

Plus en détail

WEMAG 99, 3122 031 960 36 36 FAX:

WEMAG 99, 3122 031 960 36 36 FAX: GISA GESTION STOCK Gestion de stock Gestion de stock 2 Tableaux 1 Gestion de stock 4 1.1 Exigences 5 1.1.1 Dans le tableau de maison 5 1.1.2 Dans le tableau d usine 5 1.1.3 Dans le fichier d article général

Plus en détail

Gestion d exceptions

Gestion d exceptions Gestion d exceptions Quelques classes remarquables de JAVA Emmanuel ADAM Institut des Sciences et Techniques de Valenciennes Université de Valenciennes et du Hainaut-Cambrésis source principale : «Thinking

Plus en détail

La Gestion des Exceptions

La Gestion des Exceptions La Gestion des Exceptions Les exceptions Les exceptions représentent le mécanisme de gestion des erreurs intégré au langage Java. Il se compose d'objets représentant les erreurs et d'un ensemble de troismotsclésquipermettentdedétecteretdetraiterceserreurs(try,

Plus en détail

- M2VC-aspnet - serge.tahe@istia.univ-angers.fr, août 2005. m2vc-aspnet, serge.tahe@istia.univ-angers.fr 1/63

- M2VC-aspnet - serge.tahe@istia.univ-angers.fr, août 2005. m2vc-aspnet, serge.tahe@istia.univ-angers.fr 1/63 - M2VC-aspnet - un moteur MVC pour ASP.NET serge.tahe@istia.univ-angers.fr, août 2005 m2vc-aspnet, serge.tahe@istia.univ-angers.fr 1/63 1 Introduction Nous poursuivons ici les articles : 0. [Spring IoC

Plus en détail

ENSTA : cours IN204 Introduction à JAVA et UML

ENSTA : cours IN204 Introduction à JAVA et UML ENSTA : cours IN204 Introduction à JAVA et UML Thierry Bommart DASSAULT AVIATION DGT/DPR/EOS thierry.bommart@dassault-aviation.fr 01.47.11.54.93 Page : 1 Plan Ecole Nationale Supérieure de Techniques Avancées

Plus en détail

SQLite pour Android. Construction de la base de données

SQLite pour Android. Construction de la base de données SQLite pour Android On veut, dans ce TP, construire une application Android qui permet de gérer des contacts (essentiellement un nom associé à un numéro de téléphone). Ces contacts seront mis dans une

Plus en détail

ALIAS-AD. Définition LES TRAITEMENTS PAR LOTS

ALIAS-AD. Définition LES TRAITEMENTS PAR LOTS ALIAS-AD LES TRAITEMENTS PAR Définition Pour le Navigateur Internet explorer, il faut une version >= V.9 RAPPELS Les applications de gestion comprennent des traitements interactifs. On dénomme ainsi les

Plus en détail

Programmation Java Avancée

Programmation Java Avancée Programmation Java Avancée Module RPCI01 Département R&T IUT de Villetaneuse 2 novembre 2015 Département R&T Programmation Java Avancée 2 novembre 2015 1 / 74 Plan du cours 1 La gestion des exceptions

Plus en détail

Gestion des transactions

Gestion des transactions 8 Gestion des transactions Au sommaire de ce chapitre U Problèmes associés à la gestion des transactions U Choisir une implémentation de gestionnaire de transactions U Gérer les transactions par programmation

Plus en détail

Gestion des données avec SQLite sous Android

Gestion des données avec SQLite sous Android Gestion des données avec SQLite sous Android La base de données SQLite SQLite est une base de données Open Source embarquée dans le système Android. SQLite supporte les types suivants : NULL : valeur non

Plus en détail

Enregistrer un nouvel évènement

Enregistrer un nouvel évènement Maintenant que nous avons géré les utilisateurs, voyons l'enregistrement d'un nouvel évènement créé par l'utilisateur qui sera connecté au client. Là encore, nous utiliserons une couche DAO formée d'une

Plus en détail

FILIÈRE MP - OPTION SCIENCES INDUSTRIELLES

FILIÈRE MP - OPTION SCIENCES INDUSTRIELLES ÉCOLE POLYTECHNIQUE ÉCOLE SUPÉRIEURE DE PHYSIQUE ETCHIMIEINDUSTRIELLES CONCOURS 2002 FILIÈRE MP - OPTION SCIENCES INDUSTRIELLES FILIÈRE PC ÉPREUVE FACULTATIVE D INFORMATIQUE (Durée : 2 heures) L utilisation

Plus en détail

Programmation Orientée Objet. Exceptions et assertions

Programmation Orientée Objet. Exceptions et assertions Programmation Orientée Objet Exceptions et assertions Julien Provillard http://www.i3s.unice.fr/~provilla/poo/ julien.provillard@unice.fr Robustesse et Exceptions Error, RuntimeException Exceptions (non)

Plus en détail

TP JUnit 4.12. Première partie Le premier test d'une classe

TP JUnit 4.12. Première partie Le premier test d'une classe TP JUnit 4.12 Récupérez les deux fichiers junit.jar et hamcrest-core.jar à partir de l'url https://github.com/junit-team/junit/wiki/download-and-install (plus précisément à partir de l'url http://junit.org).

Plus en détail

Guide d intégration. Protection de logiciels Windev 5 à Windev 15 avec CopyMinder. Contact commercial : Tél. : 02 47 35 70 35 Email : com@aplika.

Guide d intégration. Protection de logiciels Windev 5 à Windev 15 avec CopyMinder. Contact commercial : Tél. : 02 47 35 70 35 Email : com@aplika. Guide d intégration Protection de logiciels Windev 5 à Windev 15 avec CopyMinder Contact commercial : Tél. : 02 47 35 70 35 Email : com@aplika.fr Contact Technique : Tél. : 02 47 35 53 36 Email : support@aplika.fr

Plus en détail

ENSTA IN204 Introduction à JAVA

ENSTA IN204 Introduction à JAVA Ecole Nationale Supérieure de Techniques Avancées (ENSTA) -http://www.ensta.fr ENSTA IN204 Introduction à JAVA Olivier Sigaud LIP6/AnimatLab olivier.sigaud@lip6.fr 01.44.27.88.53 Ce document est mis à

Plus en détail

Tutorial: compatibilité et directives

Tutorial: compatibilité et directives Tutorial: compatibilité et directives C'est un petit tutorial expliquant globalement comment accroître la compatibilité de vos codes sources en exploitant les caractéristiques de quelques directives de

Plus en détail

Rafraichissement conditionné d'une page en.net

Rafraichissement conditionné d'une page en.net Rafraichissement conditionné d'une page en.net Test avec AJAX pour rafraichissement En utilisant AJAX, voici une possibilité de faire un rafraichissement conditionné. Nous verrons dans cet article une

Plus en détail

Le parallélisme en Java

Le parallélisme en Java Chapitre 7 Le parallélisme en Java L espoir du parallélisme est de pouvoir faire exécuter plusieurs tâches à un ordinateur (avec plusieurs processeurs). Ceci trouve un début d application sur certains

Plus en détail

Exercices INF5171 : série #3 (Automne 2012)

Exercices INF5171 : série #3 (Automne 2012) Exercices INF5171 : série #3 (Automne 2012) 1. Un moniteur pour gérer des ressources Le moniteur MPD 1 présente une première version d'un moniteur, exprimé en pseudo-mpd, pour gérer des ressources le nombre

Plus en détail

Introduction au débogage avec Eclipse

Introduction au débogage avec Eclipse Introduction au débogage avec Eclipse C. Pain-Barre et H. Garreta IUT INFO Année 2006-2007 1 Notion de debogage Tout développeur est confronté un jour à un programme qui plante pour une raison apparemment

Plus en détail

Utilisation de MailCleaner avec Lotus Notes. Solution d extraction et d expédition des informations pertinentes pour traitement par MailCleaner.

Utilisation de MailCleaner avec Lotus Notes. Solution d extraction et d expédition des informations pertinentes pour traitement par MailCleaner. Utilisation de MailCleaner avec Lotus Notes Solution d extraction et d expédition des informations pertinentes pour traitement par MailCleaner.net Marc Croteau NetExpert SA Nov. 2004 Table des matières

Plus en détail

La définition de la classe Test est incomplète, pour définir une classe, il faut mettre deux accolades qui contiennent la définition de

La définition de la classe Test est incomplète, pour définir une classe, il faut mettre deux accolades qui contiennent la définition de Ex 1 1- On crée un fichier Test.java qui contient seulement : public class Test Que se passe t'il si on cherche à le compiler? La définition de la classe Test est incomplète, pour définir une classe, il

Plus en détail

Programmation Objet - Cours II

Programmation Objet - Cours II Programmation Objet - Cours II - Exercices - Page 1 Programmation Objet - Cours II Exercices Auteur : E.Thirion - Dernière mise à jour : 05/07/2015 Les exercices suivants sont en majorité des projets à

Plus en détail

Rapport de projet. Animation de diagrammes d'état - CHAMPION Adrien - ETIENNE Thibaut RIZZI Thibaut 1A - INFO - Groupe EF - G36.

Rapport de projet. Animation de diagrammes d'état - CHAMPION Adrien - ETIENNE Thibaut RIZZI Thibaut 1A - INFO - Groupe EF - G36. Rapport de projet Animation de diagrammes d'état - CHAMPION Adrien - ETIENNE Thibaut RIZZI Thibaut 1A - INFO - Groupe EF - G36 Juin 2008 2 Table des matières 1 Introduction...5 1.1 - Objectif...5 1.2 Choix

Plus en détail

Travaux Pratiques de Réseaux DUT 2 eme année

Travaux Pratiques de Réseaux DUT 2 eme année Travaux Pratiques de Réseaux DUT 2 eme année Copyright c Emmanuel Nataf Chapitre 1 Programmation réseaux 1.1 Communication avec UDP - package java.net Le but de ce TP est de réaliser deux programmes permettant

Plus en détail

MANUEL UTILISATEUR estat'clics

MANUEL UTILISATEUR estat'clics MANUEL UTILISATEUR estat'clics Médiamétrie-eStat Buropolis, Bât 3 1240, route des Dolines Sophia Antipolis 06560 Valbonne Tél : 04 92 38 38 20 Fax : 04 92 96 91 25 E-mail : serviceclient@mediametrie-estat.com

Plus en détail

Java Licence professionnelle CISI 2009-2010

Java Licence professionnelle CISI 2009-2010 Java Licence professionnelle CISI 2009-2010 Cours 10 : Type générique (c) http://manu.e3b.org/java/tutoriels/avance/generique.pdf 1 Introduction La programmation générique - nouveauté la plus significative

Plus en détail

8. Protection des SGBD

8. Protection des SGBD 8. Protection des SGBD 8.1 Introduction Les SGBD courent certains dangers que nous pouvons répertorier en : - accidents logiciels - utilisation pernicieuse - pannes matérielles Les SGBD doivent faire face

Plus en détail

Cours: BD et Environnement Distribuées

Cours: BD et Environnement Distribuées UNIVERSITÉ DE BOURGOGNE UFR Sciences et Techniques Cours: BD et Environnement Distribuées TP 4 - Mapping Objet Relationnel Préparé par: MATTA Elie et al. Copyright 2010-2011, eliematta.com. All rights

Plus en détail

Correction langage Java

Correction langage Java MINISTÈRE DE L ÉCOLOGIE, DU DÉVELOPPEMENT DURABLE, DES TRANSPORTS ET DU LOGEMENT EXAMEN PROFESSIONNEL DE VÉRIFICATION D APTIDUDE AUX FONCTIONS DE PROGRAMMEUR Session 2010 Correction langage Java Langage:

Plus en détail

FORMATION VB.NET Visual Studio 2008

FORMATION VB.NET Visual Studio 2008 FORMATION VB.NET Visual Studio 2008 Livret 1 Introduction à Visuàl Studio Thierry TILLIER http://www.coursdinfo.fr Ce support de cours est réservé à un usage personnel. Toute utilisation et diffusion dans

Plus en détail

TP Interface graphique et C++ numéro 1

TP Interface graphique et C++ numéro 1 TP Interface graphique et C++ numéro 1 Master IGC - 1 re année année 2010-2011 Ce premier TP a pour objectif de vous familiariser avec le compilateur C++, les entréessorties du langage et l utilisation

Plus en détail

Transfert de fichiers en utilisant un Web Service avec la technologie MTOM et WSE 3.0

Transfert de fichiers en utilisant un Web Service avec la technologie MTOM et WSE 3.0 Transfert de fichiers en utilisant un Web Service avec la technologie MTOM et WSE 3.0 par Jean-Alain Baeyens (autres articles) Date de publication : 17/01/2008 Dernière mise à jour : Si vous utilisez une

Plus en détail

OT 10 Mode d'emploi destiné aux clients

OT 10 Mode d'emploi destiné aux clients OT 10 Mode d'emploi destiné aux clients Fran Goossens Version 1.0-18/09/2013 Version 2.0 18/11/2014 Table des Matières 1 Introduction...Error! Bookmark not defined. 1.1 OMNITRACKER : qu'est-ce que c'est?...

Plus en détail

Annexe du cours Conception des sites web marchands et mobiles

Annexe du cours Conception des sites web marchands et mobiles Conception des sites web marchands et mobiles Nassim BAHRI {contact@nassimbahri.ovh} 1 Novembre 2015 1 Diagramme de séquence système Les cas d'utilisation décrivent les interactions des acteurs avec le

Plus en détail

Langage de programmation C++

Langage de programmation C++ Langage de programmation C++ Mohamed Tounsi Institut Supérieur d'informatique et Mathématiques Monastir Janvier 2013 Mohamed Tounsi (ISIMM) Langage de programmation C++ Janvier 2013 1 / 14 La notion de

Plus en détail

this Vs. static Introduction Utilisation de this

this Vs. static Introduction Utilisation de this Introduction this Vs. static Si vous avez essayé d écrire d importants programmes Java multi-classes, vous avez certainement eu des problème de communication entre plusieurs classes. Pour appeler à partir

Plus en détail

Éléments de base en Java (suite et fin)

Éléments de base en Java (suite et fin) Éléments de base en Java (suite et fin) P.O.O. LMI 2 Semestre 4 Option Info Année 2008-09 1/33 Éléments de base en Java (suite et fin) Année 2008-09 Plan du cours Les chaînes de caractères Retour vers

Plus en détail

Incohérences au niveau de la modélisation

Incohérences au niveau de la modélisation Incohérences au niveau de la modélisation Software Group Claudio Grolimund: Il importe d identifier et éliminer les incohérences à l échelle des modèles, a souligné le professeur Alexander Egyed dans le

Plus en détail

Contrôle des transactions

Contrôle des transactions Note technique W4 Engine Contrôle des transactions Cette note technique décrit le contrôle des transactions par les applications utilisant le serveur W4 Engine. Versions de W4 Engine concernées : 6.0 et

Plus en détail

VOTRE BOÎTE AUX LETTRES 21 AVRIL 2004

VOTRE BOÎTE AUX LETTRES 21 AVRIL 2004 EN FISCALITÉ - DEUX BONNES NOUVELLES Tel que promis dans notre message inclus dans "Votre boîte aux lettres" du 9 avril 2004, nous avons obtenu des réponses claires et relativement favorables à l'égard

Plus en détail