Outil de gestion d une bibliothèque personnelle

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

Download "Outil de gestion d une bibliothèque personnelle"

Transcription

1 Outil de gestion d une bibliothèque personnelle Projet de licence professionnelle en conception et développement orientés objet d applications multi tiers à l université de Franche-Comté Dominguez Jonathan Ragot Alexis Encadré par FELEA Violeta Session 2013 /2014

2 Sommaire Remerciements... 3 Introduction... 4 I Outil de gestion d une bibliothèque personnelle - Besoins Fonctionnalités... 5 II Analyse... 6 III Aspects conceptuels et technologiques - L architecture n-tiers Le modèle MVC Les design patterns Logiciels et langages utilisés IV Développement de l application de gestion de bibliothèque - Description technique du modèle MVC Description technique du tier Métier Description technique du tier Physique Les API utilisés Bootstrap Paramétrage de l application Le téléchargement de fichiers V Gestion du projet - Diagramme de Gantt Travail en binôme Conclusion ANNEXES - Règles de codage Glossaire Interfaces utilisateurs Diagrammes UML métier et physique Méthode de positionnement des livres Netographie Bibliographie Outil de gestion d une bibliothèque personnelle page 2/33

3 Remerciements Nous tenons à remercier dans un premier temps, toute l équipe pédagogique de l'université de Franche-Comté et les intervenants professionnels responsables de la licence professionnelle Conception et développement orientés objet d'applications multi-tiers, pour avoir assuré la partie théorique de celle-ci. Nous remercions également Madame Felea notre enseignante tutrice pour l aide et les conseils concernant le projet et à l'élaboration du rapport. Outil de gestion d une bibliothèque personnelle page 3/33

4 Introduction Le projet de Licence Professionnelle informatique est très important pour l obtention du diplôme. Outre pour ce diplôme, ce projet est un plus sur le CV pour notre avenir. L'équipe de projet est constitué de Ragot Alexis et de Dominguez Jonathan. Nous avons choisi de faire l application permettant de gérer une bibliothèque personnelle. Nous avons choisi ce projet pour deux raisons différentes mais complémentaires, la partie JEE que nous ne connaissions pas avant et la partie en Java que nous voulions approfondir. Ce projet a été proposé par l'enseignante en JEE madame Violeta Felea, cours qui ont été effectués lors du second semestre. Ce projet a pour but de proposer une application permettant la gestion d'une bibliothèque personnelle tout en offrant un accès informatique aux utilisateurs. C'est à partir de cela que nous avons élaboré un cahier des charges avec notre tutrice. La première nouveauté a été l'utilisation de la plateforme JEE avant que les cours nous soient dispensés. Puis nous présenterons des API Open Source pour certaines fonctionnalités. Nous allons donc voir à travers ce rapport dans une première partie une présentation du projet ainsi que ces principaux objectifs. Puis nous verrons quels ont été nos choix pour effectuer ce projet. Et finalement, le résultat de ce travail. Outil de gestion d une bibliothèque personnelle page 4/33

5 1) Le besoin I. Outil de gestion d une bibliothèque personnelle L organisation d une bibliothèque personnelle s avère facilitée par des outils informatiques. Il s agit premièrement de fournir un inventaire de tout ouvrage présent dans la bibliothèque, sous forme d un catalogue. Semblable aux outils présents dans les bibliothèques publiques (municipales, universitaire), l application de gestion d une bibliothèque personnelle fournit aussi une aide organisationnelle (à une toute autre échelle comparée aux bibliothèques publiques, mais tout aussi utile) : positionner un ouvrage dans une bibliothèque et être capable de le retrouver facilement. Proposer des solutions d organisation et les intégrer dans l application constituent également des attentes du projet. 2) Fonctionnalités L'application propose deux types d'accès différents, bibliothécaire et utilisateur, car l'application propose des fonctionnalités supplémentaires à la bibliothécaire servant à gérer la bibliothèque. En effet la bibliothécaire peut ajouter, modifier et supprimer un livre ainsi qu'une armoire (ellemême obligatoirement composée d'étagères). Chaque livre peut exister en plusieurs exemplaires et peut posséder plusieurs volumes différents. La bibliothécaire peut aussi effectuer une sauvegarde entière des données sous un format Excel et peut charger un ensemble de livres à partir d'un fichier Excel. L'application possède aussi une fonctionnalité permettant de ranger automatiquement la bibliothèque avec des armoires et des étagères rentrées au préalable dans l'application. Par ailleurs, celles-ci sont sauvegardées au même titre que les livres. De plus la bibliothécaire peut visualiser et modifier les structures sauvegardées. L'application met à disposition la possibilité d'effectuer des recherches avec mot-clé en fonction des caractéristiques d un livre (titre, auteur, catégorie) avec comme option de n'afficher que les livres avec de multiples exemplaires. Pour que les recherches soient facilement accessibles et utilisables elles peuvent être sauvegardé sous un format PDF. L'application propose aussi une pagination dans la page de recherche afin que les résultats soit affichable sur plusieurs pages pour une meilleur lisibilité. Outil de gestion d une bibliothèque personnelle page 5/33

6 II. Analyse L analyse du système a permis d établir le diagramme d entités ci-dessous. Les classes entités sont les classes dont il faudra assurer la persistance. Analyse pour la gestion des livres Afin de pouvoir répondre aux fonctionnalités demandées, nous choisissons de créer une entité Livre. Cette entité comportera différents attributs tels que son auteur, son titre, son tome, son nombre d exemplaire, son origine, son année de parution, son prix ainsi qu un objet de l entité Catégorie. Par ailleurs, la séparation de la catégorie du livre permet de faciliter le développement car diverses fonctionnalités nécessiteront uniquement la catégorie et non le livre. Analyse pour le rangement : Le rangement automatique des livres n est pas une tâche simple et nécessite une analyse. Le but de cette fonctionnalité est de pouvoir retrouver le livre physiquement dans une bibliothèque. Pour pouvoir réaliser cette fonctionnalité nous définissons des structures. Ces structures possèdent un nom ainsi qu un ensemble d armoires. De même que les structures, les armoires ont un nom mais sont composées d étagères. Outil de gestion d une bibliothèque personnelle page 6/33

7 Les étagères ont différents attributs, afin de représenter au mieux la réalité. Ces attributs sont : - Un numéro représentant l étagère au sein de l armoire (1,2,3...) - Le nombre de livres pouvant être mis l un à côté de l autre sur l étagère (une marge en pourcentage est défini pour ce nombre afin d avoir une flexibilité) - Le nombre de livres pouvant être l un derrière l autre (profondeur) - Le nombre de livres pouvant se superposer l un par dessus l autre (hauteur). Lors du rangement, chaque livre aura comme position : - Le nom de l armoire dans laquelle il se trouve - Le numéro de l étagère - Le numéro de la rangée en profondeur - Le numéro de la rangée en hauteur Chacune de ces informations sur la position sont séparées par le caractère "-" afin d obtenir une valeur lisible. (La méthode résultante de cette analyse est présente dans l'annexe) Analyse de l aspect visuel : Une partie de l'analyse consistait à réaliser des croquis des interfaces utilisateurs. Les principales interfaces résultantes de cette analyse sont les suivantes : - La page d accueil (qui nous informe sur le nombre total de livre physique dans la bibliothèque) - La page de recherche avec l affichage des livres (recherche selon l auteur, le titre et la catégorie) - La page d ajout d exemplaires pour un livre - La page d ajout d un livre - La page de suppression d exemplaire ou de livre - La page d information sur la structure d une armoire - La page de visualisation des armoires en fonction de la structure choisi. - La page de sauvegarde de l ensemble des livre de la bibliothèque en fichier Excel - La page de sauvegarde d une recherche en fichier PDF Ces pages sont visibles dans l annexe. Outil de gestion d une bibliothèque personnelle page 7/33

8 III. Aspects conceptuels et technologiques L architecture et les principes de développement sont le cœur d une application. Les respecter favorise une maintenance et une évolution simple de l application. Ce chapitre aborde l architecture de l application, le modèle MVC, les design patterns ainsi que les différents logiciels et langages utilisés. 1) L architecture n-tiers L architecture en n-tiers définit, que lors du l utilisation de l application celle-ci peut être déployée sur "n" postes différents. Plus il y a de tier, plus l application est facilement réutilisable, maintenable et évolutive. L outil de gestion est demandé pour une bibliothèque personnelle ; par conséquent, nous avons décidé d utiliser une architecture en 3-tiers qui sont : Le tier Client correspondant à l'affichage, la restitution des infos sur le poste de travail de l utilisateur, le dialogue avec l'utilisateur Le tier Métier correspondant à la mise en œuvre de l'ensemble des règles de gestion et de la logique applicative Le tier Physique correspondant aux données qui sont destinées à être conservées sur la durée, voire de manière définitive. Outil de gestion d une bibliothèque personnelle page 8/33

9 2) Le modèle MVC Le modèle MVC ou Model View Controller, s intègre à l architecture en 3-tiers. Il va approfondir la relation entre les tiers Métier et Client. Model représente le tier Métier. View est matérialisé par des interfaces avec le client donc le tier Client. Controller réalise le lien entre les tiers Métier et Client. Il récupère des informations provenant de l interface utilisateur, il utilise le tier Métier pour des traitements et modifie l interface utilisateur. Un avantage apporté par ce modèle est la clarté de l'architecture qu'il impose. Cela simplifie la tâche du développeur qui tenterait d'effectuer une maintenance ou une amélioration sur le projet. En effet, la modification des traitements dans le modèle ne change en rien la vue. Par exemple on peut passer d'une base de données de type SQL à XML en changeant simplement les traitements d'interaction avec la base, et les vues ne s'en trouvent pas affectées. 3) Les design patterns Un design pattern est une solution donnée à un problème récurrent. Cela permet de résoudre des problèmes connus et fréquents par des méthodologies. Nous avons utilisé les designs patterns Factory et Singleton. Le design pattern Factory permet d'instancier plusieurs classes différentes héritant d'une même classe Interface. Le design pattern Singleton est utilisé pour limiter le nombre d'exemplaires d'un objet, ici une seule instanciation par implémentation. Chacune de ces instanciations est unique grâce au design pattern Singleton. Les designs patterns Factory et Singleton sont utilisés avec les classes java "MetierFactory" ainsi que "Physique Factory". Exemple : Outil de gestion d une bibliothèque personnelle page 9/33

10 La Factory possède un objet du type de l'interface, ici StructureBibliothequeService, et un accesseur qui lui est associé. Dans cet accesseur on vérifie si l'objet est nul ; si c est le cas on initialise cet objet avec le constructeur de l'implémentation (polymorphisme). Cela signifie aussi que l'objet est initialisé une seule fois, la première fois que la méthode est appelée (Design pattern Singleton). Le mot clé "static" devant une méthode (ou variable) indique que celle-ci n'appartient pas à une instance particulière de la classe. Dans les classes factory, les methodes static permettent de récupérer les attributs, eux aussi statiques, sans instancier la classe. Cela permet de récupérer les instances des implémentations qui ne sont faite qu une seule fois. 4) Logiciels et langages Langages: Java / JEE (JDK 7 et JRE 7) SQL HTML 5 (avec CSS 3) Outil de gestion d une bibliothèque personnelle page 10/33

11 Serveur d applications : Glassfish 4 (uniquement pour sa partie serveur web) Environnement de développement : Netbeans 7.4 Système de gestion de base de données : MySQL Outil de gestion d une bibliothèque personnelle page 11/33

12 IV. Développement de l application de gestion d une bibliothèque 1) Description technique du modèle MVC pour les application web avec Java Pour le développement de l application, divers choix technologiques ont été effectués tels que l utilisation de la plateforme Java JEE. Ce langage peut s adapter sur le modèle MVC, nous expliquerons comment ce langage et ce modèle s associent. Tout d abord, la communication entre la vue et le contrôleur. Avec la plateforme JEE, les vues seront les pages ".jsp" et les contrôleurs seront les "servlets". Nous prendrons comme exemple la page de connexion de notre application qui est «Connexion.jsp» La vue transmet les informations par le biais d un formulaire simplifié comme ci-dessous. Connexion.jsp <form action="/bibliothequejee/connexion" method="post"> <input type="text" name="login" placeholder="login"/> <input type="password" name="mdp"/> <input type="submit" value="connexion"/> </form> Quatre aspects sont importants, les noms des deux champs de saisie (login et mdp), la méthode du formulaire (post) ainsi que l action de ce formulaire vers la servlet «Connexion.java». Cette action fait référence à un lien défini dans le descripteur de déploiement «web.xml» qui est obligatoire à réaliser lors de la création de la servlet. web.xml <servlet> <servlet-name>connexion</servlet-name> <servlet-class>controleur.connexion</servlet-class> </servlet> <servlet-mapping> <servlet-name>connexion</servlet-name> <url-pattern>/connexion</url-pattern> </servlet-mapping> Le premier paragraphe ci-dessus permet de définir un nom (avec la balise <servlet-name>) qui sera associé à une classe (avec la balise <servlet-class>). Cette association est réalisée dans l élément "<servlet>". Une fois cette association effectuée, il faut définir un chemin d accès. Pour cela, l élément <servlet-mapping> permet, grâce au nom de servlet définie précédemment, de définir une URL d accès (avec l élément <url-pattern>). Maintenant que le formulaire envoie les informations au contrôleur voulut, nous montrons comment "Connexion.jave" les récupère. Outil de gestion d une bibliothèque personnelle page 12/33

13 Le contrôleur est composé de la méthode dopost() que nous utilisons car elle correspond à la méthode de notre formulaire. package controleur; public class Connexion extends HttpServlet { protected void dopost(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { boolean connexion; //Récupération des champs du formulaire String login = request.getparameter("login"); String mdp = request.getparameter("mdp"); // Traitement de l information avec par le tier métier Controleur controleur = Metier.MetierFactory.getControleur() ; connexion = controleur.verificationconnexion(login, mdp); } } request.setattribute("connexion", connexion); this.getservletcontext().getrequestdispatcher("connexion.jsp").forward( request, response ); On peut apercevoir que la méthode dopost() dispose comme paramètre d un objet "HttpServletRequest". Cet objet est important car il permet de récupérer les informations envoyées par les formulaires avec "request.getparameter("login") ;" en indiquant le nom du champ correspondant du formulaire afin de récupérer la valeur saisie. Ensuite, le contrôleur appelle une méthode du tier Métier et récupérer un booléen. Ce booléen est enregistré comme attribut de requête grâce à "request.setattribute("connexion", connexion);". Le premier paramètre sera le nom sous lequel le booléen est enregistré. Pour finir, on appelle la JSP "Connexion.jsp" en lui donnant l objet "HttpServletRequest". Elle pourra ainsi récupérer la valeur du booléen enregistré en utilisant la méthode "request.getattribut("connexion"); " entre les balises permettant d écrire du code Java (les scriptlet <%,%>). <% boolean connexion = Boolean.parseBoolean((String)request.getAttribute("connexion")); %> Outil de gestion d une bibliothèque personnelle page 13/33

14 2) Description technique du tier Métier Dans ce tier se trouvent : - Les entités. - Les interfaces. - Les implémentations de celles-ci. - Une factory pour récupérer les instanciations des interfaces du tier Métier. - Une classe contrôleur où se font les calculs pour certaines méthodes. Une modélisation de la factory et des interfaces est présente en annexe. Voici une méthode de la classe contrôleur réalisant un tri dans une liste comportant des livres : Cette méthode reçoit en paramètre une liste d'objet "Livre", un "int" représentant par quel attribut l'utilisateur veut-il trier la liste et un "int" précisant si la liste sera triée dans l'ordre croissant ou décroissant que l'on applique à un attribut de "Livre" qui sera expliqué plus tard. Pour ce faire l'objet Livre possède un objet de type "Comparator<Livre>" pour chaque attribut selon lequel on peut trier. Cette méthode est utilisée pour trier une recherche de livres selon différents critères. Outil de gestion d une bibliothèque personnelle page 14/33

15 Ici on vérifie si la valeur de l'attribut (titre) selon lequel on veut trier est égale dans les deux objets "Livre". En cas affirmatif on trie selon un autre attribut (auteur). Autrement, on trie avec l'attribut de départ. C est dans cette méthode que s applique le parametre "croissantornot" qui permet de définir un tri croissant ou décroissant. En effet la méthode "comparetoignorecase" renvoit un "int" indiquant la position du livre "arg0" par rapport à "arg1". Si l'utilisateur veut que ce soit croissant alors le "int" vaudra 1 et ne changera rien car à la base, le tri est croissant. Cependant si l'utilisateur veut un tri décroissant alors "croissantornot" vaudra -1 et cela inversera tout simplement les résultats. 3) Description technique du tier Physique Dans ce tier se trouvent : - Les interfaces. - Les implémentations de celles-ci. - Une factory pour l'accès de la couche métier à physique (et uniquement en ce sens) - Une classe gérant la connexion avec la base de données où se font les actions pour certaines méthodes. Une modélisation de la factory et des interfaces est présente en annexe. Voici une méthode permettant l'ajout(«insert INTO») d'un objet "Livre" dans la table «livre» grâce à une requête SQL. Cette requête est exécuté par un objet Statement récupéré grâce à une autre classe créée pour gérer la connexion avec la base de données. Outil de gestion d une bibliothèque personnelle page 15/33

16 4) Les API utilisées Afin de pouvoir sauvegarder sous format PDF une recherche faite au préalable dans l application et ainsi faciliter la recherche d un livre dans la bibliothèque, nous utilisons l'api itextpdf. Cette API nous permet de générer un fichier PDF et d y écrire. Voici un exemple simple de création d un fichier PDF contenant le texte «Hello World» : Document document = new Document(PageSize.A4); try { PdfWriter.getInstance(document, new FileOutputStream("c:/test.pdf")); document.open(); document.add(new Paragraph("Hello World")); } catch (Exception e) { e.printstacktrace(); } document.close(); Pour qu'un(e) bibliothécaire puisse charger un ensemble de livre à partir d'un fichier Excel nous utilisons les API FileUpload et Apache POI. Cette dernière nous permet de lire mais aussi d'écrire un fichier Excel (.xls), ce qui est utilisé pour pouvoir effectuer une sauvegarde de la base de données sous format Excel (.xls). Ces fichiers possèdent un format bien particulier dans notre application qui est précisé lors de la possible mise à jour. Cette fonctionnalité impose le standard de fichier Excel (.xls). Le programme lit chaque feuille, chaque ligne et chaque cellule du fichier Excel dans un ordre bien précis. Voici un exemple simple de création d un fichier Excel : HSSFWorkbook wb = new HSSFWorkbook(); FileOutputStream fileout; try { fileout = new FileOutputStream("monfichier.xls"); wb.write(fileout); fileout.close(); } catch (Exception e) { e.printstacktrace(); } Outil de gestion d une bibliothèque personnelle page 16/33

17 L API FileUpload nous permet de transférer facilement un fichier du client au serveur. Pour ce faire, il est nécessaire de créer un formulaire disposant d un champ "input" de type "file" et de préciser dans la balise "form" un attribut "enctype" ayant pour valeur "multipart/form-data". Voici la récupération par la servlet : List<FileItem> items = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request); for (FileItem item : items) { if (!item.isformfield()) { // Traiter les champs de type fichier (input type="file") String nomfichier = FilenameUtils.getName(item.getName()); if(nomfichier.endswith(".xls")){ InputStream is = item.getinputstream(); Controleur controleur = Metier.MetierFactory.getControleur(); controleur.liresauvegardeexcel(is); } } } Pour notre projet, seul le flux du fichier a été récupéré et il n a pas été sauvegardé sur le serveur. Pour se connecter à la base de données MySql nous avons utilisé l'api JDBC. JDBC est un ensemble de classes permettant de développer des applications capables de se connecter à des serveurs de base de données. Outil de gestion d une bibliothèque personnelle page 17/33

18 Voici un exemple illustrant la connexion à une base de données et l exécution d une requête Sql : Cette requête SQL permet d extraire tous les livres sauvegardés dans la table "livre" de la base de données "bibliotheque". 5) Boostrap Bootstrap est une collection d outils utiles à la création de sites web et d applications web. Il offre un ensemble de CSS et d extensions JavaScript. Pour l application il permet de rendre le site «responsive design» c est-à-dire qu il s adaptera à n importe quelle taille d écran (PC, tablette, smartphone, etc...). Outil de gestion d une bibliothèque personnelle page 18/33

19 6) Paramétrage de l application Au lancement du serveur Glassfish, une servlet est appelée afin de récupérer des informations relatives au bon fonctionnement de l'application. Cette servlet reçoit les informations par le biais du descripteur de déploiement "web.xml" dans lequel il peut être défini pour chaque servlet une valeur associée à un nom. <init-param> <param-name>pagination</param-name> <param-value>15</param-value> </init-param> <init-param> <param-name>connectionproperties</param-name> <param-value>connectionconfig</param-value> </init-param> Dans cet extrait, nous définissons une variable "pagination" ayant pour valeur "15". C'est ici qu'il est possible de modifier le nombre de livres affichables par page. De plus ce fichier xml nous renseigne sur une variable ayant pour valeur "connectionconfig", ceci est le chemin du fichier "connectionconfig.properties". L intérêt de ce fichier de propriétés est qu'il est facilement modifiable et nécessite peu de temps pour pouvoir être modifié. Ce fichier est utile pour pouvoir modifier facilement tous les paramètres de connexion à la base de données. Voici un exemple pour enregistrer une valeur dans un fichier de propriétés : nombase=bibliotheque On remarque qu'il suffit simplement de mettre un nom que l'on initialise avec une valeur. Afin de récupérer cette valeur, nous avons créé un objet "ResourceBundle" et récupérer la valeur à l'aide du nom de celle-ci dans le fichier de propriétés : ResourceBundle rb = ResourceBundle.getBundle(url); String base = rb.getstring("nombase"); 7) Le téléchargement de fichiers Le download est utilisé pour la sauvegarde d une recherche en PDF. Pour le réaliser, il faut préciser dans le constructeur de l objet PdfWriter que l on écrit dans le flux de sorti, qui sera transmis au client. Ensuite, une fois le flux créé, on écrit dans ce flux le contenu du fichier PDF. PdfWriter pdfwriter = PdfWriter.getInstance(myPDF, response.getoutputstream()); mypdf.open(); Paragraph paragraph = controleur.imprimerrecherche(livres, critere); mypdf.add(paragraph); mypdf.close(); response.getoutputstream().close(); Outil de gestion d une bibliothèque personnelle page 19/33

20 V. Gestion du projet 1) Diagramme de Gantt Afin de mieux gérer l organisation du travail nous avons établi dès le début du projet un diagramme de Gantt. Ce premier diagramme nous a permis d avoir une vision du rythme de travail mais il ne représente pas la réalité. Voici le diagramme de Gantt en temps réel au cours de l évolution du projet. Outil de gestion d une bibliothèque personnelle page 20/33

21 2) Travail en binôme Le travail en binôme au sein d un même projet n est pas toujours simple, c est pourquoi nous avons décidé d utiliser un outil appelé Github. Cet outil fournit un service d hébergement d application web et de gestion de logiciels pour permettre à plusieurs personnes de travailler sur un projet simultanément. De plus il est directement incorporé à l environnement de développement NetBeans utilisé et permet ainsi une utilisation simple et rapide. Pour ce projet, la répartition des tâches a été une chose simple car nos attentes étaient vraiment complémentaires. Globalement, Dominguez Jonathan a réalisé les tiers métier et physique tandis que Ragot Alexis a développé le tier Client avec l application du modèle MVC. Outil de gestion d une bibliothèque personnelle page 21/33

22 Conclusion Dans le cadre de notre projet nous avons réalisé une application web pour gérer une bibliothèque. Cette application permet de gérer les livres d'une bibliothèque de manière ergonomique tout en proposant des fonctionnalités de sauvegarde de la base de données, d'import de base de données et de rangement de bibliothèque. De plus, l'application offre la possibilité aux utilisateurs d'effectuer des recherches avec mot clé et critères multiples et d'en sauvegarder les résultats. Le tout sur un navigateur web pouvant s'adapter à n'importe quel support technologique (ordinateur, tablette, portable, ). Cependant, des améliorations possibles existent. En effet, le système de rangement ne range pas de manière la plus optimale. Le rangement se fait par origine et catégorie mais ne prend pas en compte l'épaisseur des livres. Il est donc possible que des livres plus volumineux perturbent les positions affectées. De plus, la lecture de fichier Excel se limite au format.xls, une amélioration possible serait de rendre la lecture compatible avec le format.ods. Nous avons rencontré un problème avec les accents roumains et n'avons réussi à trouver une solution. Ce projet nous a permis d appliquer les connaissances qui nous ont été dispensées au cours de cette année de Licence Professionnelle à l'université de Franche-Comté. Nous avons appris à utilisé des technologies que nous ne connaissions pas et que nous n'aurions jamais connus en cours. Nous avons été confrontés à de nombreux problèmes auxquels nous avons trouvé des solutions. Pour ce projet nous n'avons que peu de temps pour réaliser ce que nous souhaitions faire, cependant cela a été une bonne expérience et nous a beaucoup apportées. Outil de gestion d une bibliothèque personnelle page 22/33

23 ANNEXES 1) Règles de codage Les règles de codage sont un ensemble de règles à suivre pour uniformiser les pratiques de développements logiciel, diffuser les bonnes pratiques de développement et éviter les erreurs de développement classiques au sein d un groupe de développeurs. Elles permettent d assurer une meilleure lisibilité du code en utilisant le même style de codage et en évitant les constructions qui rendent le code difficile à lire ou à modifier. Les règles de codage participent à la qualité logicielle. Ainsi, plus l importance des développements est élevée, plus les besoins en règles de codages sont nécessaire. CamelCase : Le camelcase c est la manière la plus utilisée pour le nommage en Java. CamelCase, cela signifie que chaque première lettre d un mot (variable, methode etc...) prend une majuscule, que tous les mots sont collés les uns aux autres et petite subtilité, le premier mot ne prend pas de majuscule (sauf pour une classe). Pourquoi camelcase, parce que ça ressemble aux bosses d un chameau. Les classes : Les classes sont nommées selon la méthode camelcase et comportent généralement un verbe d action. Exemple : Recherche, SauvegardeExcel, etc. En plus de cela, il faut savoir que dans une classe on retrouve souvent des méthodes de type getter et setter (accesseur, modificateur), pour récupérer une variable de classe ou la modifier sans toucher directement à la variable. Les getters et setters se nomment généralement getnomdelavariable() et setnomdelvariable(object nomdelavariable). Il existe également d autres mot-clés fréquemment utilisés comme add et remove (ajout, supprimer) pour ajouter et supprimer quelque chose : addsomething(object something), removeall(), etc. Les variables : Les variables commencent selon en camelcase par une lettre (a-z). Le nom d une variable devrait être court et clair. Les variables à un caractère sont à éviter sauf pour un usage temporaire (i, j, k, l, m, n pour les entiers et c, d, e pour les caractères). Exemples : nombrelivre, listelivre, i, etc. Outil de gestion d une bibliothèque personnelle page 23/33

24 2) Glossaire MVC : Model View Controller (Modèle Vue Contrôleur) JSP : JavaServer Pages UML : Unified Modeling Language JEE : Java Enterprise Edition IDE : Integrated Development Environment (Environnement de Développement Intégré) API : Application Programming Interface HTML : Hypertext Markup Language PDF : Portable Document Format CSS : Cascading Style Sheets SQL : Structured Query Language CDOOAM : Conception et Développement Orientés Objet d Application Multi tiers Outil de gestion d une bibliothèque personnelle page 24/33

25 3) Interfaces utilisateurs Voici quelques interfaces utilisateurs de l'application. La page d'accueil La page de recherche avec l'affichage du résultat d une recherche Outil de gestion d une bibliothèque personnelle page 25/33

26 La page d'ajout d'exemplaires pour un livre La page d'ajout d'un livre Outil de gestion d une bibliothèque personnelle page 26/33

27 La page d'information sur la structure d une armoire La page de supression d'exemplaire ou de livre Outil de gestion d une bibliothèque personnelle page 27/33

28 La page de visualisation d'une structure La page de sauvegarde de la base de données en fichier Excel Outil de gestion d une bibliothèque personnelle page 28/33

29 La page de sauvegarde d'une recherche en fichier PDF. Outil de gestion d une bibliothèque personnelle page 29/33

30 4) Diagrammes UML métier et physique Diagramme du tier physique Diagramme du tier métier Outil de gestion d une bibliothèque personnelle page 30/33

31 5) Méthode de positionnement des livres Outil de gestion d une bibliothèque personnelle page 31/33

32 Netographie Site communautaire : (Consulté Février 2014) (Consulté Février 2014) Site officiel : (Consulté Février 2014) Site API : (Consulté Février 2014) (Consulté Février 2014) (Consulté Février 2014) (Consulté Février 2014) Bibliographie Goncalves, Antonio. Java EE6 et Glassfish 3. Pearson, 554. Outil de gestion d une bibliothèque personnelle page 32/33

33 Résumé Dans le cadre de notre projet de Licence Professionnelle CDOOAM de l'université de Franche- Comté, nous avons développé une application permettant de gérer une bibliothèque. Cette application a été développée sur la plateforme JEE, elle permet de gérer le contenu physique d'une bibliothèque. Elle permet aussi à des utilisateurs, avec des accès limités à certaines fonctionnalités, de l'utiliser. L'application offre la possibilité de ranger automatiquement les livres enregistrés, par le calcul de la position du livre dans la bibliothèque. Le fait de développer une telle application se montre utile dans la gestion, parfois fastidieuse, d'une grande bibliothèque personnelle. Mots-clés : Bibliothèque, Java, JEE, n-tiers, Singleton, Factory, MVC, itext, Apache POI, FileUpload, Bootstrap Summary As part of our project of professional licence CDOOAM from the University of Franche-Comté, we have developed an application to manage a library. This application has been developed on the JEE platform, it can manage the physical contents of a library. It also enables users with limited access to use some features. The application offers the possibility to automatically store books recorded by the calculation of the position of the book in the library. The fact of developing such application shows itself useful in management, sometimes tedious, of a large personal library. Keyword : Library, Java, JEE, n-tiers, Singleton, Factory, MVC, itext, Apache POI, FileUpload, Bootstrap

Avant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4

Avant-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étail

Application web de gestion de comptes en banques

Application web de gestion de comptes en banques Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion

Plus en détail

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.

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. 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étail

Refonte front-office / back-office - Architecture & Conception -

Refonte front-office / back-office - Architecture & Conception - Refonte front-office / back-office - Architecture & Conception - GLG204 - Architectures Logicielles Java 2008/2009 Nom : Cédric Poisson Matricule : 06-49012 Version : 1.0 Jeudi 28 mai 2009 1 / 23 Table

Plus en détail

Web Tier : déploiement de servlets

Web Tier : déploiement de servlets Web Tier : déploiement de servlets 1 / 35 Plan 1 Introduction 2 Servlet : Principe de fonctionnement 3 Création et développement sur un serveur JEE 4 Quelques méthodes de l API des servlets 5 Utilisation

Plus en détail

Devenez un véritable développeur web en 3 mois!

Devenez 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étail

Architecture Orientée Service, JSON et API REST

Architecture Orientée Service, JSON et API REST UPMC 3 février 2015 Précedemment, en LI328 Architecture générale du projet Programmation serveur Servlet/TOMCAT Aujourd hui Quelques mots sur les SOA API - REST Le format JSON API - REST et Servlet API

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : 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étail

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Projet 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étail

Cours en ligne Développement Java pour le web

Cours en ligne Développement Java pour le web Cours en ligne Développement Java pour le web We TrainFrance info@wetrainfrance Programme général du cours Développement Java pour le web Module 1 - Programmation J2ee A) Bases de programmation Java Unité

Plus en détail

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

Architecture 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étail

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées PRODIGE V3 Manuel utilisateurs Consultation des métadonnées Pour plus d'information sur le dispositif : à remplir par chaque site éventuellement 2 PRODIGE V3 : Consultation des métadonnées SOMMAIRE 1.

Plus en détail

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Module 1 : Programmer une application informatique Durée

Plus en détail

Compte Rendu d intégration d application

Compte 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étail

Java pour le Web. Cours Java - F. Michel

Java 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étail

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

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES WEB & DÉVELOPPEMENT LES BASES DU WEB HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES LE LANGAGE HTML STRUCTURE D UNE PAGE En-tête et corps Syntaxe INSÉRER DES CONTENUS Texte : formatage (titre,

Plus en détail

Module BD et sites WEB

Module BD et sites WEB Module BD et sites WEB Cours 8 Bases de données et Web Anne Doucet [email protected] 1 Le Web Architecture Architectures Web Client/serveur 3-tiers Serveurs d applications Web et BD Couplage HTML-BD

Plus en détail

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Architecture 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é[email protected]

Plus en détail

1. Installation d'un serveur d'application JBoss:

1. Installation d'un serveur d'application JBoss: EPITA Ala Eddine BEN SALEM App-Ing2 J2EE T.P. 4 EJB3, Serveur d'application JBoss 1. Installation d'un serveur d'application JBoss: télécharger l'archive du serveur JBoss à l'adresse: http://sourceforge.net/projects/jboss/files/jboss/jboss-5.0.0.ga/jboss-5.0.0.ga.zip/download

Plus en détail

SITE WEB E-COMMERCE ET VENTE A DISTANCE

SITE WEB E-COMMERCE ET VENTE A DISTANCE Développement d une application JAVA EE SITE WEB E-COMMERCE ET VENTE A DISTANCE PLAN PROJET Binôme ou monôme (B/M): M Nom & Prénom : AIT NASSER Btissam Email : [email protected] GSM : Organisme

Plus en détail

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

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau) CS WEB Ch 1 Introduction I. INTRODUCTION... 1 A. INTERNET INTERCONNEXION DE RESEAUX... 1 B. LE «WEB» LA TOILE, INTERCONNEXION DE SITES WEB... 2 C. L URL : LOCALISER DES RESSOURCES SUR L INTERNET... 2 D.

Plus en détail

Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/

Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Webographie The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Les slides de cette présentation

Plus en détail

Livre Blanc WebSphere Transcoding Publisher

Livre Blanc WebSphere Transcoding Publisher Livre Blanc WebSphere Transcoding Publisher Introduction WebSphere Transcoding Publisher vous permet d'offrir aux utilisateurs des informations Web adaptées à leurs besoins. Il vous permet, par exemple,

Plus en détail

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Serveur 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étail

Un serveur d'archivage

Un serveur d'archivage Un serveur d'archivage destiné au Service Commun de Documentation de l'université de la Méditerranée Encadrement : Noël Novelli Représentants client (S.C.D.) : Axelle Clarisse Ronan Lagadic Equipe Projet

Plus en détail

JOnAS Day 5.1. Outils de développements

JOnAS 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étail

JavaServer Pages (JSP)

JavaServer Pages (JSP) JavaServer Pages (JSP) XVIII-1 Prérequis pour ce cours Ce cours a trait à la programmation Java coté serveur Il faut connaître un minimum de technologie J2EE Il faut connaître les servlets XVIII-2 Motivation

Plus en détail

Généralités sur le Langage Java et éléments syntaxiques.

Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques....1 Introduction...1 Genéralité sur le langage Java....1 Syntaxe de base du Langage...

Plus en détail

Quelques 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 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étail

Sage CRM. 7.2 Guide de Portail Client

Sage CRM. 7.2 Guide de Portail Client Sage CRM 7.2 Guide de Portail Client Copyright 2013 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur microfilm,

Plus en détail

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

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation ING 01 LANGAGUE JAVA Durée : 21 heures 1090 HT / jour Dates : à définir en 2012 Concevoir et développer des programmes en langage Java Comprendre le fonctionnement de la machine virtuelle S approprier

Plus en détail

Petite définition : Présentation :

Petite définition : Présentation : Petite définition : Le Web 2.0 est une technologie qui permet la création de réseaux sociaux, de communautés, via divers produits (des sites communautaires, des blogs, des forums, des wiki ), qui vise

Plus en détail

BIRT (Business Intelligence and Reporting Tools)

BIRT (Business Intelligence and Reporting Tools) BIRT (Business Intelligence and Reporting Tools) Introduction Cette publication a pour objectif de présenter l outil de reporting BIRT, dans le cadre de l unité de valeur «Data Warehouse et Outils Décisionnels»

Plus en détail

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

S7 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étail

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA I. Introduction Suite à une demande des étudiants, il m'est apparu intéressant de montrer, à travers un exemple concret, comment

Plus en détail

Communiqué de Lancement

Communiqué de Lancement Direction du Marketing Produits Sage - Division Mid Market Communiqué de Lancement Rapprochement Bancaire 1000 Produit : Rapprochement Bancaire 1000 Bases de Données : Oracle - MS/SQL Server Microsoft

Plus en détail

Alfstore workflow framework Spécification technique

Alfstore workflow framework Spécification technique Alfstore workflow framework Spécification technique Version 0.91 (2012-08-03) www.alfstore.com Email: [email protected] Alfstore workflow framework 2012-10-28 1/28 Historique des versions Version Date

Plus en détail

Outil de planification en ligne pour des créations de rendez-vous ou de sondage

Outil de planification en ligne pour des créations de rendez-vous ou de sondage Outil de planification en ligne pour des créations de rendez-vous ou de sondage Centre de Ressources Informatiques (C.R.I.) d'orléans Université d'orléans 4-6 rue Léonard de Vinci, 45061 Orléans Cedex

Plus en détail

Plateforme de capture et d analyse de sites Web AspirWeb

Plateforme de capture et d analyse de sites Web AspirWeb Projet Java ESIAL 2A 2009-2010 Plateforme de capture et d analyse de sites Web AspirWeb 1. Contexte Ce projet de deuxième année permet d approfondir par la pratique les méthodes et techniques acquises

Plus en détail

Joomla! Création et administration d'un site web - Version numérique

Joomla! 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étail

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement Cursus Outils & Développement Vous êtes Consultant, Chef de Projets, Directeur des Systèmes d Information, Directeur Administratif et Financier, Optez pour les «formations Produits» Nous vous proposons

Plus en détail

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

REQUEA. 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étail

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s Mickaël Mickaël BLANCHARD BLANCHARD Préface de Sébastien L e p e r s Magento Préface de Sébastien L e p e r s Magento Réussir son site e-commerce Réussir son site e-commerce Groupe Eyrolles, 2010, ISBN

Plus en détail

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.

24/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 ([email protected]), UNSA 2002, modifié par Richard Grin (version 1.1, 21/11/11), avec emprunts aux supports de Maxime

Plus en détail

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki Institut Supérieur de Gestion Cours pour 3 ème LFIG Java Enterprise Edition Introduction Bayoudhi Chaouki 1 Java EE - Objectifs Faciliter le développement de nouvelles applications à base de composants

Plus en détail

Réalisation d'une application de gestion des candidatures

Réalisation d'une application de gestion des candidatures Réalisation d'une application de gestion des candidatures Rapport de Projet Pierre Daval et Antoine Faivre Octobre 2010 à Mars 2011 Licence Professionnelle Systèmes Informatiques et Logiciels de Besançon

Plus en détail

Formation en Logiciels Libres. Fiche d inscription

Formation en Logiciels Libres. Fiche d inscription République Tunisienne Ministère de l'industrie et la Technologie - Secrétariat d'état de la Technologie Unité des Logiciels Libres Formation en Logiciels Libres Fiche d inscription (Une fiche par candidat)

Plus en détail

CQP Développeur Nouvelles Technologies (DNT)

CQP 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étail

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN E-MAILING

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN E-MAILING CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN E-MAILING Durée : 3J / 21H Formateur : Consultant expert en PAO et Web-marketing. Groupe de : 4 max Formation au web marketing Objectifs : Mettre en oeuvre des

Plus en détail

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

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web NFA016 : Introduction O. Pons, S. Rosmorduc Conservatoire National des Arts & Métiers Pour naviguer sur le Web, il faut : 1. Une connexion au réseau Réseau Connexion physique (câbles,sans fils, ) à des

Plus en détail

Types 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. 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étail

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <[email protected]> Centrale Réseaux

Formation 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étail

les 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 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étail

Bases de données et environnements distribués Chapitre I : Architecture logicielle technologies de developpement en environnement

Bases de données et environnements distribués Chapitre I : Architecture logicielle technologies de developpement en environnement Bases de données et environnements distribués Chapitre I : Architecture logicielle technologies de developpement en environnement distribué Éric Leclercq Département IEM / Laboratoire LE2i Septembre 2014

Plus en détail

BULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM)

BULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM) Ministère de l Enseignement Supérieur et de la Recherche Scientifique Ecole Supérieure Privée d Ingénierie et de Technologie BULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM)

Plus en détail

Les frameworks au coeur des applications web

Les frameworks au coeur des applications web Les frameworks au coeur des applications web Mémoire de bachelor réalisé par : Arielle Moro Directeur de mémoire : Peter Daehne, Professeur HES Genève, le vendredi 27 août 2010, Haute Ecole de Gestion

Plus en détail

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants. RMI Remote Method Invocation: permet d'invoquer des méthodes d'objets distants. Méthode proche de RPC. Outils et classes qui rendent l'implantation d'appels de méthodes d'objets distants aussi simples

Plus en détail

PHP 5.4 Développez un site web dynamique et interactif

PHP 5.4 Développez un site web dynamique et interactif Editions ENI PHP 5.4 Développez un site web dynamique et interactif Collection Ressources Informatiques Table des matières Table des matières 1 Chapitre 1 Introduction 1. Objectif de l'ouvrage.............................................

Plus en détail

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

Banque de données d offres & carte web interactive d offres Réseau des parcs suisses Monbijoustrasse 61, 3007 Bern Tel. +41 31 381 10 71; [email protected]; www.paerke.ch Banque de données d offres: [email protected] Carte web interactive: [email protected] Feuille

Plus en détail

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

Echosgraphik. Ce document sert uniquement à vous donner une vision sur ma manière de travailler et d appréhender un projet Echosgraphik Ce document sert uniquement à vous donner une vision sur ma manière de travailler et d appréhender un projet Présentation I. Echosgraphik Protocoles de travail I. Développement du site II.

Plus en détail

MODE OPERATOIRE OPENOFFICE BASE

MODE OPERATOIRE OPENOFFICE BASE MODE OPERATOIRE OPENOFFICE BASE Openoffice Base est un SGBDR : Système de Gestion de Base de Données Relationnelle. L un des principaux atouts de ce logiciel est de pouvoir gérer de façon efficace et rapide

Plus en détail

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées PRODIGE V3 Manuel utilisateurs Consultation des métadonnées Pour plus d'information sur le dispositif : à remplir par chaque site éventuellement 2 PRODIGE V3 : Consultation des métadonnées SOMMAIRE 1.

Plus en détail

PROSOP : un système de gestion de bases de données prosopographiques

PROSOP : un système de gestion de bases de données prosopographiques PROSOP : un système de gestion de bases de données prosopographiques Introduction : Ce document présente l outil en développement PROSOP qui permet la gestion d'une base de donnée prosopographique de la

Plus en détail

Qu'est-ce que le BPM?

Qu'est-ce que le BPM? Qu'est-ce que le BPM? Le BPM (Business Process Management) n'est pas seulement une technologie mais, dans les grandes lignes, une discipline de gestion d'entreprise qui s'occupe des procédures contribuant

Plus en détail

Héritage presque multiple en Java (1/2)

Héritage presque multiple en Java (1/2) Héritage presque multiple en Java (1/2) Utiliser deux classes ou plus dans la définition d'une nouvelle classe peut se faire par composition. class Etudiant{ int numero; Diplome d; float passeexamen(examen

Plus en détail

THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL

THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL . THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL Mr MEZRED MOHAMED Ingénieur météorologue INTRODUCTION Il existe de nombreuses manières de construire une base de données. En effet,

Plus en détail

Java 7 Les fondamentaux du langage Java

Java 7 Les fondamentaux du langage Java 184 Java 7 Les fondamentaux du langage Java 1.1 Les bibliothèques graphiques Le langage Java propose deux bibliothèques dédiées à la conception d'interfaces graphiques. La bibliothèque AWT et la bibliothèque

Plus en détail

Conduite de projets informatiques Développement, analyse et pilotage (2ième édition)

Conduite de projets informatiques Développement, analyse et pilotage (2ième édition) Avant-propos 1. Objectifs du livre 13 2. Structure du livre 14 Un projet informatique 1. Les enjeux 17 1.1 Les buts d'un projet 17 1.2 Les protagonistes d'un projet 18 1.3 Exemples de projets 19 2. Les

Plus en détail

Prise en main du BusinessObjects XI R2 Service Pack 2/ Productivity Pack

Prise en main du BusinessObjects XI R2 Service Pack 2/ Productivity Pack Prise en main du BusinessObjects XI R2 Service Pack 2/ Productivity Pack A propos de ce guide A propos de ce guide Ce guide contient des informations de prise en main du BusinessObjects XI R2 Service Pack

Plus en détail

SIO-65291 Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault

SIO-65291 Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault SIO-65291 Page 1 de 5 1- Objectifs généraux Applications Web dynamiques Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault acquérir les principes et concepts fondamentaux dans le domaine d'applications

Plus en détail

Projet Active Object

Projet 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étail

Projet Viticulture - TP 3 : bases de données distantes BTS Services informatiques aux organisations

Projet Viticulture - TP 3 : bases de données distantes BTS Services informatiques aux organisations Projet Viticulture TP 3 : bases de données externes Description du thème Partie 1 : bases de données locales SQLite Partie 2 : projet H2O stockage local Partie 3 : bases de données distantes Partie 4 :

Plus en détail

Création d une application JEE

Création d une application JEE Création d une application JEE Rédacteurs : Alexandre Baillif, Philippe Lacomme, Raksmey Phan et Michaël PLAN Date : juillet 2010 Mise à jour : Michaël PLAN Date : octobre 2014 Avertissement : - ce document

Plus en détail

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/2012. 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme Java

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/2012. 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme Java 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme 1 2 c est quoi? Technologie développée par SUN Microsystems lancée en 1995 Dans un des premiers papiers* sur le langage JAVA, SUN le décrit

Plus en détail

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework

Tutoriel: 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étail

Projet Java EE Approfondi

Projet Java EE Approfondi EISTI Projet Java EE Approfondi Manuel d installation du framework Stripes Amaury Languillat, Yann Gonzalez, Arnaud Recher, Vincent Laronde, Anys Mechkar 10 Manuel d installation Téléchargement On part

Plus en détail

Premiers Pas en Programmation Objet : les Classes et les Objets

Premiers Pas en Programmation Objet : les Classes et les Objets Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.

Plus en détail

Extension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java.

Extension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java. Note technique W4 Engine Extension SSO Java Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java. 1 Présentation 3 2 Custom SSO Java 4 3 Bilan 10 Sommaire Référence

Plus en détail

Programmation par composants (1/3) Programmation par composants (2/3)

Programmation par composants (1/3) Programmation par composants (2/3) Programmation par composants (1/3) La programmation par composant vise le développement de logiciel par aggrégation de briques logicielles existantes est indépendante de la POO La programmation par composant

Plus en détail

Introduction MOSS 2007

Introduction MOSS 2007 Introduction MOSS 2007 Z 2 Chapitre 01 Introduction à MOSS 2007 v. 1.0 Sommaire 1 SharePoint : Découverte... 3 1.1 Introduction... 3 1.2 Ce que vous gagnez à utiliser SharePoint... 3 1.3 Dans quel cas

Plus en détail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la

Plus en détail

Introduction à. Oracle Application Express

Introduction à. Oracle Application Express Introduction à Oracle Application Express Sommaire Qu est-ce que Oracle Application Express (APEX)? Vue d ensemble des fonctionnalités et des différents composants d Oracle APEX Démonstration de création

Plus en détail

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

Auto-évaluation Aperçu de l architecture Java EE

Auto-évaluation Aperçu de l architecture Java EE Auto-évaluation Aperçu de l architecture Java EE Document: f1218test.fm 22/03/2012 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION APERÇU

Plus en détail

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES Dossier G11 - Interroger une base de données La base de données Facturation contient tout un ensemble d'informations concernant la facturation de la SAFPB (société anonyme de fabrication de produits de

Plus en détail

Annexe : La Programmation Informatique

Annexe : La Programmation Informatique GLOSSAIRE Table des matières La Programmation...2 Les langages de programmation...2 Java...2 La programmation orientée objet...2 Classe et Objet...3 API et Bibliothèque Logicielle...3 Environnement de

Plus en détail

Bien programmer. en Java 7. 10 000 ex. couleur. Avec plus de 50 études de cas et des comparaisons avec C++ et C# Emmanuel Puybaret.

Bien programmer. en Java 7. 10 000 ex. couleur. Avec plus de 50 études de cas et des comparaisons avec C++ et C# Emmanuel Puybaret. Bien programmer en Java 7 Avec plus de 50 études de cas et des comparaisons avec C++ et C# Plus de 10 000 ex. vendus! Édition en couleur Emmanuel Puybaret, ISBN : 978-2-212-12974-8 chapitre1 Présentation

Plus en détail

Programme de formation

Programme de formation INSCRIVEZ VOUS Formations sélectionnées et financées par le FAFIEC Programme de formation mardi 16 septembre 2014 Les Métiers du Test Module 5.2 - Automatisation des tests fonctionnels : HP Unified Functional

Plus en détail

Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC

Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC Sommaire 1. Objectifs et intérêts... 2 2. Intégrer le driver SQL Server dans SJSAS 9... 2 2.1. Télécharger

Plus en détail

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv> Langage HTML (2 partie) «Je n'ai fait que prendre le principe d - hypertexte et le relier au principe du TCP et du DNS et alors boum! ce fut le World Wide Web!» Tim Berners-Lee

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

Logiciel de gestion de caisse et d ardoises

Logiciel de gestion de caisse et d ardoises 6, bd maréchal Juin F-14050 Caen cedex 4 Spécialité Informatique 2 e année Rapport de projet Logiciel de gestion de caisse et d ardoises BOIRLEAUD Pierre-Jean MOLINS Nicolas REHFELD Vincent Table des matières

Plus en détail

Mise en œuvre des serveurs d application

Mise en œuvre des serveurs d application Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés

Plus en détail

3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures

3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures 3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures Objectif global : A l issue de la formation, les stagiaires doivent être opérationnels dans la création d un site internet

Plus en détail

Notre Catalogue des Formations IT / 2015

Notre Catalogue des Formations IT / 2015 Notre Catalogue des Formations IT / 2015 Id Intitulé Durée Gestion de projets et méthodes I1101 I1102 I1103 I1104 I1105 I1106 I1107 I1108 I1109 I1110 I1111 I1112 I1113 I1114 I1115 I1116 I1117 I1118 I1119

Plus en détail

Cours 1: Java et les objets

Cours 1: Java et les objets Ressources Les interface homme-machine et le langage Java DUT première année Henri Garreta, Faculté des Sciences (Luminy) Cyril Pain-Barre & Sébastien Nedjar, IUT d Aix-Marseille (Aix) Cours 1: infodoc.iut.univ-aix.fr/~ihm/

Plus en détail

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. Encapsulation L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. La visibilité dépend des membres : certains membres peuvent être visibles et d'autres

Plus en détail

Content Management System V.3.0. BlackOffice CMS V3.0 by ultranoir 1

Content Management System V.3.0. BlackOffice CMS V3.0 by ultranoir 1 Content Management System V.3.0 BlackOffice CMS V3.0 by ultranoir 1 SOMMAIRE Introduction Grands principes de fonctionnement Description des modules Références principales BlackOffice CMS V3.0 by ultranoir

Plus en détail

Stages 2014-2015 ISOFT : UNE SOCIETE INNOVANTE. Contact : Mme Lapedra, [email protected]

Stages 2014-2015 ISOFT : UNE SOCIETE INNOVANTE. Contact : Mme Lapedra, stage@isoft.fr Stages 2014-2015 ISOFT : UNE SOCIETE INNOVANTE Contact : Mme Lapedra, [email protected] ISoft, éditeur de logiciels, est spécialisé dans l informatique décisionnelle et l analyse de données. Son expertise

Plus en détail