Rapport Projet Prise De Note en Java Université Montpellier. Abdulhadi Al Laham Gualtiero Lugato Dhivya Moorthy Jean Philippe Vert

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

Download "Rapport Projet Prise De Note en Java Université Montpellier. Abdulhadi Al Laham Gualtiero Lugato Dhivya Moorthy Jean Philippe Vert"

Transcription

1 Rapport Projet Prise De Note en Java Université Montpellier Abdulhadi Al Laham Gualtiero Lugato Dhivya Moorthy Jean Philippe Vert 26 avril 2015

2 Table des matières 1 Introduction 2 2 Travail Réalisé Le Code Les Classes Invisibles Les classes codant l interface graphique La Base De Données categorie motcle note Difficultés Rencontrées Et Choix De Travail Difficultés Choix de travail Conclusion 21 5 Remerciements 22 6 Annexes Manuel d utlisation Diagrammes UML et Schéma base de données

3 Chapitre 1 Introduction Dans le cadre de l enseignement en deuxième année de licence informatique, nous avons réalisé une application pour la prise de notes, ces notes peuvent concerner des conférences, des réunions, des cours etc. L application permet la saisie de note, la saisie des informations concernant cette note (titre, date, catégorie et mots-clés) et bien entendu de tout enregistrer. Par conséquent, elle propose également un système de recherche d une note préalablement enregistrée et de pouvoir la lire ou même la modifier. Les recherches des notes peuvent être effectuées, selon les critères voulus par l utilisateur (une recherche par mot-clé, ou par catégorie par exemple). Pour la réalisation de ce projet, nous aurons besoin de quelques outils informatiques. À commencer par la modélisation (UML)du programme. Également on utilisera la base de données pour stocker les informations des notes. Et enfin pour ce qui concerne la programmation en Java, on utilisera les interfaces graphiques, ainsi que les classes de Java DataBase Connectivity 1 (JDBC) pour la connexion à la base de données. Nous sommes un groupe de quatre personnes à avoir travaillé sur ce projet. Un chef de groupe (A.ALLAHAM ) a été nommé dès le départ afin de faciliter l organisation du travail au sein du groupe. Durant la conception de cette application, nous avons parfois travaillé ensemble (sur une même partie, sur une même machine, notamment au commencement du projet) mais nous avons rapidement constaté la pénibilité de cette procédure et nous avons donc décidé d en changer. Depuis, nous préférons nous réunir dans un premier temps afin de concevoir ensemble la manière dont nous ferons le travail, ensuite nous partageons les tâches à réaliser et dans un dernier temps, nous nous réunissons afin d unifier nos codes. Ensuite nous nous rencontrons un ou deux jours avant notre entretien avec notre encadrant de projet M. Abdelhak-Djamel SERIAI. 1. JDBC est une API qui fait partie de la plateforme Java. À l aide d objets de ces classes, nous avons pu communiquer avec la base de données, que ce soit pour des requêtes de sélection, ou même pour des requêtes d insertion de nouveaux tuples, ou enfin simplement pour une mise à jour des informations qu elle contient. 2

4 Chapitre 2 Travail réalisé 2.1 Le Code Pour arriver à ce résultat et garder un travail (au niveau du code) clair et facile à manier, nous avons réparti le code, selon onze classes 1. Le code codant le graphique est réparti entre 5 classes uniquement 2, toutes les autres ne sont pas moins importantes, elles ont chacune un rôle bien précis et nécessaire. Certaines gèrent la connexion avec la base de données, d autres gèrent la recherche d informations en base de données. Nous allons d ailleurs les détailler Les classes invisibles La classe Connect La classe Connect garantie le lien entre la base de données (BDD) et notre programme grâce à JDBC. On remarque que les classes Note, Connect2 et Categorie héritent de Connect, afin de nous permettre d en utiliser la méthode de connexion dans ces classes filles. Deux méthodes sont importantes pour notre connexion, seconnecter(), qui permet à un utilisateur de se connecter à la base grâce à un url et unpassword données. 1 p r o t e c t e d Connection conn ; 2 p r o t e c t e d PreparedStatement preparedstatement ; 1. Liste des classes : Fenêtre, Paneau, Paneau1, Paneau2, Information, TableauResultat, Connect, Connect2, Categorie, FenetreMotCle, Note. 2. Fenetre, Paneau, Paneau1, Paneau2, Information, TableauResultat. 3

5 3 p r o t e c t e d R e s u l t S e t r e s u l t a t ; 4 p r o t e c t e d ResultSetMetaData r e s u l t M e t a ; p u b l i c void seconnecter ( ) { 8 9 t r y { C l a s s. forname ( org. p o s t g r e s q l. Driver ) ; 12 System. out. p r i n t l n ( Driver O.K. ) ; S t r i n g u r l = jdbc : p o s t g r e s q l : / / l o c a l h o s t : 5 432/ PriseDeNotes ; 15 S t r i n g u s e r = p o s t g r e s ; 16 S t r i n g passwd = realmadrid ; conn = DriverManager. getconnection ( url, user, passwd ) ; 19 System. out. p r i n t l n ( Connexion e f f e c t i v e! ) ; 20 } 21 catch ( Exception e ) { 22 e. p r i n t S t a c k T r a c e ( ) ; 23 } 24 } Et la méthode sedeconnecter(), qui ferme la connexion. 1 p u b l i c void sedeconnecter ( ) { i f ( preparedstatement!= n u l l ) { 5 t r y { 6 preparedstatement. c l o s e ( ) ; 7 System. out. p r i n t l n ( Objet preparedstatement ferme ) ; 8 } catch ( SQLException i g n o r e ) { 9 } 10 } i f ( r e s u l t a t!= n u l l ) { 15 t r y { 16 r e s u l t a t. c l o s e ( ) ; 17 System. out. p r i n t l n ( Objet R e s u l t S e t ferme ) ; 18 } catch ( SQLException i g n o r e ) { 19 } 20 } i f ( conn!= n u l l ) { 25 t r y { 26 / Fermeture de l a connexion / 27 conn. c l o s e ( ) ; 28 System. out. p r i n t l n ( Connexion fermee ) ; 29 } catch ( SQLException i g n o r e ) { 30 i g n o r e. p r i n t S t a c k T r a c e ( ) ; 31 } 32 } 33 4

6 34 35 } En particulier on utilise les objets Connection, PreparedStatement, Result- Set et ResultSetMetaData 3. C est grâce aux méthodes executeupdate() et executequery() qu on appelle avec PreparedStatement qu on va pouvoir effectuer la lecture et l écriture/suppression. En ce qui concerne la lecture on peut nommer dans cette classe la méthode interfacecategories (Paneau), qui insert dans l objet JComboBox toutes les catégories présentes dans la BDD et les affiches ainsi dans le menu déroulant de l interface graphique. Cette méthode sera appelée depuis la classe Fenetre. Enfin la méthode affichedansjtable (Paneau, Information) sert à l affichage des notes. Dans cette méthode on implémente un tableau de façon à ce que chaque ligne correspond à un tuple trouvé dans la base, elle est appelée dans Connect2, la classe qui sert à la recherche des notes. 1 p u b l i c void a f f i c h e D a n s J T a b l e ( Paneau1 pan, I n f o r m a t i o n i n f o ) { // nblignes ( ) e s t une f o n c t i o n qui r e n v o i e l e nombre de l i g n e s dans l o b j e t r e s u l t a t 5 i n t nbl = nblignes ( ) ; 6 7 //on i n s t a n c i e une matrice qui avec l e nombre de l i g n e s de l o b j e t r e s u l t a t a f i n de pouvoir c o n t e n i r t t l e contenu de ce d e r n i e r e t 4 c o l o n n e s 8 Object [ ] [ ] donnees = new Object [ nbl ] [ 4 ] ; 9 10 S t r i n g nomcolone []={ i d e n t i f i a n t, t i t r e, date, c a t e g o r i e } ; i n t j =0; t r y { //On r e m p l i t l a matrice avec l a i d e de l a b o u c l e do.... w h i l e ( cond ) 17 do{ 18 f o r ( i n t i = 1 ; i <= 4 ; i ++){ 19 i f ( i ==1){ donnees [ j ] [ i 1] = t h i s. r e s u l t a t. getobject ( i ) ; 20 } e l s e { 21 donnees [ j ] [ i 1] = t h i s. r e s u l t a t. getobject ( i ). t o S t r i n g ( ) ; 22 } } 25 j ++; 26 } w h i l e ( t h i s. r e s u l t a t. next ( ) ) ; 3. L objet java.sql.connection représente la connexion à la BDD. Le PreparedStatement implémente l interface Statement (objet qui permet l exécution des requêtes) et exécute des requêtes pré compilés SQL. L objet ResultSet contient le résultat de la requête. Enfin le ResultSetMetaData contient des informations sur le type et le propriétés des colonnes dans un ResultSet. 5

7 27 28 // t a b l e a u e s t une f e n e t r e qui c o n t i e n t n o t r e matrice qu on l u i p a s s e en parametre 29 TableauResultat t a b l e a u = new TableauResultat ( donnees, nomcolone, pan, i n f o ) ; } catch ( Exception e ) { 32 JOptionPane. showmessagedialog ( n u l l, i l n y a aucun f i c h i e r correspondant a v o t r e r e c h e r c h e, r i e n de grave!, JOptionPane.ERROR MESSAGE) ; 33 e. p r i n t S t a c k T r a c e ( ) ; 34 } } 38 La classe Note À l image de son nom, cette classe représente une note. C est-à-dire, son titre, sa date, sa catégorie et tous ses mots-clés. Tous ceux-ci sont stockés dans des attributs de la classe. De plus, un attribut identifiant est là pour stocker la valeur de l identifiant du tuple stockant ces données dans la table note. Un autre attribut a été créé afin de garder la valeur de la clé-étrangères référençant le tuple de la table motcle contenant les mots clés en lien avec cette note. Il faut savoir que lors de l ouverture d une nouvelle note, un objet est instancié avec le constructeur par défaut. Ce constructeur initialise les attributs à null. C est lors de l enregistrement de cette note que les attributs se verront être affecté d une valeur. Cependant, lors de l ouverture d une note existante, un objet de la classe Note est instancié avec le constructeur paramétré prenant l identifiant de cette note dans la table note de la base de données. En effet à l aide de cet identifiant, le constructeur va utiliser la méthode select- Note (int id) pour récupérer toutes les informations depuis la base de données et venir les stocker dans les attributs. 1 p u b l i c Note ( i n t i d ) { 2 super ( ) ; 3 t h i s. seconnecter ( ) ; 4 t h i s. s e l e c t N o t e ( i d ) ; 5 t h i s. sedeconnecter ( ) ; 6 } 7 8 p u b l i c void s e l e c t N o t e ( i n t i d ) { 9 t r y { 6

8 10 preparedstatement = conn. preparestatement ( SELECT i d n o t e, t i t r e, date, nom categorie, r e f m o t c l e, motcle1, motcle2, motcle3, motcle4, motcle5, motcle6, motcle7, motcle8, motcle9, motcle FROM note, c a t e g o r i e, motcle 12 + WHERE note. r e f c a t= c a t e g o r i e. i d c a t e g o r i e AND note. r e f m o t c l e = motcle. i d m o t c l e AND i d n o t e =? ; ) ; 13 preparedstatement. s e t I n t ( 1, i d ) ; 14 r e s u l t a t = preparedstatement. executequery ( ) ; 15 r e s u l t a t. next ( ) ; 16 System. out. p r i n t l n ( \n \n \n +r e s u l t a t+ \n \n \n \ n ) ; t h i s. i d e n t i f i a n t = r e s u l t a t. g e t I n t ( 1 ) ; 20 t h i s. t i t r e = r e s u l t a t. g e t S t r i n g ( 2 ) ; 21 t h i s. date = r e s u l t a t. getdate ( 3 ) ; 22 t h i s. c a t e g o r i e = r e s u l t a t. g e t S t r i n g ( 4 ) ; 23 t h i s. r e f e r e n c e m o t c l e = r e s u l t a t. g e t I n t ( 5 ) ; 24 t h i s. motcle = r e s u l t a t. g e t S t r i n g ( 6 ) ; 25 t h i s. motcle1 = r e s u l t a t. g e t S t r i n g ( 7 ) ; 26 t h i s. motcle2 = r e s u l t a t. g e t S t r i n g ( 8 ) ; 27 // e t a i n s i de s u i t e pour l e s s e p t mots c l e s r e s t a n t s } catch ( Exception e ) { 29 e. p r i n t S t a c k T r a c e ( ) ; 30 } 31 } En plus de la méthode selectnote (int id), il y a une méthode enregistrer- Nouveau (String) qui est appelée lors de la sauvegarde d une nouvelle note. Elle va donc dans un premier temps affecter les valeurs saisies par l utilisateur à propos de la note aux attributs de la classe. Ensuite, elle appelle la méthode insererdonnees (String) qui va établir la connexion à la base de données et agir de la sorte : 1 p u b l i c void i n s e r e r D o n n e e s ( S t r i n g d e s c r i p t i o n ) { //On cherche l Id correspondant a l a c a t e g o r i e dans l a t a b l e c a t e g o r i e 6 i n t c a t e I d=r e c h e r c h e I d ( ) ; 7 8 i n t motcleid =0; 9 10 t r y { //on i n s e r e d abord l e s mots c l e s dans l a t a b l e d e d i e e 13 t h i s. i n s e r e r M o t C l e ( ) ; // Egalement on cherche l Id des mots c l e s i n s e r e s depuis l a t a b l e motcle 16 motcleid=r e c h e r c h e I d 2 ( ) ; 17 7

9 18 //On i n s e r t un nouveau t u p l e dans l a t a b l e note avec l e s v a l e u r s des a t t r i b u t s de l i n s t a n c e courante. 19 preparedstatement = conn. preparestatement ( INSERT INTO note ( t i t r e, date, r e f c a t, r e f m o t c l e ) VALUES(?,?,?,?) ;, Statement.RETURN GENERATED KEYS ) ; preparedstatement. s e t S t r i n g ( 1, t i t r e ) ; 23 preparedstatement. setdate ( 2, c o n v e r t U t i l T o S q l ( date ) ) ; 24 preparedstatement. s e t I n t ( 3, c a t e I d ) ; 25 preparedstatement. s e t I n t ( 4, motcleid ) ; i n t s t a t u t 2 = preparedstatement. executeupdate ( ) ; // ce qui s u i t e c r i t l e contenu t e x t e dans un f i c h i e r 30 S t r i n g nomdufichier = C: / Users / abdulhadi / sauvegarde / + t i t r e+. t x t ; 31 F i l e f i c h i e r = new F i l e ( nomdufichier ) ; 32 F i l e W r i t e r f = new F i l e W r i t e r ( f i c h i e r ) ; 33 f. w r i t e ( d e s c r i p t i o n ) ; 34 f. c l o s e ( ) ; preparedstatement = conn. preparestatement ( SELECT FROM Note ; ) ; r e s u l t a t = preparedstatement. executequery ( ) ; } catch ( Exception e ) { 41 JOptionPane. showmessagedialog ( n u l l, ce f i c h i e r e x i s t e d e j a, r i e n de grave!, JOptionPane.ERROR MESSAGE) ; 42 e. p r i n t S t a c k T r a c e ( ) ; 43 } // a f f i c h a g e des contenus des t a b l e s 46 S t r i n g s= motcle ; 47 t h i s. a f f i c h a g e D o n n e e s ( s ) ; 48 t h i s. a f f i c h a g e D o n n e e s ( note ) ; 49 } L exécution de insererdonnees (String) terminée, la méthode enregistrer- Nouveau (Paneau, String) récupère l identifiant de la ligne qu elle vient de stocker dans la BDD afin de le stocker dans l attribut identifiant jusqu à l ouverture d une autre note. Elle fait de même pour l attribut référençant le tuple des mots-clés dans la table motcle. Voilà toute la portée de cette méthode. Cependant, une deuxième méthode qui permet d enregistrer existe, c est enregistrerpardessus (Paneau, String). Cette dernière est appelée lorsque la note à enregistrer existe déjà dans la base de données et qu il faut simplement la mettre à jour pour sauver les modifications apportées. Et enfin, une méthode effacernote() est codée et qui sert à effacer le fichier 8

10 contenant le texte, ainsi que les tuples contenant les informations de la dans la base de données. D autres petites fonctions sont présentes, mais il n y a aucune nécessité à les développer. La classe Categorie Cette classe est héritée de Connect pour assurer la connexion à la BDD et gère essentiellement l insertion des nouvelles catégories choisies par l utilisateur dans la base. Effectivement la méthode inserercategoriedefaut() sert à garantir la présence d une catégorie par défaut à chaque exécution du code, tandis que la méthode inserernewcat (Paneau, Paneau2) insert une nouvelle catégorie dans la base lorsque l utilisateur a choisi le bouton new categorie dans l interface. Les champs présents dans le JComboBox sont ensuite vidés et remplis avec le résultat d une nouvelle recherche dans la base pour avoir la liste des toutes les catégories déjà présentes plus celle que l on vient de rajouter. Les deux méthodes citées sont appelées depuis Fenetre. 1 La classe Connect2 Connect2 se charge de communiquer avec la base de données dans le but d y soutirer les informations voulues. Et pour cela elle hérite de la classe Connect. En effet Connect2 contient une méthode recherchernote (Paneau2, Paneau1, Information) qui se charge d effectuer les recherches. Elle récupère les conditions de saisies détaillées par l utilisateur par l intermédiaire du paramètre pan2, ensuite à l aide de nombreuses requêtes SQL qu elle contient, elle choisira la requête correspondante à la saisie de l utilisateur (recherche par titre, ou par date, soit les deux etcs) et sélectionnera les résultats qu elle placera dans l objet resultat de type ResultSet et dans un second temps fera appel à la méthode affichedans- JTable (Paneau1, Information) qui servira à remplir le tableau de résultats. Exemple : recherche avec une fourchette de dates, une catégorie et des mots-clés saisis par l utilisateur. 2 p u b l i c void r e c h e r c h e r N o t e ( Paneau2 pan2, Paneau1 pan, I n f o r m a t i o n i n f o ) { 3 4 i f ( t i t r e V i d e &&! datevide &&! datefinvide &&! c a t e g o r i e V i d e &&! motclevide ) { 5 / 6 7 Dans ce qui s u i t, r e q u e t e e t ComplementrequeteMotcle sont des s t r i n g 9

11 8 contenant l e debut de l a r e q u t e (SELECT FROM WHERE dans r e q u e t e ) e t des c o n d i t i o n s 9 dans ComplementRequeteMotcle (WHERE) 10 c e c i nous a e v i t e d e c r i r e p l u s i e u r s f o i s l a meme chose / preparedstatement = conn. preparestatement ( r e q u e t e+ ComplementrequeteMotcle+ AND. date >=? 17 AND. date<=? AND c a t e g o r i e. n o m c a t e g o r i e =? ;, R e s u l t S e t. TYPE SCROLL SENSITIVE, 18 R e s u l t S e t.concur UPDATABLE) ; t h i s. raccourcimotcle ( pan2 ) ; 21 preparedstatement. setdate ( 1 1, c o n v e r t U t i l T o S q l ( pan2. s a i s i e D a t e ( ) ) ) ; 22 preparedstatement. setdate ( 1 2, c o n v e r t U t i l T o S q l ( pan2. s a i s i e D a t e F i n ( ) ) ) ; 23 preparedstatement. s e t S t r i n g ( 1 3, pan2. s a i s i e C a t e g o r i e ( ) ) ; 24 r e s u l t a t = preparedstatement. executequery ( ) ; 25 r e s u l t M e t a = r e s u l t a t. getmetadata ( ) ; 26 t h i s. a f f i c h e D a n s J T a b l e ( pan, i n f o ) ; } La méthode sert à insérer dans la requête les contenus des dix champs motsclés On trouve également dans cette classe une fonction de conversion des formats de date depuis le format java.util.date (format de date utilisée en java) en java.sql.date (format de date de la base de données). Cette dernière méthode est utilisée lors de la communication de date à la base de données. La classe Audio On a créé une classe Audio qui a une méthode principale getaudioformat et captureaudio. GetAudioFormat fait appel à la classe AudioFormat qui existe déjà dans le package Javax.sound.sampled. Elle spécifie un agencement particulier de données dans un flux sonore. 1 p r i v a t e AudioFormat getaudioformat ( ) { 2 f l o a t samplerate = F ; 3 // 8000,11025,16000,22050, i n t s a m p l e S i z e I n B i t s = 1 6 ; 5 // 8,16 6 i n t c h a n n e l s = 1 ; 7 // 1,2 8 boolean s i g n e d = t r u e ; 9 // true, f a l s e 10 boolean bigendian = f a l s e ; 11 // true, f a l s e 12 r e t u r n new AudioFormat ( samplerate, 13 s a m p l e S i z e I n B i t s, 14 channels, 15 signed, 16 bigendian ) ; 10

12 17 } 18 CaptureAudio convertit l information du son par l objet DataLine et fait appel à la classe CaptureThread qui permet le bon déroulement de l enregistrement du son. La Classe CaptureThread qui est hérité de Thread qui contient une méthode run. Elle capture le son avec l objet targetdataline. Pour la portabilité de l audio, on a choisi le format audio Wave Les classes codant l interface graphique La classe Fenetre Elle hérite de JFrame 5 et c est la classe à partir de laquelle toutes les autres classes sont gérées. C est en effet ici qu on construit les objets principaux de notre application, qui correspondent aux autres classes 6. Cette classe contient également les objets JMenuBar et JMenu qui servent à implémenter la barre de menu dans notre fenêtre (dans l interface graphique) et trois objets de type JMenuItem qui correspondent aux trois champs dans le menu, save, find et new. Les actions déclenchées lors de l actionnement de l un de ces champs seront détaillées dans la suite de ce paragraphe. Les objets instanciés de type Paneau1 et Paneau2 seront à tour de rôle les ContentPane de notre fenêtre. Les méthodes contenues dans le constructeur par défaut de Fenetre vont être appelées lors du lancement de l application : dans l ordre sont appelés les méthodes inserercategoriedefaut() 7 et interface- Categories (Paneau/Paneau2), qui garantissent la présence d une catégorie par défaut dans la base de données et le placement des éléments de la table categorie de la BDD dans le menu déroulable (JComboBox présent dans la classe Paneau) plus le placement d un champ supplémentaire new categorie. Une note par défaut est ensuite instanciée 8. Également on a vu que Fenetre instancie l objet info de la classe Information. Grâce à l objet ActionListener nous avons lié des actions aux éléments du menu cité ci-haut, qui lorsque l un subit une action de l utilisateur déclenche toute une procédure derrière. L item save du menu permet de rendre l objet de type Information visible afin d effectuer l enregistrement du texte qu on vient d écrire 4. Cependant la sauvegarde du fichier audio n est pas terminée, ce qui explique l absence de lien dans le diagramme de classes fournit en annexe. 5. Il s agit d une fenêtre en Java 6. Paneau1, Paneau2, Connect, Connect2, Categorie et Information. 7. La méthode sera détaillée dans la section dédiée à la classe Categorie. 8. Voir la section sur la classe Note. 11

13 dans un fichier.txt dans un répertoire. Le champ find permet de changer de ContentPane e la classe courante, c est-à-dire de définir l objet de type Paneau2 comme ContentPane. Le champ new redéfinit le ContentPane avec l objet de type Paneau1 ou réinitialise tous les champs pour la saisie pour une nouvelle note, et instancie un nouvel objet note par défaut et fait appel à la méthode recupnote (Note) de l objet info. Dans cette instance de classe, le champ new categorie, qui est présent dans le menu déroulable de la classe Paneau1, sert pour l ajout d une nouvelle catégorie insérée à la main par l utilisateur : new categorie appelle la méthode ajoutcategorie1() 9, Toujours à partir de ce champ on fait appel à la méthode inserernewcat (Paneau, Paneau2), qui insert la catégorie dans la BDD. Enfin, nous avons attribué au bouton valider de Paneau2 l appel à la méthode recherchernote (Paneau2, Paneau, Information), qui sert notamment pour la recherche d une note dans la base. La classe Paneau Cette classe hérite de javax.swing.jpanel. Un objet de ce type est instancié dans la classe codant la fenêtre Information à laquelle il sert de ContentPane. Dans cette classe Paneau sont instanciés les JTextField (champs d écritures sur une seule ligne), JDateChooser (champ de saisie de date) et le JComboBox servant à contenir les informations (titre, date, motcle, catégorie) dans la fenêtre Information citée ci-haut. De plus, elle contient un objet de type FenetreMotCle 10 ainsi que le JButton + que l on trouve dans cette même fenêtre Information. À ce bouton + on a ajouté une action qui consiste, dès lors que l on clique dessus, une fenêtre apparaît avec dix champs mots-clés optionnels, selon le besoin de l utilisateur. Toujours dans cette classe, se trouve un objet categorie de type String et une méthode ajoutcategorie1() utilisés dans le processus d ajout d une nouvelle catégorie lorsque l utilisateur sélectionne new categorie dans la JComboBox. Et enfin, la grande partie du code de cette classe se trouve dans le constructeur par défaut (seul constructeur présent). En effet c est dans ce constructeur que les composants 11 sont positionnés et initialisés et surtout ajoutés à l instance courante. 9. voir rôle dans Paneau 10. Classe codant la fenêtre remplie de champs mots-clés. 11. Composants : JTextField, JComboBox, JDateChooser, JButton, JLabel (que nous n avons pas cité, car n ont pas une grande importance dans le fonctionnement de l application). 12

14 1 2 p u b l i c Paneau ( ) { 3 4 //on met l e Layout n u l l a f i n de pouvoir p l a c e r l e s composants manuellement avec l a methode setbounds ( ) 5 t h i s. setlayout ( n u l l ) ; 6 7 T o o l k i t t o o l k i t = T o o l k i t. g e t D e f a u l t T o o l k i t ( ) ; 8 Dimension t a i l l e E c r a n = t o o l k i t. g e t S c r e e n S i z e ( ) ; 9 t h i s. s e t S i z e ( t a i l l e E c r a n ) ; l a b e l. settext ( T i t r e ) ; // c e s e c r i t s s e r v i r o n t de t i t r e s aux champs d e c r i t u r e 13 l a b e l. setbounds ( 1 0, 50, 70, 25) ; 14 l a b e l 2. settext ( Date ) ; 15 l a b e l 2. setbounds ( 1 0, 1 0 0, 7 0, 2 5 ) ; 16 l a b e l 3. settext ( C a t e g o r i e ) ; 17 l a b e l 3. setbounds ( 1 0, 150, 100, 25) ; 18 l a b e l 4. settext ( Mot c l e ) ; 19 l a b e l 4. setbounds ( 1 0, 200, 70, 25) ; // on p l a c e l e s champs d e c r i t u r e. text1, text2, t e x t 4 sont des JTextField e t combo un JComboBox 22 t e x t 1. setbounds ( 1 0 0, 5 0, 2 0 0, 2 5 ) ; 23 t e x t 2. setbounds ( 1 0 0, 1 0 0, 200,25) ; 24 combo. setbounds ( 1 0 0, 150, 200, 25) ; 25 t e x t 4. setbounds ( 1 0 0, 200, 200, 25) ; 26 ajoutemc. setbounds ( 3 0 0, 2 0 0, 50, 25) ; //on c o l o r i e l e s champs 29 t e x t 1. setbackground ( new Color ( 2 5 0, 240, 197) ) ; 30 t e x t 2. setbackground ( new Color ( 2 5 0, 240, 197) ) ; 31 combo. setbackground ( new Color ( 2 5 0, 240, 197) ) ; 32 t e x t 4. setbackground ( new Color ( 2 5 0, 240, 197) ) ; 33 t h i s. gettext2 ( ). setdate ( new Date ( ) ) ; getjcombobox ( ). additem ( new c a t e g o r i e ) ; t e x t 2. setdateformatstring ( dd/mm/yyyy ) ; //Ce f a i t a p p a r a i t r e une f e n e t r e contenant des champs mots c l e s. 44 ajoutemc. a d d A c t i o n L i s t e n e r ( new A c t i o n L i s t e n e r ( ) { 45 p u b l i c void actionperformed ( ActionEvent event ) { mkw. s e t V i s i b l e ( t r u e ) ; } 50 13

15 51 }) ; // a j o u t o n s tous c e s composants a l i n s t a n c e courante t h i s. add ( ajoutemc ) ; 57 t h i s. add ( l a b e l ) ; 58 t h i s. add ( t e x t 1 ) ; 59 t h i s. add ( l a b e l 2 ) ; 60 t h i s. add ( t e x t 2 ) ; 61 t h i s. add ( l a b e l 3 ) ; 62 t h i s. add ( combo ) ; 63 t h i s. add ( l a b e l 4 ) ; 64 t h i s. add ( t e x t 4 ) ; } Également des accesseurs getxxxx() aux composants et leurs contenus sont disponibles. Comme nous l avons dit plus haut 12, on utilise les mêmes composants dans l onglet find. Par conséquent il nous a paru logique que Paneau donne naissance à une classe fille Paneau2. La classe Paneau2 Effectivement, Paneau est l une des onze classes et hérite directement de la classe Paneau. Nous retrouvons donc tout le contenu de Paneau, avec quelques ajouts notamment d un JButton valider et d un JDateChooser servant à accueillir la date de fin de recherche. En effet Paneau2 correspond au Conntent- Pane de la fenêtre lorsque l utilisateur fera une recherche. Le bouton valider se verra définit d une action pour commencer la recherche dans la base de données. Cependant, la déclaration et définition de cette action est faite dans la classe Fenetre. La classe Paneau1 Le nom de la classe est trompeur et peut laisser croire que comme pour Paneau2, Paneau1 hérite de la classe Paneau cependant ce n est pas le cas 13. Malgré tout, Paneau étend JPanel. C est le ContentPane utilisé lors de la prise de notes. Dans cette classe on trouve un attribut de type JTextPane (conteneur du texte tapé par l utilisateur). Un deuxième attribut JScrollPane est instancié, auquel on ajoute le JText- Pane afin de rendre ce dernier navigable. On peut ajouter à cela un constructeur 12. dans la partie : Présentation de l application 13. Dans un premier temps si, mais nous avons changé durant l avancement du projet pour une meilleure ergonomie de l application. 14

16 par défaut ayant la même visée que ceux des classes Paneau et Paneau2 et un accesseur au JTextPane et son contenu. La classe FenetreMotCle Cette classe héritière de javax.swing.jframe code seule la fenêtre dont on a parlé ci-dessus, cette fenêtre qui apparaît avec 9 champs mot-clés. En effet, Dans cette classe, se trouve un objet JPanel servant de ContentPane à cette frame. Également neuf attributs JTextField ont été créés, positionnés dans le constructeur par défaut et ajoutés à l objet JPanel. Chacun de ces attributs possède un accesseur en lecture, ainsi qu un accesseur à leur contenu. Un bouton valider est également créé servant juste à cacher la fenêtre après la saisie des mots-clés si l on vient à cliquer dessus. Enfin, une méthode reinitialisermotcle() est là que l on utilisera pour remettre les champs de cette fenêtre à vide. La classe Information Depuis le début de ce chapitre nous parlons de la fenêtre Information présente dans l application et bien la coïncidence des noms n est pas due au hasard. La classe Information est celle qui code la fenêtre citée précédemment. Information est héritée de JFrame, contenant un attribut pan de type Paneau comme ContentPane. Un objet note de type Note a été créé également que l on utilisera pour appeler deux méthodes de cette classe. Nous avons également instancié un objet description qui récupère le contenu du JTextPane, dont nous avons parlé dans la classe Paneau1, à l aide de la méthode recupdescription (String), pour ensuite le donner en paramètre à la méthode qui enregistre (à voir un peu plus bas). Un JButton enregistrer Nouveau est instancié et ajouté à l attribut pan et il a un rôle qui consiste à faire appel à la méthode sauvegarder() disponible dans cette classe. Cette méthode testera si les conditions de saisies sont bien remplies (champ titre non vide, champ date non vide etc.), si oui alors elle-même fera appel à la méthode enregistrernouveu (Paneau1, String). Un deuxième bouton enregistrer est également disponible qui fait appel à la méthode textitenregistrerpardessus (Paneau1, String), présente dans la classe Note, si on le déclenche. Deux autres méthodes sont codées, il y a d abord une méthode recupnote (Note) appelée dans la classe TableauResultat, car elle permet, suite à la sélection d un fichier existant, de replacer les informations concernant ce dernier dans les champs dédiés dans l objet pan et d affecter la valeur de l objet Note qu elle prend en paramètre à l attribut de l instance courante. La dernière méthode est setnote (Note) qui permet d affecter la valeur de l objet note pris en paramètre 15

17 à l instance créée dans cette classe. Cette dernière méthode est notamment utilisée dans la classe Fenetre lors de l ouverture d une nouvelle note, à ce moment cette méthode est appelée avec en paramètre un objet de type Note instancié avec le constructeur par défaut. La classe TableauResultat Nous avons dit précédemment que lors de la recherche d une note, les résultats sont affichés sous forme de tableau dans une nouvelle fenêtre. Et bien cette fenêtre a son code dans cette classe. Hérité de JFrame également, TableauResultat a pour attribut une JTable (représenté graphiquement par un tableau) qui contiendra les résultats issus de la recherche dans la base de données. À cela s ajoutent trois JButtons, Editer, Lire, Supprimer. Chacun de ces boutons a un rôle précis. Le bouton Editer permet, si l utilisateur a sélectionné un résultat dans le tableau, d ouvrir le fichier et de pouvoir le modifier si besoin. Pour cela, nous avons décrit son action de la sorte : 1. Recherche du fichier contenant la description dans un répertoire indiqué grâce aux objets Files, FileReader, BufferReader instanciés dans la méthode addactionlistener (new ActionListener()). 2. Lecture du fichier et copie de son contenu placé dans le champ JTextPane dont nous avons parlé avant. 3. Enfin, instanciation d un objet Note avec le constructeur paramétré 14 auquel nous avons passé l identifiant du fichier récupéré lors de la recherche dans la base de données. La méthode RecupNote() de la classe Information s appelle avec la note instanciée dernièrement en paramètre 15. Quant au bouton Lire, son action est semblable à celle du bouton Editer sauf qu ici, le fichier ouvert ne pourra être modifié, en effet lors de l ouverture d un fichier avec ce bouton, tous les champs pour la saisie seront désactivés pour l utilisateur avec la méthode setenabled(). Pour finir, le bouton Supprimer a la fonction désignée par le nom. Et pour cela, il va utiliser les mêmes objets cités ci-dessus et procéder de la manière suivante : 1. Reherche du fichier dans le répertoire spécifié, suppression du fichier avec la méthode delete() disponible dans l objet de type File. 14. Il est important de connaître sa fonction pour comprendre, je vous prie de vous référer à la partie parlant de la classe Note. 15. voir son action dans le passage concernant la classe Information. 16

18 2. Suppression des informations liées à ce fichier dans la base de données. Pour cela on instancie un objet de type Note avec le constructeur paramétré, puis nous faisons appel à la méthode effacernote() depuis l objet Note. 2.2 La base de données On en a parlé dans la partie sur le code, la base de données est un élément clef de notre projet. Nous l avons construite, détruite et reconstruite plusieurs fois jusqu à trouver la bonne configuration. Au final nous avons construits une base de données PriseDeNotes à l aide du logiciel PostgreSQL. Dedans, nous avons créé trois tables une table note, une table motcle, une table categorie categorie Cette table contient deux colonnes, la première appelée id categorie étant la clé primaire et la deuxième contenant l intitulé de la catégorie nom categorie, cette dernière est soumise à la contrainte d unicité motcle La table motcle est celle où l ensemble du contenu des dix champs motsclés proposés pour une note dans l application seront stockées. En effet il y a onze colonnes, une colonne id motcle en tant que clé primaire et identifiant des tuples et les dix autres colonnes servent à recueillir chacune le contenu d un champ mot-clé de l application note La table note est destinée à contenir les premières informations obligatoirement saisies par l utilisateur lors de l enregistrement d une note. Soit le titre, la date, la référence à la catégorie et la référence au tuple de mots-clés. En outre, cette classe contient cinq colonnes. La première colonne est id note est la clé primaire de cette table, vient ensuite la seconde et troisième colonne titre et date qui contienne ce que leur nom respectif indique. La quatrième colonne ref cat est une clé étrangère référençant la colone id categorie de la table categorie. Enfin la cinquième et la dernière colonne se nomme ref motcle, c est également une clé étrangère faisant référençant la colone id motcle de la table motcle. Nous verrons dans le prochain chapitre ce qui nous a amené à choisir une telle configuration. 17

19 Chapitre 3 Difficultés rencontrées et choix de travail 3.1 Difficultés Nous avons rencontré quelques difficultés durant la programmation. Nous avions commencé au départ par faire l interface graphique sans code réel derrière et c est dans cette étape que l on a rencontrée les premiers obstacles. En effet, aucun de nous quatre n avait auparavant travaillé sur du graphique, notre seule expérience en programmation reposait sur ce que l on faisait durant les heures de TPs (C, C++, java) dispensées à la fac. Nous avons cependant su passer outre rapidement pour avancer. Puis durant l avancement du projet nous avons rencontré d autres difficultés, notamment au niveau de l organisation du code. En effet, il était parfois nécessaire de lier deux classes qui ne sont pas vraiment au même niveau. Par exemple, nous avons une classe A dans laquelle un objet de type Classe B est instancié, dans cette classe B il y a un objet de classe C et qu une méthode de ce dernier objet doit utiliser un objet de la classe courante A définie plus haut, alors il fallait trouver un moyen de créer un lien entre ces deux instances 1. Il a donc été un peu difficile de tenir une structure linéaire à certains moments. Comme nous l avons dit un peu plus tôt, la base de données a été modifié à plusieurs reprises pour la rendre fonctionnelle avec les évolutions, ou parfois la restructuration du code. Ce n était pas évident de trouver la bonne formule 2 directement. D autres couacs nous ont également retardé dans notre avancé, comme par exemple la manipulation de l objet ResultSet, en effet dans la méthode nblignes() nous voulions naviguer dans l objetresultat de type Result- Set, hors nous arrivions à le faire que dans un seul sens, c est-à-dire descendre les 1. par exemple voir dans le code comment l objet info dans TableauResultat est arrivé. 2. cette organisation de la base de données est justifié plus bas dans le chapitre. 18

20 lignes sans pouvoir les faire pointer vers la première ligne à la fin de la méthode. 1 p u b l i c i n t nblignes ( ) { 2 i n t a =0; 3 t r y { 4 5 // l a s t ( ) ns r e n v o i e a l a d e r n i e r e l i g n e de l o b j e t 6 t h i s. r e s u l t a t. l a s t ( ) ; 7 a=t h i s. r e s u l t a t. getrow ( ) ; 8 9 // f i r s t ( ) ns r e n v o i e a l a premiere l i g n e 10 t h i s. r e s u l t a t. f i r s t ( ) ; 11 } catch ( Exception e ) { 12 e. p r i n t S t a c k T r a c e ( ) ; 13 } 14 r e t u r n a ; 15 } Il aura fallu ajouter quelques options (ResultSet.TYPE SCROLL SENSITIVE, ResultSet.CONCUR UPDATABLE) lors de la préparation (dans l objet preparedstatement de la requête SQL dont les résultats sont placés dans resultat 1 preparedstatement = conn. preparestatement ( r e q u e t e+ AND note. date>=? AND note. date <=?;, R e s u l t S e t. TYPE SCROLL SENSITIVE, 2 R e s u l t S e t.concur UPDATABLE) ; Il n a pas été simple non plus de trouver le bon moyen de gérer les recherches de fichiers avec les mots-clés comme indices, c est-à-dire trouver la bonne requête en SQL sans que celle là ne soit trop longue et complexe, mais également là aussi il a fallu trouver la bonne structure de base de données afin de pouvoir nous simplifier les requêtes. Un autre ralentissement aussi est parfois la compréhension du travail d autrui, c est-à-dire, comprendre un code que l on n a pas réalisé soit même n est pas toujours simple et nous amène parfois à nous perdre un peu. Il fallait donc souvent que l on se réunisse que chacun explique ses démarches aux autres. De plus, parfois il nous fallait réadapter certaines parties de codes, selon ce que chacun a fait. 3.2 Choix de travail Alors, nous avons déclaré auparavant que l on a réparti le code sur onze classes pour des raisons de propreté et de clarté. La structure du code a été modifiée plusieurs fois. Par exemple dans un premier temps la classe Note n avait pas été créée, la gestion de sauvegarde de notes se faisait à travers une classe Sauvegarder qui n existe plus. En effet la manipulation de la base de données était direct 3, il a été préférable de créer cette classe Note afin de simuler l état d une note dans les tables et ainsi permettre de manipuler, qui s occupera ensuite de gérer la base de données et 3. On enregistrait directement le contenu des champs dans la base de données. 19

21 rendre la communication avec la base de données moins direct et ceci paraît finalement être logique dans la structure. Quant à la gestion des catégories, il fallait trouver un moyen qui permet à l utilisateur de créer ses propres catégories et de pouvoir les retrouver lors des prochaines utilisations. De plus, il fallait fournir une catégorie par défaut. Afin de garantir ces fonctionnalités, nous avons séparée la catégorie de la note en créant une table categorie et une table note. La table categorie nous permet de stocker toutes les catégories ajoutées par l utilisateur, ainsi à chaque démarrage de l application, les données sont retrouvées et replacées dans l interface 4. En ce qui concerne la présence et la configuration de la troisième table motcle, la première citée est due simplement à une volonté de faire propre pour ne pas surcharger la table note avec dix colonnes supplémentaires. La seconde est l achèvement d un effort plus complexe. En effet, cette table motcle contient dix colonnes (sans compter la colonne id motcle ) servant donc à recueillir chacune les saisies correspondant dans les champs de l interface. Nous avions dans un premier temps voulu tout stocker sous une seule chaine de caractère dans un seul champs, cela facilitait la recherche des mots-clés ensuite, nous n avions qu à rechercher les séquences de caractères dans un seul champs au lieu de dix! Or cette façon de faire s est montrée plus complexe finalement, bien qu elle simplifie la recherche des mots-clés, elle rendait le travail nettement plus difficile lorsqu il fallait récupérer les informations contenues dans cette table motcle et les répartir sur les dix champs de l interface 5. Nous avons donc opté pour l utilisation de dix champs afin de pouvoir facilement répartir leur contenu lors de la récupération d information et grâce à la méthode CONCAT() 6 disponible en SQL, nous avons pu utiliser la base de données comme si elle ne contenait qu un seul champ pour faire nos recherches de mots-clés. Nous avons donc vu les principales prises de décisions que l on a eu à faire. 4. Un tuple dans categorie peut être référence par plusieurs tuples de note. 5. Lors de l ouverture d une note par l utilisateur ; 6. cette méthode concatène ensemble les colonnes passées en paramètre, de sorte à ne faire qu une. 20

22 Chapitre 4 Conclusion Au final, nous avons réalisé une application fonctionnelle proposant une interface graphique simple, avec des fonctionnalités de saisies, de sauvegarde en base de données et fichier, de récupération de données et de pouvoir rouvrir en mode lecture, écriture ou encore de les effacer et tout cela a été réalisé pour un usage intuitif. Cet exercice a été riche en enseignement de bien des façons, nous nous sommes aventurés dans des mondes de programmations que l on ne connaissait pas jusqu ici tel quel la programmation événementielle où bien celui de la gestion de la base de données dans le programme. Cela nous a également permis d approfondir les notions que l on avait vue auparavant tel que la programmation par objet et les requêtes SQL où bien même la modélisation UML. De plus, il a fallu apprendre à travailler en groupe et s adapter au travail de chacun. Nous constatons que nous nous sommes approchés de ce qui constitue aujourd hui le monde de la programmation de logiciels. 21

23 Chapitre 5 Remerciements Nous tenons à remercier particulièrement Monsieur Abdelhak-Djamel Seriai qui a su parfaitement nous guider durant les différentes étapes du T.E.R et pour ses points de vues fournit durant les entretiens qui ont largement influencés nos choix de programmation. Nous remercions également l ensemble du corps enseignant qui nous a guidé jusqu ici depuis nos débuts dans l informatique. 22

24 Bibliographie Cariou, Eric. Accès aux bases de données en Java. Herby,Cyrille. Apprenez à programmer en Java. Munier, Médéric. INTRODUCTION À MYSQL ET JDBC. Oracle Company http: // stackoverflow. com/ 23

25 Chapitre 6 Annexes 6.1 Manuel d utlisation Lors de l exécution de l application, une première fenêtre apparait avec en entête le titre de l application. Elle propose un champ d écriture, prenant toute la superficie de cette fenêtre. C est dans ce champ que l utilisateur est invité à saisir son texte. En haut de cette même fenêtre, une barre de menu contenant un menu Record est disponible pour faciliter la prise de note par l enregistrement vocal. Pour cela on a ajouté un JMenuItem audio. Audio ouvre une nouvelle fenêtre avec deux boutons start qui démarre l enregistrement et stop qui l arrête et demande de saisir un titre. 24

26 Figure 6.1 Fenetre édition Toujours dans cette barre de menu, on a placé un menu Action. Dans ce menu, trois items cliquables sont placés dans l ordre suivant save, find, new ayant chacun une action précise. 25

27 Figure 6.2 menu Action Le premier, l item save ouvre une deuxième fenêtre (nommée Information ) si l on vient à cliquer dessus. Cette Nouvelle fenêtre offre diverses choses, à commencer par un champ Titre dans lequel l utilisateur précisera le nom de la note qu il a saisi dans la première fenêtre. De plus, un champ Date est présent permettant à l utilisateur de saisir la date correspondant à la même, soit de choisir cette date dans un calendrier. Juste au-dessous du champ Date, il y a un menu déroulable nommé Catégorie afin que l utilisateur détermine une catégorie. Dans ce menu, une catégorie par défaut default est proposée et est automatiquement sélectionnée si l utilisateur n en change pas. De plus, une ligne de ce menu s appelle new catégorie, l utilisateur peut la sélectionner afin de créer une nouvelle catégorie. Lors de sa sélection, une petite fenêtre de dialogue apparaît dans laquelle il faut écrire l intitulé de la nouvelle catégorie, sinon cliquer sur annuler. Le quatrième composant est un champ Mot-clé ou l utilisateur pourra écrire des mots en liens avec la note. Un petit bouton à côté de ce champ, offre à l utilisateur (si besoin) dix nouveaux champ mot-clé par l intermédiaire d une nouvelle fenêtre contenant dix champs dédiés. 26

28 Figure 6.3 fenêtre proposant 9 champs mot-clé supplémentaires Enfin toujours dans cette fenêtre, un bouton enregistrer (enregistre par dessus une note existante) et un bouton enregistrer Nouveau (enregistre nouvelle note) sont présents, ils permettent de sauvegarder la note et ses informations. Toutefois, si le champ Titre est vide, où que la date n est pas choisie, où que new catégorie est sélectionnée, le bouton valider vous demander de vérifier ces champs. 27

29 Figure 6.4 Information, le menu des catégorie est déroulé Figure 6.5 Information Maintenant que l item save, sa fonction ainsi que la fenêtre écoulant de cette action ont été présentés, nous allons nous intéresser au deuxième item find. Lorsque l on clique sur cet item, ce n est pas une nouvelle fenêtre qui apparaît, mais le contenu de la fenêtre actuelle qui change (sauf la barre de menu et le menu). Le champ de prise de notes laisse place à d autres composants. Pour la majorité, ce sont les mêmes composants que dans la fenêtre Information suivant la même disposition, avec un champ supplémentaire. Ce champ supplémentaire appelé DateFin permet la même chose que le champ Date. 28

30 Figure 6.6 Fenêtre de recherche Avec ce changement de contenu, la fenêtre change de fonction également. Grâce aux champs positionnés et remplis, avec l aide du bouton valider, une recherche de (s) préalablement enregistrée(s) peut être faite. Ce qui nous amène à l affichage des résultats sous forme de tableau dans une nouvelle fenêtre. Figure 6.7 Affichage du résultat d une recherche Dans cette nouvelle fenêtre, trois boutons possibles, Éditer ouvre la note sélectionnée et permet la modification, Lire ouvre le fichier en mode lecture uniquement et le dernier Supprimer efface la définitivement. 29

31 Mais revenons à la première fenêtre contenant le champ de la prise de note. Nous avons vu donc à quoi mènent les deux premiers items disponibles dans le menu Action, nous allons voir que fait le troisième item new. Ce dernier item cliquable ouvre une nouvelle note tout simplement et réinitialise tous les champs. Ce même item change de fonction si l on se trouve dans l onglet de recherche de notes (revient à cliquer sur find). En effet, sa fonction devient de nous renvoyer à la disposition principale (avec le champ d écriture de texte). Après avoir fait le tour des fonctionnalités de notre application, vient l heure de refermer notre application, il n a qu à cliquer sur la croix en haut à droite et de confirmer son souhait. 30

32 6.2 Diagrammes UML et Sche ma base de donne es Figure 6.8 Diagramme de cas d utilisation 31

33 Figure 6.9 Diagramme de classes 32

34 Figure 6.10 Diagramme de Gantt 33

35 Figure 6.11 Schéma de la base de données 34

Introduction à JDBC. Accès aux bases de données en Java

Introduction à JDBC. Accès aux bases de données en Java Introduction à JDBC Accès aux bases de données en Java Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Introduction JDBC : Java Data Base Connectivity

Plus en détail

Java DataBaseConnectivity

Java DataBaseConnectivity Java DataBaseConnectivity JDBC JDBC est une API Java (ensemble de classes et d interfaces défini par SUN et les acteurs du domaine des SGBD) permettant d accéder aux bases de données à l aide du langage

Plus en détail

Interfaces graphiques avec l API Swing

Interfaces graphiques avec l API Swing Interfaces graphiques avec l API Swing Les Swing Les classes graphiques Swing dérivent de la classe JComponent, qui hérite ellemême de la classe AWT (Abstract Window Toolkit). Tous les composants Swing

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

Application BdD et JDBC. Introduction 1/28. I Dans tout les cas, une seule problématique. I Quelques alternatives :

Application BdD et JDBC. Introduction 1/28. I Dans tout les cas, une seule problématique. I Quelques alternatives : ntroduction 1/28 2/28 Anne-Cécile Caron Licence MAGE - Bases de Données 2013-2014 Application base de données Pour le développeur : Quel est l environnement? type de client (mode client serveur, intranet,...)

Plus en détail

TP Programmation Java / JDBC / Oracle

TP Programmation Java / JDBC / Oracle TP Programmation Java / JDBC / Oracle 1. Connectivité avec une base de données Oracle au travers de l interface JDBC L interface de programmation (API) JDBC (Java DataBase Connectivity) est une librairie

Plus en détail

1. Base de données SQLite

1. Base de données SQLite Dans ce TP, nous allons voir comment créer et utiliser une base de données SQL locale pour stocker les informations. La semaine prochaine, ça sera avec un WebService. On repart de l application AvosAvis

Plus en détail

Créer et partager des fichiers

Créer et partager des fichiers Créer et partager des fichiers Le rôle Services de fichiers... 246 Les autorisations de fichiers NTFS... 255 Recherche de comptes d utilisateurs et d ordinateurs dans Active Directory... 262 Délégation

Plus en détail

Programmation d application Bases de données avec Java

Programmation d application Bases de données avec Java Plan du document Programmation d application Bases de données avec Java INT Problématique slide 3 Correspondance diagramme de classe slide 4 UML vers schéma relationnel Programmation BD avec JDBC slide

Plus en détail

Accès aux bases de données

Accès aux bases de données 13 Accès aux bases de données Les bases de données fournissent un mécanisme de stockage persistant pour les données d application et dans bien des cas, elles sont essentielles au fonctionnement des applications.

Plus en détail

Introduction à Eclipse

Introduction à Eclipse Introduction à Eclipse Eclipse IDE est un environnement de développement intégré libre (le terme Eclipse désigne également le projet correspondant, lancé par IBM) extensible, universel et polyvalent, permettant

Plus en dé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

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige.

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige. : JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java Michel Bonjour http://cuiwww.unige.ch/~bonjour Plan JDBC: API bas niveau pour l accès aux BD (SQL) - Introduction - JDBC et : Java, ODBC, SQL

Plus en détail

TP2 : Client d une BDD SqlServer

TP2 : Client d une BDD SqlServer TP2 : Client d une BDD SqlServer Objectifs : utiliser la barre de menu, utiliser les préférences d application (settings) ou (options), gérer la persistance des données, utiliser la bibliothèque jtds:jdbc

Plus en détail

Construire des plug-ins pour SAS Management Console SAS 9.1

Construire des plug-ins pour SAS Management Console SAS 9.1 Construire des plug-ins pour SAS Management Console SAS 9.1 Janvier 2005 Sommaire 1 INTRODUCTION... 3 1.1 OBJECTIFS... 3 1.2 PERIMETRE... 3 2 LES COMPOSANTS DE SAS MANAGEMENT CONSOLE... 4 3 LA CONSTRUCTION

Plus en détail

Création et Gestion des tables

Création et Gestion des tables Création et Gestion des tables Version 1.0 Z Grégory CASANOVA 2 Sommaire 1 Introduction... 3 2 Pré-requis... 4 3 Les tables... 5 3.1 Les types de données... 5 3.1.1 Les types de données Sql Server... 5

Plus en détail

1. Introduction... 2. 2. Création d'une macro autonome... 2. 3. Exécuter la macro pas à pas... 5. 4. Modifier une macro... 5

1. Introduction... 2. 2. Création d'une macro autonome... 2. 3. Exécuter la macro pas à pas... 5. 4. Modifier une macro... 5 1. Introduction... 2 2. Création d'une macro autonome... 2 3. Exécuter la macro pas à pas... 5 4. Modifier une macro... 5 5. Création d'une macro associée à un formulaire... 6 6. Exécuter des actions en

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

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

CREG : http://www.creg.ac- versailles.fr/spip.php?article803

CREG : http://www.creg.ac- versailles.fr/spip.php?article803 OUTILS NUMERIQUES Édu-Sondage : concevoir une enquête en ligne Rédacteur : Olivier Mondet Bla. 1 Présentation Parmi les pépites que contient l Édu-Portail, l application Édu-Sondage est l une des plus

Plus en détail

Formation. Module WEB 4.1. Support de cours

Formation. Module WEB 4.1. Support de cours Formation Module WEB 4.1 Support de cours Rédacteur Date de rédaction F.CHEA 08/02/2012 Les informations contenues dans ce document pourront faire l'objet de modifications sans préavis Sauf mention contraire,

Plus en détail

COURS WINDEV NUMERO 3

COURS WINDEV NUMERO 3 COURS WINDEV NUMERO 3 01/02/2015 Travailler avec un fichier de données Etude du gestionnaire d analyse, Manipulation des tables mémoires, Manipulation de données, Création d états, Pré requis : Cours WinDev

Plus en détail

FORMATION MULTIMÉDIA LVE

FORMATION MULTIMÉDIA LVE Format Factory est un logiciel libre, gratuit et multiplateforme pour la conversion de formats de fichiers multimédia. Ce logiciel permet de convertir des fichiers audio et vidéo, et d extraire l audio

Plus en détail

Manuel d utilisation du site web de l ONRN

Manuel d utilisation du site web de l ONRN Manuel d utilisation du site web de l ONRN Introduction Le but premier de ce document est d expliquer comment contribuer sur le site ONRN. Le site ONRN est un site dont le contenu est géré par un outil

Plus en détail

Avant-propos FICHES PRATIQUES EXERCICES DE PRISE EN MAIN CAS PRATIQUES

Avant-propos FICHES PRATIQUES EXERCICES DE PRISE EN MAIN CAS PRATIQUES Avant-propos Conçu par des pédagogues expérimentés, son originalité est d être à la fois un manuel de formation et un manuel de référence complet présentant les bonnes pratiques d utilisation. FICHES PRATIQUES

Plus en détail

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Création d'un site dynamique en PHP avec Dreamweaver et MySQL Création d'un site dynamique en PHP avec Dreamweaver et MySQL 1. Création et configuration du site 1.1. Configuration de Dreamweaver Avant de commencer, il est nécessaire de connaître l'emplacement du

Plus en détail

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 Plan 1. Généralités sur la persistance des données dans les applications 2. La connection

Plus en détail

Compte-rendu de projet de Système de gestion de base de données

Compte-rendu de projet de Système de gestion de base de données Compte-rendu de projet de Système de gestion de base de données Création et utilisation d'un index de jointure LAMBERT VELLER Sylvain M1 STIC Université de Bourgogne 2010-2011 Reponsable : Mr Thierry Grison

Plus en détail

TP Contraintes - Triggers

TP Contraintes - Triggers TP Contraintes - Triggers 1. Préambule Oracle est accessible sur le serveur Venus et vous êtes autorisés à accéder à une instance licence. Vous utiliserez l interface d accés SQL*Plus qui permet l exécution

Plus en détail

les Formulaires / Sous-Formulaires Présentation...2 1. Créer un formulaire à partir d une table...3

les Formulaires / Sous-Formulaires Présentation...2 1. Créer un formulaire à partir d une table...3 Présentation...2 1. Créer un formulaire à partir d une table...3 2. Les contrôles :...10 2.1 Le contrôle "Intitulé"...11 2.2 Le contrôle "Zone de Texte"...12 2.3 Le contrôle «Groupe d options»...14 2.4

Plus en détail

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A. ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A. - 1 - PREAMBULE Les conditions générales d utilisation détaillant l ensemble des dispositions applicables

Plus en détail

La base de données dans ArtemiS SUITE

La base de données dans ArtemiS SUITE 08/14 Vous préférez passer votre temps à analyser vos données plutôt qu à chercher un fichier? La base de données d ArtemiS SUITE vous permet d administrer et d organiser confortablement vos données et

Plus en détail

Création d un service web avec NetBeans 5.5 et SJAS 9

Création d un service web avec NetBeans 5.5 et SJAS 9 Sommaire Création d un service web avec NetBeans 5.5 et SJAS 9 1. Présentation... 2 2. Création d un service web avec NetBeans... 2 2.1. Création d une application Web... 2 2.2. Création du service web...

Plus en détail

FileMaker Server 14. Guide de démarrage

FileMaker Server 14. Guide de démarrage FileMaker Server 14 Guide de démarrage 2007-2015 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker et FileMaker Go sont des marques

Plus en détail

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8 Sage 100 CRM Guide de l Import Plus avec Talend Version 8 Mise à jour : 2015 version 8 Composition du progiciel Votre progiciel est composé d un boîtier de rangement comprenant : le cédérom sur lequel

Plus en détail

Notes de cours : bases de données distribuées et repliquées

Notes de cours : bases de données distribuées et repliquées Notes de cours : bases de données distribuées et repliquées Loïc Paulevé, Nassim Hadj-Rabia (2009), Pierre Levasseur (2008) Licence professionnelle SIL de Nantes, 2009, version 1 Ces notes ont été élaborées

Plus en détail

Optimiser pour les appareils mobiles

Optimiser pour les appareils mobiles chapitre 6 Optimiser pour les appareils mobiles 6.1 Créer un site adapté aux terminaux mobiles avec jquery Mobile... 217 6.2 Transformer son site mobile en application native grâce à PhoneGap:Build...

Plus en détail

Service On Line : Gestion des Incidents

Service On Line : Gestion des Incidents Service On Line : Gestion des Incidents Guide de l utilisateur VCSTIMELESS Support Client Octobre 07 Préface Le document SoL Guide de l utilisateur explique comment utiliser l application SoL implémentée

Plus en détail

MO-Call pour les Ordinateurs. Guide de l utilisateur

MO-Call pour les Ordinateurs. Guide de l utilisateur MO-Call pour les Ordinateurs Guide de l utilisateur Sommaire MO-CALL POUR ORDINATEURS...1 GUIDE DE L UTILISATEUR...1 SOMMAIRE...2 BIENVENUE CHEZ MO-CALL...4 MISE EN ROUTE...5 CONNEXION...5 APPELS...7 COMPOSITION

Plus en détail

Tapez le titre de la page «BASTIA ville méditerranéenne», puis allez deux fois à la ligne à l aide de la touche Entrée.

Tapez le titre de la page «BASTIA ville méditerranéenne», puis allez deux fois à la ligne à l aide de la touche Entrée. Créer un site Internet à l aide du logiciel NVU Le logiciel NVU, permet l édition Wysiwyg (What You See, Is What You Get, ce que vous voyez, est ce que vous obtenez ) d un site internet. Vous rédigez le

Plus en détail

KWISATZ_TUTO_module_magento novembre 2012 KWISATZ MODULE MAGENTO

KWISATZ_TUTO_module_magento novembre 2012 KWISATZ MODULE MAGENTO _TUTO_module_magento Table des matières -1) - :...2-1.1) Introduction :...2-1.2) Description :...3-1.2.1) Schéma :...3-1.3) Mise en place :...4-1.3.1) MAGENTO :...4-1.3.1.1) Les Web Services :...4-1.3.1.2)

Plus en détail

< Atelier 1 /> Démarrer une application web

< Atelier 1 /> Démarrer une application web MES ANNOTATIONS SONT EN ROUGE : Axel < Atelier 1 /> Démarrer une application web Microsoft France Tutorial Découverte de ASP.NET 2.0 Sommaire 1 INTRODUCTION... 3 1.1 CONTEXTE FONCTIONNEL... 3 1.2 CONTEXTE

Plus en détail

OpenPaaS Le réseau social d'entreprise

OpenPaaS Le réseau social d'entreprise OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3

Plus en détail

Développement Logiciel

Développement Logiciel Développement Logiciel Éxamen session 1-2012-2013 (Vendedi 25 mai, 9h-11h) Seuls les documents liés directement au cours sont autorisés (comme dit sur le site) : sujets de TD, notes de cours, notes personnelles

Plus en détail

Développement d une application Android pour l Association des Paralysés de France

Développement d une application Android pour l Association des Paralysés de France Master 1 Projet d année Développement Android Développement d une application Android pour l Association des Paralysés de France Année universitaire 2011/2012 Axel DEBRAY Robin KAMINSKI Charline RENART

Plus en détail

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES Antonin AILLET Remi DEVES Thibaut AZZOPARDI 2 ème année de DUT Informatique Cahier Technique «Développer une application intranet pour la gestion des stages des étudiants» Encadré par Didier BOULLE Année

Plus en détail

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs. Connexion à 4D Server depuis une page ASP Par Noreddine MARGOUM, Technicien Contrôle Qualité, 4D S.A. Note technique 4D-200403-08-FR Version 1 Date 1 Mars 2004 Résumé Le propos de cette note technique

Plus en détail

GUIDE DE DEMARRAGE V1.02

GUIDE DE DEMARRAGE V1.02 SUPPORT FONCTIONNEL SFR Business Team SFR Suite Stockage Cloud GUIDE DE DEMARRAGE V1.02 Entité Nom Date(s) Propriétaire Rédacteur Vérificateur SFR SFR SFR SFR www.sfr.fr Page : 2/15 Table des matières

Plus en détail

Business Talk IP Centrex. guide. web utilisateur. pour. les services standards

Business Talk IP Centrex. guide. web utilisateur. pour. les services standards guide web utilisateur pour les services standards 1/22 version 03 décembre 2013 table des matières Accès au web utilisateur... 3 Onglet accueil... 5 Onglet services téléphoniques... 7 services standards...

Plus en détail

Manuel d utilisation de l outil collaboratif

Manuel d utilisation de l outil collaboratif Manuel d utilisation de l outil collaboratif Réf OCPD-V2 Page 1 / 24 a mis en œuvre un outil collaboratif qui permet de partager des informations entre collaborateurs. Il permet à des utilisateurs travaillant

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

COMPRENDRE LES DIFFERENTS TYPES DE CONNEXION LORS DE LA

COMPRENDRE LES DIFFERENTS TYPES DE CONNEXION LORS DE LA COMPRENDRE LES DIFFERENTS TYPES DE CONNEXION LORS DE LA DEFINITION D UNE BIBLIOTHEQUE D ACCES A UNE BASE DE DONNEES Cet article s adresse aux administrateurs SAS en charge de la mise à disposition des

Plus en détail

FileMaker Server 14. Aide FileMaker Server

FileMaker Server 14. Aide FileMaker Server FileMaker Server 14 Aide FileMaker Server 2007-2015 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker et FileMaker Go sont des marques

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

PHP 5. La base de données MySql. A. Belaïd 1

PHP 5. La base de données MySql. A. Belaïd 1 PHP 5 La base de données MySql A. Belaïd 1 Base de données C est quoi une base de données? Une base de données contient une ou plusieurs tables, chaque table ayant un ou plusieurs enregistrements Exemple

Plus en détail

KWISATZ MODULE PRESTASHOP

KWISATZ MODULE PRESTASHOP Table des matières -1) KWISATZ - :...2-1.1) Introduction :...2-1.2) Description :...3-1.2.1) Schéma :...3-1.3) Mise en place :...4-1.3.1) PRESTASHOP :...4-1.3.1.1) Les Web Services :...4-1.3.2) KWISATZ

Plus en détail

ESPACE COLLABORATIF SHAREPOINT

ESPACE COLLABORATIF SHAREPOINT Conseil de l Europe Service des Technologies de l Information ESPACE COLLABORATIF SHAREPOINT DOSSIER D UTILISATEUR 1/33 Sommaire 1. Présentation de SharePoint... 3 1.1. Connexion... 4 2. Les listes...

Plus en détail

Dans cette Unité, nous allons examiner

Dans cette Unité, nous allons examiner 13.0 Introduction Dans cette Unité, nous allons examiner les fonctionnements internes d une des plateformes de publication web les plus largement utilisées de nos jours sur l Internet, WordPress. C est

Plus en détail

Administration du site

Administration du site Administration du site 1 TABLE DES MATIÈRES Administration du site... 1 Accéder à la console d administration... 3 Console d administration... 4 Apparence... 4 Paramètres... 5 Allez sur le site... 5 Edition

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

Sélection du contrôleur

Sélection du contrôleur Démo CoDeSys - 1 - 1. Configuration de l environnement de travail : Lancer le logiciel CoDeSys Fichier Nouveau Lors de la première utilisation, une boîte de dialogue apparaît permettant la sélection du

Plus en détail

1 Introduction et installation

1 Introduction et installation TP d introduction aux bases de données 1 TP d introduction aux bases de données Le but de ce TP est d apprendre à manipuler des bases de données. Dans le cadre du programme d informatique pour tous, on

Plus en détail

Modélisation et Gestion des bases de données avec mysql workbench

Modélisation et Gestion des bases de données avec mysql workbench Modélisation et Gestion des bases de données avec mysql workbench par novembre 2011 Table des matières 1 Installation 3 1.1 Ecran de chargement 3 1.2 Page d accueil 3 2 Réalisation d une base de données

Plus en détail

CREATION WEB DYNAMIQUE

CREATION WEB DYNAMIQUE CREATION WEB DYNAMIQUE IV ) MySQL IV-1 ) Introduction MYSQL dérive directement de SQL (Structured Query Language) qui est un langage de requêtes vers les bases de données relationnelles. Le serveur de

Plus en détail

1 Presentation du bandeau. 2 Principe de création d un projet : C2 industrialisation Apprendre Gantt project Ver 2.6 planifier

1 Presentation du bandeau. 2 Principe de création d un projet : C2 industrialisation Apprendre Gantt project Ver 2.6 planifier 1 Presentation du bandeau Créer une tâche Supprimer une tâche Affiche les propriétés d une tâche Onglet Gantt ou Ressources Calendrier Liste des tâches (ID ; Nom ; Date début et Date de Fin) 2 Principe

Plus en détail

DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin

DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin Objectifs : Apprendre à l apprenant à lancer un serveur local «Apache» Apprendre à l'apprenant à lancer un serveur MySQL

Plus en détail

Objectifs du TP : Initiation à Access

Objectifs du TP : Initiation à Access Objectifs du TP : Initiation à Access I. Introduction Microsoft Access fait partie de l ensemble Microsoft Office. C est un SGBDR (système de gestion de bases de données relationnelles) présentant une

Plus en détail

Sommaire. I.1 : Alimentation à partir d un fichier Access (.mdb)...2

Sommaire. I.1 : Alimentation à partir d un fichier Access (.mdb)...2 Sommaire I. SCENARII DE TRAITEMENTS...2 I.1 : Alimentation à partir d un fichier Access (.mdb)...2 I.1 : Vérification de l intégrité des traitements SQL sur la pyramide des ages...3 I.2 : Vérification

Plus en détail

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude INF 1250 INTRODUCTION AUX BASES DE DONNÉES Guide d étude Sous la direction de Olga Mariño Télé-université Montréal (Québec) 2011 INF 1250 Introduction aux bases de données 2 INTRODUCTION Le Guide d étude

Plus en détail

E-Remises Paramétrage des navigateurs

E-Remises Paramétrage des navigateurs E-Remises Paramétrage des navigateurs P-1651-DCI0015-9.00-Navigateurs Windows.doc Sommaire 1 UNE ERREUR JAVA APPARAIT : PROBLEME DE PARAMETRES DE SECURITE... 3 1.1 AVEC INTERNET EXPLORER... 3 1.2 AVEC

Plus en détail

Configuration de GFI MailArchiver

Configuration de GFI MailArchiver Configuration de GFI MailArchiver Introduction à la configuration Après l installation de GFI MailArchiver, vous pourrez commencer la configuration de l interface Web et terminer la configuration de GFI

Plus en détail

MEGA ITSM Accelerator. Guide de démarrage

MEGA ITSM Accelerator. Guide de démarrage MEGA ITSM Accelerator Guide de démarrage MEGA 2013 1ère édition (janvier 2013) Les informations contenues dans ce document pourront faire l objet de modifications sans préavis et ne sauraient en aucune

Plus en détail

SQL Server Installation Center et SQL Server Management Studio

SQL Server Installation Center et SQL Server Management Studio SQL Server Installation Center et SQL Server Management Studio Version 1.0 Grégory CASANOVA 2 SQL Server Installation Center et SQL Server Management Studio [03/07/09] Sommaire 1 Installation de SQL Server

Plus en détail

Procédures Stockées WAVESOFT... 12 ws_sp_getidtable... 12. Exemple :... 12. ws_sp_getnextsouche... 12. Exemple :... 12

Procédures Stockées WAVESOFT... 12 ws_sp_getidtable... 12. Exemple :... 12. ws_sp_getnextsouche... 12. Exemple :... 12 Table des matières Les Triggers... 2 Syntaxe... 2 Explications... 2 Les évènements déclencheurs des triggers... 3 Les modes de comportements des triggers... 4 Les pseudo tables... 5 Exemple... 6 Les procédures

Plus en détail

Contrôle Parental Numericable. Guide d installation et d utilisation

Contrôle Parental Numericable. Guide d installation et d utilisation Contrôle Parental Numericable Guide d installation et d utilisation Version 12.3 pour OS X Copyright 2012 Xooloo. Tous droits réservés. Table des matières 1. Introduction Dénomination et caractéristiques

Plus en détail

INTRODUCTION GENERALE...1 LA CONNEXION ODBC :...1. CONNEXION AU TRAVERS D EXCEL(tm)...6. LOGICIEL QUANTUM GIS (Qgis)... 10

INTRODUCTION GENERALE...1 LA CONNEXION ODBC :...1. CONNEXION AU TRAVERS D EXCEL(tm)...6. LOGICIEL QUANTUM GIS (Qgis)... 10 PROGRAMME RÉGIONAL DE RENFORCEMENT DE LA COLLECTE DES DONNÉES STATISTIQUES DES PECHES DANS LES ÉTATS MEMBRES ET DE CREATION D UNE BASE DE DONNÉES REGIONALE Manuel de formation TABLE DES MATIERES INTRODUCTION

Plus en détail

Java et les bases de données

Java et les bases de données Michel Bonjour http://cuiwww.unige.ch/~bonjour CENTRE UNIVERSITAIRE D INFORMATIQUE UNIVERSITE DE GENEVE Plan Introduction JDBC: API SQL pour Java - JDBC, Java, ODBC, SQL - Architecture, interfaces, exemples

Plus en détail

MEDIA NAV Guide de téléchargement de contenus en ligne

MEDIA NAV Guide de téléchargement de contenus en ligne MEDIA NAV Guide de téléchargement de contenus en ligne Le présent document donne des instructions pour procéder aux mises à jour du logiciel et du contenu de l appareil de navigation de l utilisateur.

Plus en détail

Utiliser le service de messagerie électronique de Google : gmail (1)

Utiliser le service de messagerie électronique de Google : gmail (1) Utiliser le service de messagerie électronique de Google : gmail (1) 1. Créer un compte 2 2. Ouvrir sa boîte de messagerie électronique 3 3. Comprendre la boîte de réception (1) 4 3.1. Lire un message

Plus en détail

TD3: tableaux avancées, première classe et chaînes

TD3: tableaux avancées, première classe et chaînes TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première

Plus en détail

Guide de démarrage rapide. (pour la version 5.0.)

Guide de démarrage rapide. (pour la version 5.0.) Guide de démarrage rapide (pour la version 5.0.) 2 Table des matières Introduction Réglages de l application MyTalk Mobile 1. MODIFICATION 2. DEMARRER 3. AFFICHER 4. SYNTHETISEUR VOCAL 5. NOMBRE DE MOTS

Plus en détail

I) INTRODUCTION... 3 II) ENREGISTREMENT DE SON TYROS 5... 4

I) INTRODUCTION... 3 II) ENREGISTREMENT DE SON TYROS 5... 4 Yamaha Music Europe - 0 Table des matières I) INTRODUCTION... II) ENREGISTREMENT DE SON TYROS 5... ère étape : Création d un compte (non nécessaire si vous possédez déjà un compte Yamaha).. ème étape :

Plus en détail

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées ANNEE 2014 / 2015 Désignation de l enseignement : Bases de données Nom du document : TP SQL sous PostgreSQL Rédacteur :

Plus en détail

Plateforme PAYZEN. Définition de Web-services

Plateforme PAYZEN. Définition de Web-services Plateforme PAYZEN Définition de Web-services Ordre de paiement Version 1.1 Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa Nom Date/Visa Nom Date/Visa Lyra-Network

Plus en détail

TD/TP 1 Introduction au SDK d Android

TD/TP 1 Introduction au SDK d Android TD/TP 1 Introduction au SDK d Android Romain Raveaux 1 Introduction Android est un système d'exploitation pour téléphone portable de nouvelle génération développé par Google. Celui-ci met à disposition

Plus en détail

CAPTURE DES PROFESSIONNELS

CAPTURE DES PROFESSIONNELS CAPTURE DES PROFESSIONNELS 2 Téléchargement 3 Installation 8 Prise en main rapide 10 Lancement Recherche 14 Gestion des fichiers 23 Compare et Sépare 24 Fichiers annexes 2/ Le menu Utilitaires 32 Internet

Plus en détail

Groupe Eyrolles, 2006, pour la présente édition, ISBN : 2-212-11782-5

Groupe Eyrolles, 2006, pour la présente édition, ISBN : 2-212-11782-5 Groupe Eyrolles, 2006, pour la présente édition, ISBN : 2-212-11782-5 Table des matières Chapitre A : Principes de base des scripts... 1 Élaboration de votre premier script... 1 Importance du modèle...

Plus en détail

Définition des Webservices Ordre de paiement par email. Version 1.0

Définition des Webservices Ordre de paiement par email. Version 1.0 Définition des Webservices Ordre de paiement par email Version 1.0 Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa Nom Date/Visa Nom Date/Visa Historique du document

Plus en détail

The Grid 2: Manuel d utilisation

The Grid 2: Manuel d utilisation The Grid 2: Manuel d utilisation Bienvenue dans The Grid 2 Merci d avoir choisi The Grid 2! Ce guide va vous apprendre tout ce que vous devez savoir à propos de The Grid 2. Il vous guidera pas à pas pour

Plus en détail

PHP 4 PARTIE : BASE DE DONNEES

PHP 4 PARTIE : BASE DE DONNEES PHP 4 PARTIE : BASE DE DONNEES 1. Introduction 2. Présentation de MySQL 3. Principe 4. Connexion 5. Interrogation 6. Extraction des données 7. Fonctions de services 8. Traitement des erreurs 9. Travaux

Plus en détail

Comment Connecter une Base de Données MySQL via un Driver JDBC Avec OpenOffice.org

Comment Connecter une Base de Données MySQL via un Driver JDBC Avec OpenOffice.org Comment Connecter une Base de Données MySQL via un Driver JDBC Avec OpenOffice.org Diffusé par Le Projet Documentation OpenOffice.org OpenOffice.org Documentation Project How-To Table des matières 1. Introduction...3

Plus en détail

Ouvrir le compte UQÀM

Ouvrir le compte UQÀM Cliquez sur le titre pour visionner 1 Cliquez sur le titre pour visionner 2! Préliminaires! Ouvrir le compte UQÀM! Accéder au compte UQÀM! Paramètres de configuration! Les dossiers! Gérer les dossiers!

Plus en détail

Olivier Mondet http://unidentified-one.net

Olivier Mondet http://unidentified-one.net T-GSI Ch.4 Le Langage SQL LDD, LCD Cet exercice guidé reprend le plan suivis lors de l intervention de formation faite pour l académie de Versailles. L objectif principal visait en la présentation du langage

Plus en détail

UNIVERSITE DE CONSTANTINE 1 FACULTE DES SIENCES DE LA TECHNOLOGIE DEPARTEMENT D ELECTRONIQUE 3 ème année LMD ELECTRONIQUE MEDICALE

UNIVERSITE DE CONSTANTINE 1 FACULTE DES SIENCES DE LA TECHNOLOGIE DEPARTEMENT D ELECTRONIQUE 3 ème année LMD ELECTRONIQUE MEDICALE UNIVERSITE DE CONSTANTINE 1 FACULTE DES SIENCES DE LA TECHNOLOGIE DEPARTEMENT D ELECTRONIQUE 3 ème année LMD ELECTRONIQUE MEDICALE TP N 1 : Initiation à L Access I. Introduction Microsoft Access fait partie

Plus en détail

GUIDE D UTILISATION DE L ISU SEPTEMBRE 2013 GUIDE D UTILISATION DU NAVIGATEUR UIS.STAT (VERSION BÊTA)

GUIDE D UTILISATION DE L ISU SEPTEMBRE 2013 GUIDE D UTILISATION DU NAVIGATEUR UIS.STAT (VERSION BÊTA) GUIDE D UTILISATION DE L ISU SEPTEMBRE 2013 GUIDE D UTILISATION DU NAVIGATEUR UIS.STAT (VERSION BÊTA) Publié en 2013 par : Institut de statistiques de l UNESCO C.P. 6128, Succursale Centre-Ville Montréal,

Plus en détail

Bases de données relationnelles

Bases de données relationnelles Bases de données relationnelles Système de Gestion de Bases de Données Une base de données est un ensemble de données mémorisé par un ordinateur, organisé selon un modèle et accessible à de nombreuses

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

GUIDE ADMINISTRATEUR BIEN DÉMARRER AVEC WISEMBLY

GUIDE ADMINISTRATEUR BIEN DÉMARRER AVEC WISEMBLY GUIDE ADMINISTRATEUR BIEN DÉMARRER AVEC WISEMBLY SOMMAIRE PREPARER. Accéder à Wisembly. Création d un Wiz. Présentation de l interface 5. Création de contenu 6 - Les Documents 6 - Les Votes 7 - Le Questionnaire

Plus en détail