Home

Guenael ANSELME Alain ALIGNAN Shyaka LANIESSE

image

Contents

1. url String panneaux Panneau bouton Bouton textes Texte lt lt oonst gt gt FenetreCategorie defPanneaul defBouton defText deflcone actionLabel 10 JPanel Panneau chemin String bordure Border lt lt constr gt gt Panneau Color c lt lt constr gt gt Pannesu String chemin paintComponent JDialog BoiteDialog nomslabel JLabel cate JComboBox nom JTextField BoiteDialog JFrame parent String title boolean modal initComponent Au d but je n avais pas les classes JFrame JPanel JDialog et ActionListener dans mon diagramme de Classes car je ne les connaissais pas tout simplement c est en commen ant coder que je les ai d couvertes et donc rajout es dans mon diagramme en faisant h riter mes classes de celles pr d finies Les m thodes defPanneau defTexte defBouton deflcone d finissent pour chaque classe le Panel les zones de textes les boutons et les images du pied de page mais nous verrons cela plus en d tails dans la partie suivante cependant c est gr ce ces m thodes que tous nos composants seront bien plac s et efficaces La m thode actioLabel indique comment nous allons acc der au lien lors du clic sur les JLabels qui sont ici nos ic nes du pied de page facebook googlePlus J ai trouv que c tait plus int ressant de faire comme cela que de
2. la menu voir capture d ecran ci dessus Rentrez les informations demand es afin que l application les enregistre dans la Base de donn es Suppression d un sujet Psupprmer iy Mounier ALL 26 Le bouton pour supprimer un sujet se trouve en haut du panneau central de la fen tre du sujet Cliquez dessus et une fen tre de confirmation s affichera confirmez pour la sup pression du sujet ATTENTION vous ne pouvez pas revenir en arri re il sera d finitivement supprim avec les fichiers qu il contient Modification d un sujet ins lois La modification d un sujet est similaire l ajout d un sujet Le bouton se trouve cot du bouton supprimer cliquez Une boite de dialogue s ouvrira la m me que pour l ajout d un sujet entrez les modifications que vous voulez apporter Si vous laissez en blanc les donn es existantes resteront intactes Recherche d un sujet Entrez un nom ou une categorie Mot recherch La recherche d un sujet se fait via le bouton Rechercher c t du bouton Modifier en haut du panneau central Cliquez une boite de dialogue apparait alors avec une zone de texte Entrez comme indiqu un mot une cat gorie ou un mot clef et il vous affichera les sujet trouv contenant ce mot la dans ses param tres sujet cat gorie sujet connexes mot clef 27
3. Font BOLD 12 Class BoiteDialog 282 public BoiteDialog JFrame parent String title boolean modal 29 super parent title modal 30 this setSize 550 550 31 this setLocationRelativeTo null 32 this setResizable false 33 this setDefaultCloseOperation JDialog D0 NOTHING_ ON_CLOSE 34 this initComponent 35 36 372 private void initComponent 38 39 40 Le nom 41 JPanel panNom new JPanel 42 panNom setBackground Color white 43 panNom setPreferredSize new Dimension 22 6 44 nom new JTextField 4s nom setPreferredSize new Dimension 1 25 46 panNom setBorder BorderFactory createTitledBorder Nom du sujet 47 nomLabel new JLabel Sujet lt 48 panNom add nomLabel 49 panNom add nom 5e 51 La cat gorie 52 JPanel panCate new JPanel 53 panCate setBackground Color white 54 panCate setPreferredSize new Dimension 22 6 55 panCate setBorder BorderFactory createTitledBorder Cat gorie du Sujet 56 cate new JComboBox 57 ei ri ion 58 cate addItem Cours 59 cate addItem Culture G amp 6e cate addItem Autres 3 61 cateLabel new JLabel Categorie 62 panCate add cateLabel 63 panCate add cate 24 okBouton addActionListener new ActionListener public void actionPerformed ActionEvent arg FenetreSujet alt new FenetreSujet nom getText String url jdbc mysql localhost 3306 projet String user root S
4. le sentiment d avoir accompli quelque chose par moi m me en m tant bien creus la t te En effet j ai naviguer sur de nombreux forum Stack OverFlow openclassroom pour trouver les r ponses mes probl mes ou du moins des solutions qui s en approchaient le plus mais a n etait pas toujours assez 17 Chapitre 5 Pour conclure 5 1 Les apports et l avenir de l application La r alisation de cette application a r v l une tr s bonne appr ciation pour le langage Java surtout la r alisation de l interface graphique En effet j ai plu sieurs fois mis de c t le projet en pleine programmation et r alis d autres programmes en parall le En m y int ressant un peu plus ceci m a permis de consolider mon projet pro fessionnel et personnel qu est le d veloppement d applications Je trouve que permettre des gens de simplifier leur vie l aide d une simple application est un concept plaisant Concernant lavenir de l application je compte la diffuser plusieurs de mes camarades pour leur gestion de documents plus particuli rement mes coll gues de fac de droit videmment je m en servirai durant tout le restant de ma scolarit Par la suite j aimerais tendre l application de local web cela serait semblable un drive puis pourquoi pas pour mobile Android mais surtout pas Apple afin qu elle puisse tre utilisable n importe o De ce fait une am lioration sera poss
5. une base de Comment r alis les Comment remplir AS aa donn es structur et fen tres speciales l interface SU as simple ajout modif Comment visualis Faire cohabiter le les donn es dans tout et les attentes de notre interface l utilisateur Chapitre 4 Description du travail r alis 4 1 Analyse et conception Apr s avoir cern le probl me il a fallu le mod liser Pour ce faire j ai choisi de faire un diagramme de cas d utilisation d abord afin de d finir ce que l utili sateur serait capable de faire avec l application Dans un premier temps l utilisateur doit tre capable d ajouter un sujet le mo difier et le supprimer En effet ceci constitue la partie principale du stockage de connaissances D un autre c t il doit aussi pouvoir trouver un sujet ou une cat gorie Vaide d une simple recherche Ces deux utilisations de l application ex cuteront des requ tes sql modifiant notre base de donn es Ci dessous le Diagramme Rechercher un sujet Ajouter Supprimer un sujet I I Lun mn mn 7 l lt lt includez gt l pm I I Utilisateur l lt lt jnclude gt gt Requete en base de donn es Apr s le diagramme d utilisation j ai d cid de d finir des croquis pour l in terface graphique Ces croquis ne seraient pas d finitifs puisque durant le d ve loppement je pourrais avoir envie de changer un aspect quelconque de l i
6. L2 INFORMATIQUE Groupe B Ann e 2015 Application en Java pour la gestion en local des connaissances li es un sujet LANIESSE Shyaka ANSELME Guenael ALIGNAN Alain Tuteur de projet Abdelhak Djamel Seriai Ann e universitaire 2014 2015 Chapitre 1 Introduction Nous sommes un groupe de 3 tudiants Guenael ANSELME Alain ALI GNAN et Shyaka LANIESSE Nous trouvons chacun sans groupe nous avons d cid de former le notre car on s entendait assez bien sans trop se connaitre On peut d finir notre projet comme une banque de connaissances en local Notre application s int resse l organisation de connaissances pouvant se rapporter un sujet pr cis Par connaissances nous d finissons en fait tous les documents pouvant se rapporter au sujet d sign Il fallait donc pouvoir jongler entre une interface graphique pour l application et une base de donn es contenant les fichiers li s aux sujets partir de l plusieurs t ches pouvaient tre extraites mais nous en verrons les d tails dans une prochaine partie de ce rapport P dagogiquement ce projet servirait g rer nos documents de cours afin de pouvoir tout retrouver facilement sans passer par l explorateur de fichiers A mon plus grand regr t nous avons d marr le projet tardivement En effet nous n tions pas tous autant impliqu s dans ce projet ce qui a fait que j ai Shyaka d prendre en main la commencement et l
7. Pear son Education 2010 2 Chantal Gribaumont Administrez vos bases de donnees avec MySQL Open Classroom 2014 3 David Reilly The java programming language Java Coffee break nov 1999 4 Cyrille Herby Apprenez a programmer en Java OpenClassroom 2012 5 Jean Francois Pillou Comment ca marche mar 2015 http www commentcamarche net contents 557 java 6 Laniesse Shyaka Rapport de projet apr 2015 laniesse shyaka at hot mail com 20 Chapitre 6 Annexe 6 1 Croquis de l interface graphique 21 22 6 2 Quelques bout de code Class Bouton 1 package projet 18 public class Bouton extends JButton 19 private String name 20 private Image img 21 25 public Bouton String nom 23 super nom this name nom gt 285 public void paintComponent Graphics g Graphics2D g2d Graphics2D g GradientPaint gp new GradientPaint Color white 20 Color black true g2d setPaint gp g2d fillRect this getWidth this getHeight g2d setColor Color LIGHT_GRAY g2d drawString this name 10 this getHeight 2 5 23 Class Texte 1 package projet 2 34 import javax swing JLabel 8 110 private String text a 11 128 public Texte String texte 13 super texte 14 this text texte 15 this setFont new Font TimesCourier Font BOLD 12 176 public Texte 18 this text 19 this setFont new Font TimesCourier
8. Vue L interface graphique Vue mise jour En effet ce pattern est mod lis dans mon projet comme ceci Le mod le est mon code Java il contient des m thodes ex cutant quelques simples requ tes pour mettre jour ou non ma base de donn es comme par exemple l insertion d un nouveau sujet ou la suppression d un sujet Le view correspond mon interface graphique le r p re de l utilisateur Il sera capable d alimenter la base de donn es en connaissances mais aussi de la g rer via des int ractions avec la souris et le clavier Enfin le contr leur ex cute les requ tes les plus difficiles c est dire la de mande l utilisateur de rentrer des informations qui seront leur tour entr es en base de donn es ou alors effectuer un tri dans notre base de donn es puis en afficher les r sultats 4 3 R alisation Avant de commencer l impl mentation comme je l ai mentionn e avant j ai consult quelques tutorials de Java en ligne afin de savoir un minimum comment cela allait se passer J ai donc d cid de commencer par l interface graphique Pour le fond j ai d cid de divisier la fen tre en trois parties ind pendantes avec trois panneaux diff rents plac s l aide d un BorderLayout tr s adapt ma demande un gauche pour le menu en bas pour le bas de page et le panneau central J ai donc appris manipuler la classe JPanel et JFrame Mais tout d abord voici ma d finition de ma c
9. ais aussi stocker nos sujets eux m mes Le fait de pouvoir faire des op rations de recherches tris jointures correspon dait exactement nos attentes afin de pouvoir associer par exemple un sujet ses sujet connexes mais nous verrons tout ceci en d tails par la suite 2 2 La programmation Java Nous arrivons maintenant dans le domaine de la programation proprement parler On nous a demand une application en Java je me suis donc demand pourquoi en Java 3 alors en voici les quelques aspects int r ssant Java est un langage orient objet ce qui veut dire qu il est constitu d un ensemble de structures de donn es objets Ce dernier est lui m me constitu de donn es et de m thodes qui elles aussi manipulent des donn es Ce qui est int ressant par rapport notre application est que java est un pro gramme portable C est dire que le code du programme cr pourra tre utilis dans divers environnements il n est pas destin tre ex cut directement par le syst me d exploitation L utilisation de Java est donc parfaite pour une application en local On veut que chacun puisse l utiliser facilement peu importe son syst me d exploitation juste avec une simple compilation Qui plus est Java nous permet de d velopper notre application sous forme de fen tres ce qui est grandement utile pour faciliter l utilisation de l application 2 3 Joindre les deux bouts Nous avons la base de donn es
10. alog JFrame parent String title boolean modal this initComponent privade void initComponent JPanel panNom new JPanel pour tous les sous panneaux nom new JTextField panNom set Border BorderFactory createTitledBorder Nom du sujet cate new JComboBox cate addItem Programmation content add panNom pareil pour autre panneau creation bouton ok et annulez Passons maintenant la base de donn es j ai choisi d utiliser mysql La table de donn es tant assez simple et presque vide au d part il suffit juste pour nous de cr er les tables n cessaires J ai choisi une table sujet et une sujetco En effet dans la table sujet nous mettrons les fichiers la date et l id du sujet Cet id sera le m me que l id clef primaire de la table sujetco qui elle contiendra la cat gorie le nom du sujet et les sujets connexes Ci dessous la cr ation de la 15 table Sujet CREATE TABLE sujet id INT UNSIGNED NOT NULL AUTO INCREMENT id sujet INT NOT NULL url MEDIUMBLOB DEFAULT NULL date DATE DEFAULT NOT NULL PRIMARY KEY id La derni re partie de l impl mentation consistait faire le lien entre la base de donn es et le code Java Ici encore j ai d prendre du temps pour apprendre J ai donc t l charg le pilote JDBC mysql facilement trouvable sur le net et Vai introduit dans mon projet afin de pouvoir l utiliser J ai commenc par le plus
11. ation 18 522 Remerciement 2 ohn a aos 19 6 Annexe 21 6 1 Croquis de l interface graphique 21 6 2 Quelques bout de code 23 Chapitre 2 Pr sentation du domaine et des aspects techniques une banque de connaissance Notre application concerne l organisation des connaissances nous pouvons donc affirmer qu elle s ins re dans le domaine de la repr sentation le stockage et la gestion des connaissances et donc fait r f rence 4 des banques de connais sances Comme d finition g n rale nous pouvons dire que la repr sentation des connaissances correspond mod liser un ensemble de donn es afin de les rendre plus facilement consultables et manipulables Le stockage lui permet juste la mise en r serve des connaissances souhait es dans un support ici dans une base de donn es Ajouter a la gestion des connaissances est l organisation de ces dernieres dans notre application donc la fois dans notre interface et notre base de donn es L approche object peut tre utilis e pour ce domaine c est la cas pour ce projet ou l on utilise un langage orient objet le Java Lorsque l on utilise une base de donn es ces connaissances sont plac es l in t rieur et pour les g rer on utilise un Syst me de Gestion de Base de Donn es SGBD Enfin il existe souvent des cas o la SGBD ne suffit pas il faut quelque chose en plus pour l organisati
12. avancement du projet En ce qui concerne le travail nous avons proc d la mise en place d une SVN car nous pr f rions travailler chacun chez soi et op rer en ligne Le d roulement du projet se pr sente comme ceci R alisation des croquis de l interface graphique diagramme UML de l ap plication Impl mentation de l interface graphique R alisation de la base de don n es 1 Impl mentation du lien Java Base de donn es Finalisation de l interface graphique J ai choisi d organiser chaque chapitre en fonction de ce d roulement afin que l on retrouve toujours le m me fil conducteur Je vous laisse maintenant plonger dans l histoire du d veloppement de cette application Sommaire 1 Introduction 1 2 Pr sentation du domaine et des aspects techniques une banque de connaissance 3 2 1 La base de donn es 4 2 2 La programmation Java 4 2 3 Joindre les deux bouts 4 3 Pr sentation du probl me 6 3 1 Etude de l existant is ke pe nee bd OA ele tu 6 3 2 Une histoire d interface 7 3 3 La gestion et visualisation des donn es 7 4 Description du travail r alis 9 4 1 Analyse et conception 9 4 2 Un petit mot sur le MVC 11 A3 Realisation sono ani UE be SU a A aes 12 5 Pour conclure 18 5 1 Les apports et l avenir de l applic
13. eau images jpg 45 private Bouton suppr new Bouton Supprimer 46 private Bouton modif new Bouton Modifier 47 private Bouton rech new Bouton Rechercher 48 private Bouton acc new Bouton Accueil 49 private Bouton cate new Bouton Cat gories 50 private Bouton sphere new Bouton Sph re 51 private Bouton add new Bouton Ajout d un sujet 52 private Bouton contact new Bouton Contactez nous 53 54 private Texte textFooter new Texte Sujet Connexe 55 private Texte textMenu new Texte Menu 56 private Texte textAccueil new Texte 57 private Texte textFooterl new Texte Mes amis 58 private Texte textFooter2 new Texte Mes r seaux 59 private JLabel fb toit sanja hurri gplus 60 61 private final int decalageBordure 2 62 private final int decalagel centre getWidth decalageBordure 63 private Border paddingBorder BorderFactory createEmptyBorder 10 10 10 10 64 ES 25 public class FenetreSujet extends JFrame implements ActionListener ur1 pour pied de page private String toitS https le9emetoit wordpress com private String sanjaS http www besanja com private String hurriS http leshurricanes free fr private String fbS https www facebook com Jakick QB private String gplusS https plus google com ShyakaLaniesse private static final Connection NULL null private Panneau centre new Panneau new Col
14. faire des m thodes pour chaque partie de l interface centre menu bas Enfin en r alit les attributs des classes FenetreX sont multiples il existe donc plusieurs url pour les liens plusieurs boutons pour les ajouts modifica tions plusieurs textes pour les diff rentes zones o ins rer du texte Maintenant que tout est pr t on peut se plonger dans le d veloppement l impl mentation de notre application 4 2 Un petit mot sur le MVC Avant de d marrer la partie sur la r alisation du projet je me dois de vous parler du MVC Modele View Controler Le MVC a trois composantes 1 Le mod le il correspond au code de notre application c est la o l int raction avec la base de donn es a lieu Il nous pr sente des m thodes utiliser pour g rer la base de donn es avec des requ tes de suppression a jout modification 2 La Vue C est l que les donn es des requ tes sont affich es mais aussi que les demandes graphiques de l utilisateur sont g r es clic de souris entrer au clavier 3 Le Contr leur C est lui qui met jour la vue ou le mod le Toute action n cessitant une modification des donn es est g r e par le contr leur Les demandes pr cises de l utilisateur sont donc inscrites ici 11 SCHEMA MVC Mod le Met a jour Contr leur Requ tes simples Requ tes difficiles mise jour ajout suppr modif d un sujet des sujets via utilisateurs Actions utilisateur
15. gt lt small gt amp 91 Discussion Utilisateur Serein blabla amp 93 lt small gt lt sup gt 23 mars 2011 12 44 Modifications En recentes LiveRC http fr wikipedia org w index php title Discussion utilisateur Serein amp diff prev amp oldid 63592147 Faire un don Suivi de page et travaux Bo te outils Pages li es Bonjour Serein j esp re que tu vas bien Suivi des pages li es Juste un petit message pour savoir si tu suis toujours cette page et ce que tu penses de mon Contributions de v Recherche Culture fr wikipedia travail de recherche l utilisateur Bien toi Utilisateur Lionel Scheepmans Lionel Scheepmans lt big gt lt big gt Discussion Journaux Utilisateur Lionel Scheepmans lt big gt lt big gt le 10 juillet 2011 16 26 CEST d op rations Lui envoyer un Le probl me r sultant de mon analyse est que le wiki est d une part en ligne et non en local ce qui est pour nous le coeur de notre application mais aussi modifiable par tous En effet le notre ne sera pas modifiable par tous car c est un Wiki personnel mais il pourrait se partager et s alimenter gr ce aux utilisateurs De ce fait notre application sera similaire 4 un wikipedia de par son utilisation alimentation de donn es mise jour imm diate mais diff rente cause de l aspect de partage d un wiki en ligne et modifiable par tous seul l utilisateur peut ajouter modifier des documents
16. ible afin de joindre l utile l agr able animation web Il pourrait s en suivre une plateforme en ligne permettant chacun de par tager ses ressources mais aussi un forum afin que les gens puissent discuter d s leur gestionnaire de connaissances et partager les am liorations qu ils voudraient voir sur l application La plateforme serait le plus grand apport de l application en effet on pourrait y trouver des bases de donn es toutes faites h berg es par les utilisateurs eux m mes facilitant l utilisation de l application et faisant voluer le statut de simple utilisateur ce qui plait forc ment au peuple Vous tes arriv la fin de ce rapport j esp re que tout a t compris sinon n h sitez pas me contacter 6 et je me ferai un plaisir de vous clairer 18 5 2 Remerciement J aimerais remercier M Seriai de m avoir orient malgr le d but difficile mais aussi de m avoir pouss a finir ce projet au plus vite afin de pouvoir le finaliser comme il se doit avant la date limite premi re bauche du rapport a rendre 15 jours avant par exemple Merci galement 4 L ah Mansouri sans qui vous vous seriez sans doute arra ch les yeux la vue du nombre incalculable de fautes d orthographe Et oui je n ai jamais t tr s bon en orthographe et garde un tr s mauvais souvenir des dict es 19 Bibliographie 1 Christian Soutou Frederic Brouard Rudi Bruchez SQL 3e edition
17. iki est une documentation en ligne destin e la cr ation et la modification de connaissances par les utilisateurs par exemple Wikipedia Un wiki utilise le plus souvent un langage de balises assez simple Lorsque l on acc de au Wiki en criture pour modifier ou ajouter une page un Wiki la page se pr sente enti rement dans le navigateur web parfois sous forme de formulaires web WIKIPEDIA 7 7 L encyclop die libre Ceci est une page de discussion N oubliez pas de signer vos messages en tapant quatre tildes ou en Rechercher cliquant sur le bouton A ci dessous Ure Rechercher GIs Avanc Caract res sp ciaux gt Aide Gadgets Navigation Titre Format 4 AAA A ins rer Of ey Accueil Page utilisateur de la Pr sidente Portails th matiques Index alphab tique Bonjour Serein Je voulait te demander si Adrienne Alix Pr sidente Wikim dia France avait une Article au hasard page d utilisateur et si oui la Quelle Merci d avance et bonne journ e Utilisateur Lionel g J Contacter Wikip dia Scheepmans Lionel Scheepmans lt big gt lt big gt Discussion Utilisateur Lionel Scheepmans lt big gt lt big gt le 23 mars 2011 12 20 CET Bonjour Lionel Oui elle a une page d utilisatrice user Adrienne Alix Adrienne Alix Mais Premiers pas a Aide tu peux aussi discuter ici puisque c est moi sourire Utilisateur Serein Serein e lt sup
18. lasse panneau sans l insertion de l image 12 public class Fenetre extends JFrame implements ActionListener private Panneau centre new Panneau new Color 255 255 255 0 pareil pour menu et piedpage private Panneau fond new Panneau images jpg public void defPanneau taille des differents panneaux menu setPreferredSize new Dimension 150 centre getHeight piedpage new Dimension 20 piedpage getHeight 120 centre setLayout null menu setLayout null piedpage setLayout null this getContentPane setLayout new BorderLayout this getContentPane add centre BorderLayout CENTER pareil avec WEST pour menu et SOUTH pour piedpage Apr s cela j ai d fini mes classes et Bouton Texte afin de ne pas avoir chaque fois 4 d finir un JLabel ou un JButton mais aussi 4 d finir un style commun pour tous les boutons et tous les textes que je pourrais changer pour des exceptions Je me suis donc int ress aux classes JLabel et Jbutton j ai regard les faq et appris les utiliser afin de cr er mes deux petites classes mais aussi pouvoir les manipuler l interieur de mes classes Fenetre Maintenant que les panneaux sont d finis je me suis lanc dans l insertion du texte et des boutons Les textes et les boutons sont relativement simples menu sujet connexes rechercher Il fallait juste les ajouter au panel puis les placer j ai donc utilis la m th
19. n et visualisation des donn es Une fois l interface cr e elle nous parrait un peu vide Pour la remplir il faut s attaquer en premier lieu la cr ation de la base de donn es du projet La base de donn es doit respecter les r gles suivantes 1 La base de donn es doit pouvoir h berger les documents avec une taille limite 2 Elle doit tre assez simpliste pour que les op rations de modification soit optimis es 3 Les tables contiendront le moins de champs possibles pour la clart de la base de donn es 4 On doit joindre les tables entres elles pour viter la surcharge La base de donn es r alis e il faut maintenant pouvoir visualiser les donn es des tables que l on veut au sein de l interface graphique Il faut aussi pouvoir g rer la base de donn es la cr ation modification d un sujet via l interface graphique et donc via des petits objets comme les boutons L impl mentation du tout nous enm ne vers de nouveaux probl mes li s l interface graphique et pour les r soudre il nous faut modifier notre interface graphique initiale afin qu elle puisse r pondre aux attentes de l utilisateur mais aussi aux demandes internes de gestion Comme un sch ma est toujours plus agr able en voici un repr sentant les pro bl mes pr cis ammen s par la r alisation de cette application Comment int ragir avec les differentes fen tres Comment strctur T Pour qui l interface Cr er
20. notre programmation Java mais comment les faire communiquer En th orie c est tout simple il s agit en fait d un JDBC Java DataBase Connectivity Ce dernier contient des classes Java nous permettant de nous connecter la base de donn es et effectuer les op rations dessus dans notre code Java On t l charge donc des pilotes JDBC dans un fichier jar on les inclut dans notre projet Java dans le CLASSPATH pour tre tranquile et hop apr s quelques petites lignes de routine on se connecte notre base de donn es et on lui envoit les requ tes que l on veut On se retrouve un peu avec un langage inclus dans un autre puisque nos requ tes sont toujours crites en SQL mais dans notre code Java Je vous ai plac ci dessous un sch ma simplifi d utilisation des diff rents acteurs menant bien le d roulement de l application SCHEMA D UTILISATION r Est connect Se connecte 4 Modifi Code Java Base de donn es java sql Assure la liaison Chapitre 3 Pr sentation du probl me 3 1 Etude de l existant Avant de d mmarer une application il faut faire une tude de l existant afin de pouvoir s orienter dans le d veloppement de son projet Orient s par le titre de notre projet et apr s avoir fait des recherches sur internet on peut affirmer que notre projet se rapproche fortement de ce que l on appelle des Wikis des banque de connaissances Concernant l analyse tout d abord un W
21. nterface Pour l interface j ai choisi un design simple et classique pour d buter afin que l application soit intuitive pour l utilisateur menu pied de page bouton en haut de page mais bien videmment tant d butant je savais que cela allait me demander beaucoup de travail Vous pouvez voir mes croquis de d part en annexe En m int ressant de plus pr s au Java j ai vu que mon code allait tre plus long que ce que je pensais J ai donc d cid de faire un petit diagramme de classes afin de ne pas me perdre pendant l impl mentation Sur le diagramme ne sont pas repr sent s 1 La classe FenetreContact qui a la m me forme que la classe Fen tre mis part le panneau central 2 La classe Recherche ouvrant juste une boite de Dialogue demandant d en trer un mot et affichant les r sultats quivalents au mot 3 Les classes Texte Panneau Bouton respectivement extend JLabel JPa nel JButton qui ne font que d finir ces objets Fenetre Fenetre Sujet url String url String panneaux panneaux Panneau Panneau bouton Bouton bouton Bouton textes Texte textes Texte lt oonstre gt lt lt constr gt FenetreSujet Fenetre defPanneaul defPanneau defBouton defBouton defText defText deflcone actioLabel actionLabel actionPerformed e ActionEvent FenetreCategorie
22. ode setBounds afin de pouvoir les placer o je voulais et de modifier en cas de besoin public void defText centre add textAccueil textAccueil setBounds 40 50 200 15 public void defBouton 13 acc addActionListener this textMenu set Border paddingBorder menu setLayout new BoxLayout menu BoxLayout PAGE AXIS menu add acc centre add rech rech setBounds decalagel 360 centre getHeight decalageBordure Comme vous pouvez le voir j ai utilis addActionListener afin de pouvoir activer les boutons et leur action sera d finie plus loin dans le ActionPerformed Ici j ai utilis un BoxLayout afin de pouvoir aligner les boutons du menu en colonne Apr s avoir d couvert que je pouvais rendre un JLabel cliquable plu t t facilement j ai longuement h sit entre mettre des boutons ou des textes pour le menu mais pour l instant j ai laiss mon premier choix qu tait les bou tons cependant je me laisse le choix de changer avant la mise en pratique de l application Pour le pied de page j ai choisi de placer des images qui lors du clique redirige vers la page voulue Pour ce faire j ai d fini une m thode actioLabel prenant une image JLbael en param tre et un chemin du site String J ajoute ensuite un mouseListener et je d finis ma m thode mouseClicked pour la redirection public void actioLabel JLabel icon String site icon addMouseListener new Mou
23. on des connaissances C est par exemple le cas lorsque Von veut partager ces connaissances en ligne ou en local ou tout simplement si l on veut une gestion plus intuitive avec une interface graphique ou autre Notre application s implique bien dans cette d finition ce qui nous reste d finir les caract ristiques pr cises du domaine dans lequel elle se situe 2 1 La base de donn es Pour faire simple une base de donn es peut tre d finie comme une entit un conteneur dans lequel on stock des informations chiffres mots dates fichiers de mani re structur e Ces informations sont accessibles et manipul es l aide d un SGBD qui rend l utilisation d une base de donn es accessible avec un peu de conviction Ces informations sont donc organis es et forment une table Une table corres pond au domaine principal auquel sont rattach es les informations contenues dans la table Parmi les tables les informations peuvent tre retrait es par des op rations de recherches de tris de jointures Parmi les SGBD disponibles nous avons choisi MySQL 2 un des plus r pendu et utilisant comme vous l avez sans doute compris le langage SQL C est par l interm diaire de ce langage que l on peut effectuer toutes les sortes d op rations disponibles sur les tables L utilisation d une base de donn es pour notre application tait indispen sable Il nous fallait un syst me pour d poser les documents m
24. or 255 255 255 35 private Panneau menu new Panneau new Color 255 255 255 15 3 private Panneau piedpage new Panneau new Color 255 255 255 private Panneau fond new Panneau images jpg private Bouton suppr new Bouton Supprimer private Bouton modif new Bouton Modifier private Bouton rech new Bouton Rechercher private Bouton acc new Bouton Accueil private Bouton cate new Bouton Cat gories private Bouton sphere new Bouton Sph re private Bouton add new Bouton Ajout d un sujet private Bouton contact new Bouton Contactez nous private Texte textFooter new Texte Sujet Connexe private Texte textMenu new Texte Menu 56 private Texte textAccueil new Texte 57 private Texte textFooterl new Texte Mes amis 58 private Texte textFooter2 new Texte Mes r seaux 59 private JLabel fb toit sanja hurri gplus 6e 61 private final int decalageBordure 2 62 private final int decalagel centre getwWidth decalageBordure 63 private Border paddingBorder BorderFactory createEmptyBorder 10 10 16 1 64 ft ac Manuel d utilisation Je vais vous pr senter les principales fonctions de l application Ajout d un sujet Menu mel accuenl Categories m Sphere a Mout d un sujet V _ Contactez nous Pour ajouter un sujet cliquez sur la bouton Ajout d un sujet pr sent dans
25. seListener public void mouseClicked MouseEvent e String url site if Desktop isDesktopSupported Desktop desktop Desktop getDesktop try desktop browse new URI url i catch erreurs gerer ensuite Voila pour le plus important de ma classe FenetreAcceuil concernant les autres elle diff rent seulement de celle ci par leur panneau central Par exemple pour la classe FenetreCategorie elle affichera la liste des cat gories pr sentes dans la base de donn es mais ceci viendra apr s dans le d veloppement de l application 14 110 25 Apr s coup j ai d cid d impl menter ma boite de dialogue pour l ajout d un sujet Cette boite nous demande le nom les sujets connexes et la cat gorie d un sujet avant de l ajouter la base de donn es via le bouton OK Je mettrais qu une petite partie des codes ceux qui me semblent les plus importants le reste se trouvant en annexe Mais aussi le panneau du nom et celui des sujets connexes et la description tant semblables je ne les mettrais pas ci dessous Avant tout il a fallu ajouter l action au bouton Ajout d un sujet dans la classe FenetreX on va ensuite s int resser la m thode initComponent public void actionPerformed ActionEvent arg0 if arg0 getSource add BoiteDialog bd new BoiteDialog null Ajout d un sujet true public class BoiteDialog extends Jdialog atributs public BoiteDi
26. simple c est dire afficher les cat gories existantes dans la fen tre cat gories ResultSet result state executeQuery SELECT DISTINCT categorie FROM sujetco J ai ensuite choisi de faire une boucle et d ajouter chaque r sultat de la requ te dans un JLabel pour le placer dans le panneau central while result next String nomC result getString 1 Texte nameC new Texte nomC centre add nameC nameC setBounds 75 100 i 105 15 i i 80 Le m me genre de proc d est utilis pour l affichage des sujets connexes ou le r sultat d une recherche Une des fois o cela diff re est pour l ajout d un sujet o il fallu cr er plusieurs variables r cup rant les informations rentr es par l utilisateur avant de les rentrer en base String nomSujet nom getText Pareil pour sujetCo String nomCate cate getSelectedltem toString state executeUpdate INSERT INTO sujetco sujet categorie sujetl sujet2 sujet3 VALUES nomSujet nomCate nomSujeti nomSujet2 nomSujet3 S ach ve ici la partie de r alisation de mon travail J esp re avoir t au plus clair en pr sentant ma mani re de travailler mes principales classes m thodes 16 J aimerai finir sur le fait que j ai acquis normement de connaissances concer nant le langage Java et les base de donn es surtout car j ai d marr de rien et j ai
27. son wiki 3 2 Une histoire d interface Je vais vous d crire le tout au pr sent afin que vous puissiez suivre le d ve loppement de du raisonnement au mieux A la lecture du sujet la premi re contrainte est qu il nous faut donc cr er une application utilisable pour tous Cela implique des personnes ne connaissant rien en programmation on a donc besoin d une interface graphique intuitive Cette interface graphique doit la fois tre structur e et l application agr able parcourir Il faut r fl chir une structure de page commune aux diff rentes fen tres que pourra pr senter l application Le plus gros probl me est que Java est un langage inconnu merci 4 et 5 et qu il va donc falloir se plonger dedans pour d velopper cette interface et la structurer Ceci tant fait le probl me est de pouvoir naviguer travers les diff rentes fen tres C est l qu interviennent les objets tels que les boutons Pour pallier ce probl me on choisit de faire un menu compos de boutons ces derniers redirigeraient vers les fen tres souhait es Pour finir cette interface il faut aussi ajouter quelques zones de textes faire des boutons sur le panneau principal de la page voir section 2 2 Un autre probl me se pr sente celui de savoir comment mat rialiser la fen tre d ajout modification d un sujet En effet cela pourrait tre une nouvelle fen tre un onglet une bo te de dialogue 3 3 La gestio
28. tring mdp String nomSujet nom getText String nomCate cate getSelectedItem toString String nomSujetl sujetCo getText String nomSujet2 sujetCol getText String nomSujet3 sujetCo2 getText Connection conn NULL try Class forName com mysql jdbc Driver newInstance conn DriverManager getConnection url user mdp Statement state conn createStatement state executeUpdate INSERT INTO sujetco sujet categorie sujetl sujet2 sujet3 VALUES nomSujet nomCate nomSujetl nomSujet2 nomSujet3 conn close state close catch Exception e e printStackTrace alt setVisible true setVisible false Class FenetreSujet 29 30 public class FenetreSujet extends JFrame implements ActionListener 31 32 urL pour pied de page 33 private String toitS https le9emetoit wordpress com 34 private String sanjaS http www besanja com 35 private String hurris http leshurricanes free fr 36 private String fbS https www facebook com Jakick QB 37 private String gplusS https plus google com ShyakaLaniesse 38 39 private static final Connection NULL null 49 private Panneau centre new Panneau new Color 255 255 255 41 private Panneau menu new Panneau new Color 255 255 255 15 42 private Panneau piedpage new Panneau new Color 255 255 255 0 43 private Panneau fond new Pann

Download Pdf Manuals

image

Related Search

Related Contents

Fusion de communautés : Mode d`emploi et retour d`expériences  Wiley iMovie '09 & iDVD '09 For Dummies  Owner`s Manual - Look Trailers  Comment 39 blogueurs ont gagné leurs premiers  

Copyright © All rights reserved.
Failed to retrieve file