Home

École Polytechnique de l`Université de Nantes Département

image

Contents

1. i Fost de tovefiREY_LOCAL MACHINE GOFTW AfIE ODECSODBCINGT N Genea DBC Die D A Fic 7 2 Base de registre Lors de la v rification de son installation nous remarquons qu il a t impossible pour le syst me d exploitation de cr er le DNS Nous en concluons donc que l inscription donn e par l auteur ne permet pas d installer le pilote fourni R capitulatif Apr s ces essais nous pouvons conclure que le pilote pr compil fourni n est fonctionnel pour l utilisation que nous souhaitons en faire alors que son auteur pr cise bien que celui ci est cens fonctionn correctement 86 TARN 82 sqlsrv32 ALL Aarvi2 all a 182 bits Installed 32 bits 32e Nasal ee fle rb oher 4888 ss CNT Sel 164 Do Widows ANSI TNS z Fic 7 3 ODBC initialisation 7 2 Utilisation du code fourni et d outils sup pl mentaires Etant que le pilote pr compil fourni ne semble pas fonctionner nous avons donc choisi d utiliser le code source fourni pour l am liorer et l adapter nos besoins Pour pouvoir d velopper ce code nous avons choisi d utiliser comme com pilateur Dev C La premi re compilation nous a permis de comprendre que de nombreuses biblioth ques taient n cessaires pour pouvoir compiler le pilote Nous sommes parvenus trouver une plateforme de biblioth ques de Mi crosoft le SDK ODBC Cette plateforme nous permet de
2. 9 10 11 12 13 CommentCaMarche net Introduction sur les drivers http www commentcamarche net drivers drivers php3 CommentCaMarche net Comemnt installer jdbc sous openoffice http www commentcamarche net forum af fich 2 12179 installer le pilote jdbc CommentCaMarche net Introduction sur les drivers jdbc http www commentcamarche net jdbc jdbcintro php3 Informations techniques sur jdbc http www dil univ mrs fr massat ens java jdbc html George Reese Herv Soulard Jdbc et java guide du programmeur 2 me dition 2001 Wikipedia Article sur jdbc type 1 http en wikipedia org wiki JDBC_ type_ 1_ driver FreshMeat Drivers jdbc disponibles http freshmeat net search q jdbc amp section projects Site web de SUN Drivers jdbc http developers sun com product jdbc drivers Wikipedia Article sur jdbc http en wikipedia org wiki JDBC_ driver Wikipedia Article sur le logiciel libre http fr wikipedia org wiki Logiciel_ libre Site web de AFUL D finition du logiciel libre http www aful org ressources presentation libre Site personnel Les diff rentes licences open source http codesquale googlepages com licencesopensource pdf Site personnel Lies diff rentes licences open source http Louis cova neuf fr blocs notes page8 html 161 14 16 17 18 19 20 21 22
3. desd Fic 5 3 Diagramme UML de classes pour le pilote ODBC Dans le corps de chaque fonction nous impl menterons quelques lignes de d bogue Celles ci afficheront des boites de dialogue indiquant quelle fonction s est ex cut e et quelles taient les valeurs des diff rents attri buts de la fonction Les corps des fonctions impl ment s dans cette interface seront com pl t s au fur et mesure de notre avanc e dans la phase de conception Tests de validit Pour tester la validit de notre pilote squelette nous le compilerons sous forme de dll et l installerons la main dans la base de registre et diff rents fichiers du syst me d exploitation Nous utiliserons ensuite un outil de jeu d essais pour pilote ODBC fourni dans le Platform SDK de Microsoft afin d effectuer des tests unitaires Enfin nous v rifierons s il est bien possible d appeler ce pilote depuis Excel Interpr teur de requ tes Outils et biblioth ques utilis es Biblioth que de PAPI ODBC sqlext h 68 Fonctionnalit s du module Une tape cruciale pour la conception du pilote est l impl mentation d un interpr teur de requ tes Comme dit dans la partie I linterpr teur de requ te que nous im pl menterons sera un interpr teur SQL tr s simple capable au moins d analyser des requ tes du type SELECT FROM Table Nous pensons que se limiter des requ tes de ce type sera suf
4. 17 Sch ma d un driver JDBC de type 1 9 28 Sch ma d un driver JDBC de type 2 9 29 Sch ma d un driver JDBC de type 3 9 30 Sch ma d un driver JDBC de type 4 9 31 Page d accueil de SourceForge net 38 Page d accueil de FreshMeat 39 Sch ma d un pont JDBC ODBC 6 53 Sch ma d un driver ODBC JDBC de type 1 21 55 Sch ma de communications avec JNI 22 56 Sch ma g n ral repr sentant l architecture du projet 63 Diagramme UML de s quences 65 Diagramme UML de classes pour le pilote ODBC 68 Diagramme UML de classes pour le thread serveur 72 Planning pr visionnel de la phase de r alisation 78 Driver reconnu LE sa te eed tit oh cha Ne nee de te More 85 Base de registre LE ca PROS a RO Oe RO VE 2 86 ODBC initialisation 87 Compila oi 9 ce Sok ae eee Re dee ee RS ah he Bde Se eR BAR He 8 88 Sch ma g n ral bat rs goa WE Wwe lt hak Get te te ee 99 Diagramme de cas utilisation 101 Sch ma de l ensemble fonctionnel 103 Diagramme de classes 2 ame nee ments AN BS t 105 10 1 Etape 1 du chargement d un driver ODBC sous Access 97 127 10 2 Etape 2 du chargement d un driver ODBC sous Access 97 10 3 Etape 3 du chargement d un driver ODBC sous A
5. Ouvrir une base de donn es Ctrl O FIG 10 1 Etape 1 du chargement d un driver ODBC sous Access 97 R Procedures Mes fichiers re us My RoboForm Data Chercher les fichiers qui r pondent ces crit res Nom de fichier x Texte ou propri t Rechercher Type de fichier Microsoft Access mdb mdw m Modifi en dernier importe quand x Nouvelle rech dBASE dbf Tous les types qMicrosoft Excel xis Pour en ajouter d autres ex cutez le programme d installation diquez sur AjoujMicrosoft FoxPro dbf e option Certains sont disponibles dans le ValuPack Office 97 a Documents HTML cr html yd E a a Fic 10 2 Etape 2 du chargement d un driver ODBC sous Access 97 127 gt Procedures S lectionner la source de donn es mn Source de donn es fichier Source de donn es machine Regarder dans Documents 7 7 Mes fichiers re us My RoboForm Data WebEx Nom de source de donn es S lectionnez la source de donn es fichier qui d crit le pilote auquel vous souhaitez vous connecter Vous pouvez utiliser toute source de donn es fichier faisant r f rence un pilote ODEC install sur votre machine Fic 10 3 Etape 3 du chargement d un driver ODBC sous Access 97 128 Source de donn es fichier Source de donn es machine Nom de la source de donn es Type dBASE Files Utilisat
6. 1 Le bridge JDBC ODBC il permet l acc s au SGBD via le driver ODBC 2 Native API partly Java driver ce type de driver traduit les appels de JDBC un SGBD particulier grace un m lange d API java et d API natives 3 JDBC Net pure Java driver ce type de driver crit enti rement en java passe par un serveur interm diaire pour l acc s au SGBD 4 Native protocol pure Java driver ce type de driver crit enti rement en java se connecte directement au SGBD premi re vue notre choix se porterait sur le premier driver pont JDBC ODBC qui permet la communication avec tous les SGBD et logiciels de traitement de donn es ayant une interface ODBC tels que Excel Access Oracle Bien que nous ne connaissions pas l tendue des possibilit s des autres pilotes nous ne les carterons pas de nos recherches Ceux ci tant pris s par les adeptes du libre 70 des pilotes SGBD sont du types 3 et 4 il nous sera plus facile de trouver un driver exploitable de ces types Travail effectuer Continuer les recherches sur le protocole choisi Se renseigner sur la communaut du libre travaillant sur JDBC 137 Fiche de suivi Semaine du 12 au 16 novembre 2007 Travail effectu Prise de contact avec notre tuteur entreprise D but de recherche sur les drivers ce qui nous a permis de conna tre les difficult s que nous pourrons rencontrer Compte rendu de l entre
7. 23 24 25 26 27 28 29 Wikipedia Article sur la licence publique g n rale gnu http fr wikipedia org wiki Licence_ publique_ g n rale GNU Site web de GNU Vendre des logiciels libres http www gnu org philosophy selling fr html Site web de GNU D finition du logiciel libre http www gnu org philosophy free suw fr html Wikipedia Article sur la licence publique g n rale limit e gnu http fr wikipedia org wiki Licence_ publique_ g n rale limit e_ GNU Site web d Eclipse Licence eclipse http www eclipse org org documents epl v10 php Wikipedia Article sur cvs http fr wikipedia org wiki Concurrent_ versions_ system Wikipedia Article sur subversion http fr wikipedia org wiki Subversion_ logiciel Site web d OpenLink Software Driver odbc jdbc http uda openlinksw com odbc Site web de SUN Documentation sur jni http java sun com docs books jni htmt intro html Site web d Easysoft Driver odbc jdbc http www easysoft com products data_ access odbc_ jdbc_ gateway Site web de SourceForge Driver odbc jdbc dead project http odbcjdbc sourceforge net Site web de Firebird Driver odbc jdbc http www praktik km ua Site web d OpenAccess Driver odbc jdbc http www openaccesssoftware com Site web de iODBC Connecteur odbc mysql http www todbc org index php page mysql2od
8. Excel Files Utilisat FoxPro Files Utilisat MS Access 97 Database Utilisat Text Files Utilisat Nouveau Une source de donn es machine est sp cifique cette machine et ne peut pas tre partag e Les sources de donn es utilisateur sont sp cifiques un utilisateur de cette machine Les sources de donn es syst me sont utilisables par tous les utilisateurs de cet ordinateur ou par un service global au niveau syst me Fic 10 4 Etape 4 du chargement d un driver ODBC sous Access 97 129 C3 HERVE E gt DOCUMENTS Data C2 Mes fichiers req USERS d Lecture seule Types de fichiers Pilotes Base de donn es Access gt c SYSTEM R seau in 1 _n fan re ee Fic 10 5 Etape 5 du chargement d un driver ODBC sous Access 97 130 Rapports hebdomadaires 131 Fiche de suivi Semaine du 01 au 05 Octobre 2007 Travail effectu Prise de conact avec le tuteur enseignant le 02 octobre pour pr ciser les modalit s de contact du tuteur entreprise M GU RIN Prise de RDV par mail Entretien fix au jeudi 11 octobre 15h 132 Fiche de suivi Semaine du 08 au 12 Octobre 2007 Travail effectu Entretien effectu le 11 octobre en pr sence de MM GU RIN et NOR MAND Etude du fonctionnement de Latex Compte rendu de la r union du jeudi 11 octobre 2007 Br ve pr sentation sur le devenir de l outil demand
9. Networking vor Desktop Games Security Development Hardware Storage stured Download Site News Project of the Month Statistics New SourceForge net Community Section October 2007 Barcode4j Most Downloaded 2007 07 11 Every month the team at SourceForge net picks one 1 eMule We just launched the new SourceForge net Community project from among the tens of thousands hosted on 2 Ares Galaxy Section which contains tools you can use to talk to us SourceForge net to honor by naming it Project of the Ka talk to each other and find out what s going on in the Month 2 SourceForge net Community Past Projects 4 Simple Directory Listing Read the full announcement 5 Audacity s Project Wiki General Availability 2007 05 12 New Download Features 2007 02 15 Site news archive Past 7 days All time Most Active Azureus s ZK Simply Ajax and Mobile Notepad Zenoss Core Enterprise IT Monitoring Openbravo ERP phpMyAdmin s ousew Nr Past 7 days All time About SourceForge net Privacy Statement Terms of Use Advertise Get Support Our Supporters Subscribe Newsletter RSS Copyright 2007 SourceForge Inc All Rights Reserved SourceForge ThinkGeek Slashdot ITMJ Linuxcom NewsForge freshmeat Newsletters PriceGrabber Jobs Fic 2 5 Page d accueil de SourceForge net 38 Sr FRESHMEAT Fri Dec 07th home browse articles contact chat submi
10. de la fa on que l administrateur s attend rencontrer Nous tentons donc la compilation du pilote sous d autres compilateur permettant de g rer le C C tels qu Eclipse ou Visual Studio Malheureusement les compilations sous ces deux logiciels s av r rent tre plus compliqu es que celle sous Dev C De plus l importation du pilote avec l administrateur ODBC aucune am lioration dans les r sultats ne s est faite ressentir 7 2 3 Probl me d appel de fonctions Apr s avoir test la compilation du pilote ODBC avec plusieurs pro grammes diff rents nous ne pouvons que constater le m me r sultat le pilote DLL est bien ajout dans la base de registre Windows car l adminis trateur ODBC peut le voir sans autre manipulation On peut galement normalement supprimer du registre le pilote ODBC install Mais le m me probl me persiste on ne peut pas ajouter de DNS l aide de l administrateur ODBC Les messages d erreurs affich s par le syst me d exploitation lors de lins tallation du pilote ODBC depuis l administrateur ODBC semblent expliquer le probl me par le fait que les fonctions de l outil ne soient pas accessibles Nous avons donc cherch r soudre ce probl me D finition de fonctions Gr ce aux tudes faites sur les biblioth ques de fonctions DLL et les sources fournies dans le SDK ODBC nous avons pu comprendre comment 91 doivent tre d finies les f
11. fixes were made must have cookies enabled in your browser Categories Focus License URLs to be able to log in System Networking Minor bugfixes GNU General Public A 400 System Networking Firewalls License GPL LATEST ARTICLES Security Red Hat Updated Cairo Fic 2 6 Page d accueil de FreshMeat pour chaque projet rend l acessibilit assez ais e et permet une consultation rapide des projets en cours de r alisation Gr ce un nombre lev d uti lisateurs enregistr s plus d un million et une recherche r ellement simple n importe quel projet peut facilement tre consult La communaut active des d veloppeurs permet d obtenir des r ponses rapides aux questions qui peuvent se poser SourceForge net supporte un large espace de stockage et permet la mise en place de multiples fonctioinna lit s telles qu un wiki une base de donn es MySQL une gestion des versions de code source avec CVS ou SVN et permet m me la diffusion du site web du d veloppeur au nom de domaine r serv 2 3 2 FreshMeat Description Freshmeat est un site web r pertoriant un grand nombre de logiciels majoritairement libres Il permet aussi de suivre leur volution d crire ou de lire des critiques de ces logiciels ou des articles de dialoguer avec les auteurs de logiciels 39 Bien que la majorit des logiciels du sites soient des logiciels libres ou Open Source pour les syst mes Unix
12. instal lation du logiciel il pourra alors directement r cup rer cette donn e n cessaire pour la cr ation du DNS Logiciel de substitution La m thode de r alisation du logiciel de substitution au logiciel de M GUERIN est identique la description faite dans le pr c dent rapport de conception Conclusion sur le d veloppement d une solution Parmi toutes les solutions envisag es nous venons d tudier celle pro posant la r alisation d un exportateur de donn es au format CSV Cette solution la fois simple et efficace est la plus apropri e pour le futur du d veloppement du projet Apr s s tre int ress s celle ci en reprenant bri vement les diff rentes tapes de gestion d un projet nous pouvons penser que cette solution pour rait permettre de respecter les besoins du projet et de r pondre aux exigences qui ont t d finies sans toutefois d naturer le projet 107 Conclusion Cette conclusion va nous pemettre d tablir un bilan r capitulatif et de donner une analyse personnelle sur la gestion du projet En ce qui concerne l aspect technique et apr s avoir pris du recul nous constatons que la cr ation d un pilote ODBC n est pas la seule solution pos sible adopter pour r pondre aux exigences de notre projet En effet les probl mes rencontr s au cours de ce projet nous laissent pen ser qu ODBC est une solution int ressante mais n anmoins difficile mettre en pla
13. pA Middleware Calling Java Application E Application server Different database vendors FIG 2 3 Sch ma d un driver JDBC de type 3 9 Drivers utilisant un middleware Type 3 FIG 2 3 Ce driver s appuie sur un logiciel interm diaire middleware plac entre le driver et une ou plusieurs bases de donn es Ce logiciel interm diaire g n ralement serveur de l application permet la fois de traduire les appels en JDBC pour le SGBD de g rer les communications distance et d assurer la s curit des changes Cette solution difficile mettre en place n cessite en plus du d veloppe ment du driver le d veloppement du middleware Cependant cette solution reste tr s int ressante Aussi le driver purement d velopp en JAVA est tr s portable 30 Calling Java Application JDBC Driver Manager Native Protocol driver Type 4 Driver direct calls using specific database protocol FIG 2 4 Sch ma d un driver JDBC de type 4 9 Drivers utilisant un protocole r seau natif Type 4 FIG 2 4 Le driver traduit les requ tes JDBC en un protocole r seau directement interpr table par le SGBD Cette solution parfaitement portable est la plus rapide de toutes et la plus adapt e une base de donn es accessible par Intranet La majorit des SGBD dispose d un pareil protocole r seau Pour d velopper un pareil driver il faut encapsuler l interface cliente du
14. 1 4 4 Maintenance du produit 14 5 2 Calcul d s COURSES ER ee lise ee Boe eke eon 1 4 6 Planning pr visionnel Autres aspects du projet 2 LH ere Bin me i eed 1 5 1 T ches faire pour livrer le syst me 1 5 2 Controle final de qualit sur le site 1 5 3 Manuel utilisateur et formations Etude bibliographique du domaine 201 Documentation sur les drivers 2 1 1 Ou esi ce qu un driver LH Gos he we a rene 2 1 2 Les diff rents types de drivers tablissant une connexion avec un SGBD ES et us edad teow eek eae epee 10 10 10 11 11 11 11 13 14 14 14 15 18 19 19 19 20 21 21 21 22 22 22 23 22 2 3 2 4 3 1 3 2 4 1 4 2 9 1 9 2 2 1 3 Les drivers JDBC 4 2 240 4 pa dou eb as Licences libres ge 6 Gee ins ee EE ROE RES ES 2 2 1 Domaine public 2 2 2 Licences protectrices Copyleft 2 2 3 Licences non protectrices Sites de d p t de projet Zool SOUL COHOUBEY SE DEL DEN NIMES 2022 Vest MO e pine oe ag heart BX ea ee HA ee ms 2 3 3 Autres Sites De opts i Aedes rm M el tat be Gestion des versions 2A AC Se EPA NE Ae ot el Pe de PD athe de Ed DA Die ONIN Re SR SE RA MT Ryle RB ta ey ES II Mod lisation 3 Compl ment de bibliographie Rappels Mati Saar ne Pt ee Tr se ce ees od
15. MONET Lu sm as foe Bh Se ae tas am Wh SE Se hp ow BE eB ge MARS pals COIR 8 a en nid upended mire wk FEE Lo IIRC SUR Stade We cdinich ET Tr Reis ere Compl ments d information 3 2 1 Bridge JDBC ODBC 244 nat ae ne bee 3 2 2 Gateway ODBC JDBC Dos INT mes a Sn Pas re fret aura memes 4 Recherche de solution ODBC JDBC NS RS 6 nn te ae re ddl a de AMD SO ROC CIE aiT CA Wie Wes des ee re eae ER 412 ATROSUIUOU XS ie RAR MER ue sie Phe dh a a diner CDS Se tina en Mica Pah ci ahs ie Re aad op aed CS tema ee E ACD ale Objectif RE Aa we ho Rais we ee eee ah seed Bont done AN R sultats oe Hoe woe ma Bok ee ae OE ee GRR 5 Dossier de conception Vue g n rale de l architecture du projet 5 1 1 Contexte du projet due de P Bee eS Aa 5 1 2 Modules impl menter Conception des diff rentes parties 5 2 1 Le pilote ODBC 2228 7 RUE eae en ER OR 5 2 2 R alisation d un logiciel de substitution 5 2 8 Le thread serveur 5 2 4 Ex cutable d installation 5 2 5 Tests d int grit et validation du projet 5 3 Organisation du temps de travail 5 3 1 1 l ment 5 322 2f l ment 4 2 m a eal ses el a a on ae Bw on a ge Pw ou Hideo Oo Clemente i ee S se he ete Mise her d her 5 3 4 4 l ment 2 2 a a
16. cole Polytechnique de l Universit de Nantes D partement INFORMATIQUE Quatri me ann e PROJET TRANSVERSAL ANNEE UNIVERSITAIRE 2007 2008 Mise disposition d une interface ODBC pour n importe quel type de source de donn es Rapport Final Pr sent par Fabien COCHETEUX amp Nicolas DAVID le 26 mai 2008 Jury 3 Coordinateur Jean Pierre GUEDON Tuteur entreprise Herv GUERIN Tuteur enseignant Nicolas NORMAND Table des mati res I Bibliographie amp Analyse des besoins 1 Document de sp cification technique des besoins 2 1 1 1 2 1 3 1 4 1 5 Fondements du projet aoaaa Due den dan des 1 1 1 But du projet La tosh eck CRE e 1 1 2 Personnes et organismes impliqu s 1 1 3 Utilisateurs du produit 22528 o ee do SS eee OAS Contraintes sur le projet 1 2 1 Contraintes non n gociables 1 2 2 Glossaire et conventions de d nomination 1 2 3 Faits et hypoth ses utiles Besoins fonctionnels 225 5 Legs nee er en ti me 1 3 1 tendue du travail 1 3 2 Analyse orient e objet 1 3 3 Exigences fonctionnelles et techniques Besoins non fonctionnels 1 4 1 Ergonomie et convivialit du produit 1 42 Facilit d utilisation et facteurs humains 1 43 Fonctionnement du produit
17. de la base de donn es en passant par l interm diaire du protocole ODBC Les appels formul s par le logiciel de requ te utilisant le protocole JDBC sont alors convertis en appels ODBC avant d tre envoy s au SGBD ici la structure de donn es dont on veut exporter les donn es De m me les don n es renvoy es par le SGBD doivent tre traduites avec le protocole ODBC puis JDBC avant d tre exploitables Comme on peut l imaginer ce protocole est particuli rement lent En re vanche il poss de l avantage de pouvoir acc der tous les SGBD compatibles avec ODBC 28 Calling Java Application JDBC Driver Manager Native API driver Type 2 Driver FIG 2 2 Sch ma d un driver JDBC de type 2 9 Driver d API natifs Type 2 FIG 2 2 Ce type de driver ne demande pas au SGBD sur lequel on veut se connec ter d impl menter une interface complexe Il convertit les demandes formul es par l outil de requ tes en appels natifs pour l API du SGBD g n ralement en C ou en C Ce driver est plus rapide que le driver de type 1 Malgr cela pour r aliser la translation le driver n cessite d tre cod la fois en Java et en C ce qui va l encontre des exigences de notre projet De plus il faut que le SGBD sur lequel on se connecte dispose d une biblioth que d API natives ce qui n est pas le cas de toutes les SGBD JDBC Driver Manager Network Protocol driver Type 3 Driver
18. res Enfin nous laborerons le jeu d essai auquel 122 sera soumis le produit final Le dossier pr sent la fin de cette tape comprendra un ou plusieurs mod les d taill s de pr f rence UML la description de l architecture logicielle retenue une description pr cise des classes et des m thodes impl menter un nouveau planning r vis du travail restant Etape n 3 R alisation Du 16 f vrier 2008 Au 23 mai 2008 Au cours de cette derni re tape nous r aliserons les modifications n cessaires sur le driver telles que pr vues lors de la partie conception Suite cela nous v rifierons si le driver final r pond bien aux jeux de test d finis pr c demment Seront remis au tuteur entreprise les documents suivants un dossier de tests un manuel d utilisation un manuel d installation le planning r vis en fin de projet un bilan r capitulatif du projet Tout au long du projet Chaque semaine une fiche r capitulative du travail effectu et pr vu sera remise aux tuteurs du projet Ces fiches seront jointes aux rapports r dig s la fin de chaque tape Les sources du projets seront plac es sur un serveur de type CVS qui sera accessible au bin me en charge du projet ainsi qu leur tuteurs Toute documentation produite sera g n r e en format PDF en utilisant Latex Bibliographie Les premiers drivers propos s pour commencer l tude
19. taient ODBC 1 2 et OLE DB 7 8 Les sites qui concernaient ces deux drivers nous ont incit en chercher de nouveaux Car ceux ci taient mal adapt s l utilisation de Java 123 Ils nous ont ensuite men suivre la piste de JDBC 3 4 5 et ADO 9 Les utilisations d ADO et d OLE DB ne nous ont pas paru adapt es Bien que ceux ci soient plus performants ils sont plus r cents et donc moins uti lis s De part sa pr destination au langage Java le protocole JDBC nous a paru plus int ressant Celui ci semble tre utilisable sur tous les logiciels poss dant une interface ODBC Aussi Java tant un langage portable il poss de des adh rents dans le monde du libre Nous esp rons donc plus facilement trouver le driver cherch en choi sissant ce protocole A cette bibliographie est venu s ajouter un ouvrage de Reese George Soulard Herv 6 portant sur JDBC Quant au travail de bibliographie effectuer il devra orienter cette bibliogra phie en fonction des probl mes r soudre Maintenant que le type de driver a t choisi la bibliographie devra se tourner vers le driver JDBC 124 Bibliographie 1 http www commentcamarche net odbc odbcintro php3 2 http fr wikipedia org wiki Open_database_connectivity 3 http www commentcamarche net jdbc jdbcintro php3 4 http java sun com javase technologies database 5 http developers sun com javadb 6 JDBC et Java guide du
20. 5 3 5 5 l ment 2 5 3 6 6 l ment III R alisation 6 Notre projet et ses objectifs 6 1 Rappel du travail pr c demment effectu 6 1 1 tape Bibliographie amp Analyse des besoins 6 1 2 tape Mod lisation 6 2 Travail pr vu pour la suite du projet dans le cadre de l tape der alis tion a D ax Se Sh ni dd mer st Ape oh ae exe 6 3 Point critique du processus d impl mentation R sultats obtenus 7 1 Utilisation du programme compil fourni 7 1 1 Installation automatique 7 1 2 Installation manuelle 2 4 022424 VahG n re 7 2 Utilisation du code fourni et d outils suppl mentaires 7 2 1 Affichage des avertissements 7 2 2 Probl me lors de la cr ation du DNS 7 2 3 Probl me d appel de fonctions Solutions envisag es 8 1 C t contraignant OD BO rss nier ses ner re 8 1 1 Un manque d informations 8 1 2 Une technologie difficile impl menter 8 2 Solutions envisageables pour lavenir 8 2 1 Poursuivre avec ODBC 3 bck aa Le es Dita 8 2 2 Utiliser un pilote ODBC d j existant 8 2 3 Utilisation d une autre API 8 2 4 Utiliser un fichier de donn es interm diaire 8 3 D veloppement d une solution l exportation de donn es au f riat
21. CN RS AS are SN ee mes le amp 98 8 3 1 Cahier des charges 99 8 3 2 Compl ment bibliographique 100 8 3 3 Conceptio ere minceur ep r 102 IV Dimension commerciale 109 9 Pr sentation de l analyse 110 9 1 Pr sentation de l entreprise 110 9 2 Pr sentation du projet 110 9 3 Probl matique Lee None M cate PR te ge ote Bee ge Sa 110 10 Analyse commerciale du projet 112 10 1 Objectifs de tude mse ee ee BG aw wie Bee Meh eee we eg 112 LOS PP RESCH DANI ON esera neee e te eke e T koga t he 112 10 3 R flexion marketing sur l exploitation commerciale du projet 113 10 3 1 tude de march oaoa a 113 10 3 2 Strat gie commerciale 116 Annexes 121 Etude bibliographique 121 Utilisation d un driver ODBC sous Access 97 126 Rapports hebdomadaires 131 Etape Bibliographie amp Analyse des besoins 132 Etape Mod lisation 22 4 nues Dhs es Ow he Ox bs 143 tape R alisation gt iles dat Hg ie Ee ek eRe ta 150 Bibliographie 163 Table des figures 1 1 1 2 1 3 1 4 2 1 252 2 3 2 4 2 5 2 6 3 1 3 2 3 3 5 1 5 2 5 3 5 4 5 5 7 1 7 2 7 3 7 4 8 1 8 2 8 3 8 4 Sch ma de l ensemble fonctionnel 13 Diagramme de cas d utilisation 16 Esquisse du diagramme de classes 16 Diagramme de s quences
22. Driver do Microsoft Access mdb 4 00 6304 Driver do Microsoft dBase dbf 4 00 6304 Driver do Microsoft Excel xls 4 00 6304 Driver do Microsoft Paradox db 4 00 6304 Driver para o Microsoft Visual FoxPro 6 00 8428 2 00 00 1 Pas de nu 4 nn can gt lt Pr c dent Terminer Annuler Fic 7 1 Driver reconnu Mais lors de la v rification de son installation nous remarquons qu il a t impossible pour le syst me d exploitation de cr er le DNS Congrats xl ODECDAYO loaded by application or driver manager Administrateur ODBC Microsoft x x Les routines d installation du pilote ODBC General ODBC Driver 0 ne sont pas accessibles Veuillez r installer le pilote 85 Nous en concluons donc que l ex cutable fourni ne permet pas d installer le pilote fourni 7 1 2 Installation manuelle L autre solution fournie par l auteur est de mettre en place soi m me le pilote pr compil sous Windows Pour cela nous devons modifier la main le registre du syst me d exploitation repr sent par le programme regedit Nous suivons donc les instructions donn es qui consiste inscrire les informations du pilote au c ur du syst me x e SE SE E LEE EEE DOPDORALPARE B Ses 4 jee Lele Donr es valeur non d firie CAGODRCBXENODECDAVODLL T CAGODBC EXE ODECOAYODLL REGLDWORD osa0000001 1
23. GOBDC Poursuite de la lecture du livre Inside ODBC Recherche d un nouveau driver ODBC simple sur Internet Travail effectuer Cr er l ex cutable d installation Envoyer un second mail de demande d aide au r dacteur de l article sur GODBC Revoir notre planification des taches en fonction des difficult s rencon tr es 153 Fiche de suivi Semaine du 24 au 28 mars 2008 Remarque Suite aux difficult s rencontr es impossibilit de faire fonctionner le dri ver squelette nous prenons un lourd retard dans la r alisation du driver Nous explorons actuellement d autres pistes livres Inside ODBC afin de contourner le probl me Le livre que nous sommes en train d tudier tant en anglais son tude sera longue et nous ne pourrons avancer aussi rapide ment que pr vu Travail effectu Envoi d un second mail de demande d aide au r dacteur de l article sur GOBDC Poursuite de la lecture du livre Inside ODBC Recherche d un nouveau driver ODBC simple sur Internet sans succ s Travail a effectuer Cr er l ex cutable d installation Revoir notre planification des taches en fonction des difficult s rencon tr es 154 Fiche de suivi Semaine du 31 mars au 04 avril 2008 Travail effectu Pas de r ception du second message envoy au r dacteur de l article sur GOBDC Recherche d un nouveau driver OD
24. La finalit de ce projet est de r aliser une communication entre un SGBD propri taire cr par notre tuteur entreprise et un outil de requ te du march exemple Access Excel Notre travail est donc de trouver un driver existant traitant des fichiers plats ou un format propri taire connu de le comprendre et de le modifier afin que celui ci puisse tre interfa able avec la structure de donn es propri taire donn e par notre tuteur entreprise Cet clairage sur le d but du projet nous a fourni des cl s pour commencer la partie bibliographique tap es Etude des protocoles de communication entre SGBD et outil de re qu tes ODBC OLE Autres Recherche d un driver simple existant dans la communaut libre per mettant de lire dans des fichiers plats ou dans des structures de donn es Etude de la licence GPL et de ses contraintes dans un projet but commercial Etude approfondie du driver et du protocole choisis Adaptation du driver la structure de donn es propri taire Modalit s sur les comptes rendus hebdomadaires et sur la mani re de tenir le projet donn es par M NORMAND Fiches hebdomadaires avec le travail effectu au cours de la semaine le travail pr vu pour la semaine venir ainsi que les questions poser aux tuteurs Travail d poser sur un serveur CVS 133 Travail effectuer Recherche de documentation sur ODBC Recherche d un driver OD
25. bibliographie en faisant l utilisation des renvois bibliographiques dans le corps du rapport 2 1 Documentation sur les drivers Afin d assurer la communication entre l outil de requ te et le logiciel de M GU RIN nous utiliserons un driver Cette documentation a pour r le de d finir ce qu est un driver et de nous aider d terminer le type de driver que nous utiliserons dans la suite de notre projet 2 1 1 Qu est ce qu un driver Avant de s int resser aux diff rents types de driver nous allons d finir ce qu est un driver et expliquer comment il fonctionne Le cas g n ral du driver mat riel G n ralement un driver est un ex cutable permettant un logiciel haut niveau de communiquer avec un p riph rique mat riel 1 Lorsque le logiciel demande au mat riel d effectuer une t che le driver traduit la demande formul e en langage haut niveau en commandes bas niveau interpr tables par le mat riel De m me les r sultats de la t che renvoy s par le mat riel sont traduits par le driver avant d tre retransmis au logiciel 24 Les drivers haut niveau Si la d finition ci dessus est correcte pour la grande majorit des dri vers elle ne s applique pas aux quelques drivers qui ne font pas appel un p riph rique mat riel Il est possible de demander un driver d effectuer des op rations haut niveau C est le cas des drivers imprimantes utilisant le Postsc
26. d un DLL et d une documentation d crivant comment l utiliser Nous remettrons les sources comment es du driver d velopp es en JAVA sous Eclipse Le driver devra tre utilisable dans un projet commercial Toutes les sources d j existantes que nous utiliserons seront donc sous licence non virale Afin de d terminer la licence sous laquelle le driver sera distribu nous y joindrons la synth se de notre recherche sur les licences Environnement de fonctionnement du syst me actuel Les contraintes qui nous ont t sp cifi es permettent de d finir l envi ronnement de fonctionnement du syst me construire Ainsi l ensemble lo giciel driver devra fonctionner sur les syst mes d exploitation Windows XP et Windows Vista Applications partenaires FIG 8 1 Les contraintes sp cifi es permettent de d finir les applications parte naires du logiciel c est dire celles avec lesquelles le produit doit collaborer Tout d abord l utilisateur communique avec l interface ODBC pr sent dans les versions r centes de Access et de Excel Le driver devra donc tre au moins compatible avec ces deux logiciels et ceux d finis dans la sp cification Ensuite de l autre c t de l application c t structure de donn es on utilise une interface qui sera cr e par M GU RIN Comme sp cifi sur le sch ma le driver devra donc tre compatible avec la structure de donn es existante Contraintes sur
27. de M Jean Pierre GUEDON Herv GUERIN et Nicolas NORMAND Entretien avec M Herv GUERIN le midi suivant la soutenance Compte rendu de la r union Entretien avec Herv GUERIN le vendredi 22 f vrier 2008 4 12h50 au cours duquel nous nous sommes mis d accord sur les points suivants les requ tes prises en charge par l interpr teur SQL les caract ristiques du thread serveur et ses interactions avec le logiciel serveur les tapes importantes de la partie r alisation Travail a effectuer Installation et test de l exemple de driver GODBC 150 Fiche de suivi Semaine du 03 au 07 mars 2008 Travail effectu Tentatives d installation du driver squelette ODBC Probl me nous n arrivons toujours pas cr er une source de donn es depuis ce driver Analyse des diff rentes fonctions de PAPI ODBC Travail effectuer Envoyer un message au concepteur du driver squelette Cr er l ex cutable d installation 151 Fiche de suivi Semaine du 10 au 14 mars 2008 Travail effectu Envoi d un message au r dacteur de l article sur GOBDC Emprunt et d but de lecture du livre Inside ODBC Analyse des diff rentes fonctions de PAPI ODBC Travail effectuer Cr er l ex cutable d installation 152 Fiche de suivi Semaine du 17 au 21 mars 2008 Travail effectu Pas de r ception du message envoy au r dacteur de l article sur
28. disposer de nom breuses biblioth ques de fonctions qui seront souvent utilis es par la suite Apr s tude des fonctions disponibles gr ce au SDK ODBC nous avons pu compiler le code source fourni Mais lors du passage par l administra teur ODBC il s est av r que la cr ation d un DNS assurant l utilisation du pilote tait toujours impossible et engendrait l affichage des m mes erreurs que pr c demment 87 Des verson 49 22 plein cian Aop yet ur shiteF12 pou basculer les bares d outls uF 12 pou teverit er mode nomal x Proet classe Detug ODBCORVOC E Fost Vist S beiverconmect 7 777 al J opeconva c RETCODE SOL API SOLDriverConnect HEC SDWORD BF Coniteu y Ressources lh Log ce Conpiaton Debug E F sutats de Recherche RE Lines fans e icher Fic 7 4 Compilation 7 2 1 Affichage des avertissements Apr s ces v rifications faites depuis l administrateur ODBC nous avons commenc une tude plus approfondie du code source du pilote ODBC fourni Nous avons constat que l auteur de ce squelette avait plac l int rieur du code source plusieurs messages d avertissements permettant de suivre l ex cution du pilote par l administrateur ODBC Apr s de nombreux tests notamment gr ce l ajout de plusieurs points de contr le nous avons constat que ceux ci ne s affichaient tout simplement pas L erreur de ce probl me ta
29. et les fonctions de API correspondantes seront com pl t es Nous reviendrons sur l interpr teur SQL pour achever la fonction de renvoi de donn es une fois que les modules de communication et de traitement de r sultats c t application serveur seront r alis s 69 Tests de validit Nous v rifierons que les requ tes transmises par Excel sont bien trans mises par le pilote et correctement interpr t es par cet interpr teur Nous nous assurerons galement que Excel peut r cup rer les jeux de r sultats transmis depuis l interpr teur Protocole de communication avec le thread serveur Outils et biblioth ques utilis es Biblioth que de Socket inet h ou winsock h Classes de Socket en java InetAdress et Socket dans java net Fonctionnalit s du module Ce protocole de communication devra tre capable de connecter le pi lote au thread de l application serveur Cette communication permettra d changer les requ tes non SQL et les r sultats de retour Pour r aliser cette communication nous impl menterons un protocole bas sur les Socket r seaux Cette solution a l avantage d tablir de mani re simple et fiable la com munication entre notre pilote natif C et le logiciel serveur d velopp en Java En reprenant l architecture Socket le thread du logiciel serveur sera alors un serveur TCP continuellement en attente de connexion Le pilote se comportera comme un client Enfin les requ
30. la publication des informations Cette section va nous permettre de donner les contraintes sp cifi es quant la publication des informations concernant le projet transversal Tout d abord tous les documents crits devront tre r dig s et compil s avec le syst me de traitement de texte TEX On en fera de m me pour les soutenance orales leur support sera r alis avec BTEX accompagn du package Beamer qui permet de r aliser des pr sentations en gardant le style de LTEX Ensuite un compte rendu hebdomadaire devra tre rendu en fin de chaque semaine Il d taillera les activit s r alis es durant la semaine pass e 12 Outil de requ te Requ te Access excel JDBC restructur es Requ te Logiciel de Mr Gu rin Wy retour de Structure de donn e en m moire centrale os 2 2a So g oo ost ts 23 E6 Interface avec le logiciel source o 2 T T a donn es o gt ri x 9 T 2 Fic 1 1 Sch ma de l ensemble fonctionnel et donnera les activit s pr vues pour la semaine suivante Devront aussi tre rendus les trois rapports d tapes bibliographie amp analyse des besoins r ali sation conception un rapport final reprenant les pr c dentes tapes ainsi qu un d but de bibliographie et d une bauche de cahier des charges la fin du mois d octobre Enfin on s accordera sur une diffusi
31. les donn es ainsi export es Contexte du travail Comme vu pr c demment le driver que nous devons cr er doit servir d interm diaire entre le logiciel de M GUERIN et des SGBD classiques Pour r aliser ce driver nous partirons d un projet Open Source d ja exis tant capable de se connecter aux SGBD classiques Nous n aurons donc pas nous occuper de cette fonctionnalit du driver En revanche nous tudierons comment r aliser la jonction entre ce driver et le logiciel dont on veut extraire les donn es Nous pouvons d ja identifier deux tapes la transmission des requ tes formul es par le SGBD et la r cup ration des r sultats Nous chercherons r aliser une interface permettant aux deux logiciels de communiquer Divisions du travail en v nements m tier S appuyant sur les exigences cit es ci dessus voici une liste des t ches dans lesquelles notre driver entre en jeu 1 A la demande du SGBD le driver tablit les connexions avec le SGBD et le logiciel dont on veut extraire les donn es 2 En les ayant pr alablement traduites le driver retransmet les requ tes envoy es par le SGBD au logiciel dont on veut extraire les donn es 3 En r ponse une requ te le logiciel transmet des donn es au driver qui apr s en avoir adapt le contenu les renvoie au SGBD 1 3 2 Analyse orient e objet FIG 1 2 Fic 1 3 amp FIG 1 4 Cette sous section pr sente diff rents diagrammes UML permettant u
32. notions inh rentes notre projet Nous avons plus particuli rement fait l tude des diff rentes API exis tantes et r alisant l change de donn es Parmi ces APJ nous nous sommes notamment pench s la technologie ODBC Nous nous sommes galement int ress s tout ce qui entourait le r sul tat technique en lui m me mais qui reste tout aussi important la gestion des licences de distribution le d p t du projet et la gestion des diff rentes Versions 82 6 1 2 tape Mod lisation La phase de conception a eu pour but de d finir le sch ma g n ral de d veloppement adopter lors de la phase d impl mentation La cr ation des diff rents diagrammes nous a permis de mieux d crire les m thodes g n rales de d veloppement et de mieux visualiser les grandes tapes suivre pour la suite du projet 6 2 Travail pr vu pour la suite du projet dans le cadre de l tape de r alisation A la fin de la phase de conception notre planning d finissait notre travail attendu pour la p riode suivante Ce travail tait donc de d velopper pilote ODBC afin de le rendre fonctionnel et utilisable dans le cadre de notre projet A partir de ce driver squelette plusieurs tapes se pr sentent alors nous reprendre le squelette du pilote le r utiliser en s appuyant sur les l ments que l on a trouv s c t MSDN autres pilotes ODBC existants utiliser l un des logiciels connus
33. p riph rique mat riel mais entre entre deux applications Plus pr cis ment l change de donn es est effectu entre un SGBD ou logiciel de traitement de donn es et un logiciel disposant d une base de don n es Le driver permet alors au SGBD d acc der la base de donn es de l autre logiciel en lecture ou en criture Dans notre rapport bibliographique nous avions distingu diff rents type de driver accomplissant cette t che ODBC JDBC OLE DB ADO 3 1 2 ODBC ODBC est un ensemble API pilote permettant la communication entre des applications disposant d une bases de donn es et des SGBD ou logiciels de traitement de donn es Ce type de driver d velopp par Microsoft a l avantage d tre un standard parmi les drivers Etant le plus ancien et le plus populaire des types pr sent s ici la quasi totalit des SGBD et des logiciels traitant des bases de donn es est compatible avec ce type de driver L API ODBC est une interface proc durale ce n est pas un protocole a destination d un serveur comme peut l tre par exemple le protocole HTTP L API est accessible aux applications clientes sous la forme de biblioth ques liaison dynamique Ces biblioth ques con ues habituellement par le fournisseur de la base constituent le pilote ou driver de la base en question et doivent tre install es sur le poste client Le gestionnaire ODBC est pr sent sur de nombreuses plates formes n
34. programmeur Par Reese George Soulard Herv 7 http fr wikipedia org wiki OLE_DB ttp msdn2 microsoft com fr fr librar 8 h msdn2 mi f fr fr library Oc7e23ba 03a2 41b5 8695 5e1694ec5b95 aspx 9 http fr wikipedia org wiki ActiveX_Data_Objects 125 Utilisation d un driver ODBC sous Access 97 Dans l un de ses mails M GUERIN nous a communiqu une proc dure suivre appuy e de copies d cran pour importer des donn es provenant d une source externe vers Access 97 l aide d un driver ODBC c est dire pour lier une table externe une base Access via ODBC c est le m me principe sous Excel ou un autre logiciel sous Windows 1 D abord on ouvre le module de connexion un structure de donn es 2 On indique Access que l on souhaite lire une structure de donn es accessible via ODBC 3 On veut s lectionner la source de donn es ODBC Le moyen propos sur cette copie d cran est de passer par un fichier 4 On s lectionne l onglet Source de donn es machine afin de s lec tionner le driver que nous avons cr Une fois s lectionn notre driver devrait demander sur quelle fichier et quelle table il doit se connecter un peu comme le fait le driver MS Access 97 Database Voici la proc dure expliqu e en images 126 Procedures Fichier Edition Affichage Insertion Outils Fen tre ic Nouvelle base de donn es Ctrl N W Ba fn ezez
35. substitution protocole de communication Difficult Cette partie est particuli rement compliqu e de par le fait qu elle s ap puie sur une technologie qui ne nous est pas famili re la programma tion de thread Voici les difficult s que nous rencontrerons Se familiariser avec la programmation de thread cr ation de thread partage de variables etc Impl menter la fonction d ex cution de requ tes et le syst me d ex clusion mutuelle Effectuer une API simple pour rendre le travail facilement impl men tation dans un projet Estimation du temps d impl mentation en heures difficult 5 soit 25h00 5 3 6 e l ment El ment Ex cutable d installation El ments pr requis Pilote squelette ODBC Difficult Comprendre les fonctions de la biblioth que d installation ODBC et r aliser une interface en win32 Estimation du temps d impl mentation en heures difficult 3 soit 15h00 R capitulatif de l organisation du travail FIG 5 5 Le planning pr visionnel que nous venons de cr er ne s appuie sur aucune base formelle COCOMO par exemple mais est approxim TT Mars Avril Mai D 10 11 12 13 14 15 16 ar 18 19 20 21 Phase de r alisation Date de d marrage Date de fin Rapports none O a Zz E v Pilote squelette ODBC 25 Interpr teur de requ tes 20 Protocole de communication avec le 10 thread serveur Logiciel de subs
36. sultat de la requ te sous forme de flux d information Pour viter les probl mes de lectures sales il faudra s assurer que la base de donn es n est pas en train d tre modifi e par l application serveur lorsque le thread veut la lire Aussi si l application serveur a besoin d crire sur la table lue par le thread alors cette lecture doit tre abandonn e et se r soudre par un chec nous consid rons ici que l application a la priorit sur le thread 73 Pour r gler ces probl mes le thread et l application serveur partage ront une ou plusieurs variables d exclusion mutuelle Si possible nous appliquerons le principe d exclusion mutuelle par table de la base de donn es Tests de validit Pour tester le thread une base de donn es contenant des tables de test sera mise en m moire centrale par le logiciel de substitution Nous enverrons alors un jeu de requ tes au thread et v rifierons si celui ci renvoie bien les r sultats attendus 5 2 4 Ex cutable d installation Outils et biblioth ques utilis es Biblioth que d installation de pilote ODBC odbcinst h Biblioth que Windows pour utiliser des fen tres win32 windows h Fonctionnalit s du module La derni re partie de conception de ce projet sera la r alisation d un ex cutable d installation du pilote Il devra permettre d automatiser l installation et la d sinstallation du dll dans le syst me d exploitation Pour c
37. tes et les r sultats seront transmis sous forme de flux par ce protocole M thode de conception Pour d velopper cette partie du pilote nous d velopperons la fois une application serveur simple en Java et la partie cliente du pilote en C L application serveur sera r utilis e lors de l impl mentation du thread de l application serveur Nous impl menterons les diff rentes fonctions n cessaires la commu nication par Socket en TCP attente de connexion connexion envoie r ception d connexion Une fois d velopp s les clients et serveurs seront int gr s respectivement au pilote et au thread 70 Tests de validit Pour valider cette partie nous nous assurerons que le client est bien capable de se connecter se d connecter et de communiquer avec le ser veur et que le serveur est capable de r pondre 5 2 2 R alisation d un logiciel de substitution Outils et biblioth ques utilis es Classe de lecture de fichiers FileReader dans java io Fonctionnalit s du module Le logiciel de M GU RIN tant encore en d veloppement nous r ali serons un logiciel de substitution d velopp en Java disposant d une base de donn e en m moire centrale Ce logiciel nous servira pour concevoir le thread client permettant de recevoir les requ tes non SQL tester et valider notre pilote et notre thread r diger un document expliquant comment int grer de notre travail dan
38. un acc s simple et libre d h bergement et d outils pour les d veloppeurs de projets libres Open Source depuis plusieurs ann es et s est rapidement fait connaitre dans les communaut s de d veloppement informa tique pour tous ses services SourceForge net autorise n importe quel projet condition que celui ci soit enregistr dans un sous domaine type tel que http project name sf net ou http project name sourceforge net Cette adresse de diffusion donn e 37 SOURCEFORGE NET Login Create account Help Browse Software Software Marketplace Community SourceForge net is the world s largest Open Source software development web site SourceForge net provides free hosting to Open Source software development projects with a centralized resource for managing projects issues communications and code Registered Projects 161 818 Registered Users 1 722 196 Project News PowerFolder 2 1 is now available 2007 11 08 07 59 PowerF older PowerFolder is a Secure Open Source Peer to Peer File Transfer Tool Easily share backup synchronize and access files over the Internet or in LAN Read More PIM Xtreme New version more fixes 2007 11 08 07 56 Task Coach 0 66 1 available 2007 11 08 07 56 StepMania Release CVS 20071107 2007 11 08 07 55 Project news archive Browse Software clustering Enterprise Multimedia SysAdmin Database Financial
39. 1C91D60 UWORD 77 lt SQL_DRIVER_ODBC_VER gt PTR 0x001BDC18 SWORD 24 SWORD 0x00000000 sed 8 2 3 Utilisation d une autre API Ayant d j expos les qualit s et les d fauts des autres technologies qui permettent d effectuer un pilote d echange de donn es nous ne nous ten drons pas sur cette solution Nous rappelons tout de m me que OLE DB proche d ODBC et compatible avec un grand nombre de SGBD du march est un candidat potentiel pour la r alisation d un pilote Si le r sultat final serait approximativement le m me nous craignons que les probl mes rencontr s avec ODBC soient encore plus prononc s pour 97 d autres APT moins populaires 8 2 4 Utiliser un fichier de donn es interm diaire Notre derni re solution propos e est la r alisation d un exportateur de donn es enregistrant les donn es dans un fichier sous un format reconnu par les SGBD du march Pour cette solution le processus d change d information est effectu en 2 temps 1 L utilisateur aurait exporter des donn es depuis le logiciel source de donn es vers un fichier 2 L utilisateur indiquerait alors au SGBD le fichier importer pour en extraire les donn es Etant lu par certains pilotes ODBC le format CSV Coma Separated Values pourrait tre trait par les modules d importation des SGBD du march Il se pr sente comme un excellent candidat Cette solution a le d savantage par rapport ODBC de
40. 5 Autres aspects du projet Ces autres aspects d finissent les conditions dans lesquelles le projet sera fait Nous les incluons dans le cahier des charges afin de pr senter une image coh rente des facteurs de succ s ou d chec du projet 1 5 1 T ches faire pour livrer le syst me La livraison du driver se fera directement apr s avoir compil ce dernier dans le format souhait 1 5 2 Contr le final de qualit sur le site Lors de la livraison du driver on testera la compl te inclusion de ce dernier avec les logiciels sp cifi s dans la partie Contraintes non fonctionnelles logiciels qui devront collaborer avec ce driver 22 1 5 3 Manuel utilisateur et formations Un manuel utilisateur devra tre fourni avec le driver afin de pouvoir comprendre les actions de ce dernier et ses interactions avec son environne ment ainsi que expliquer comment l int grer un projet R capitulatif du cahier des charges Le cahier des charges nous a permis de discerner les diff rentes t ches accomplir ainsi que les probl mes qu il nous faudra r soudre dans la suite du projet Il a permis de poser un cadre auquel devra se conformer le r sultat final de notre projet D autre part la r alisation de ce cahier des charges a t l occasion pour nous de d couvrir comment r diger un cahier des charges 23 Chapitre 2 Etude bibliographique du domaine Ce chapitre va permettre de faire la synth se de la
41. BC libre de droit 134 Fiche de suivi Semaine du 15 au 19 Octobre 2007 Travail effectu Recherche sur les diff rents drivers disponibles pour travailler avec des SGBD Protocoles tudi s ODBC JDBC OLE DB et ADO Notre choix se porterait sur JDBC voir le r capitulatif ci joint Question Approuvez vous notre choix de JDBC comme driver pour poursuivre ce projet Travail a effectuer R daction du rapport de d but de projet Approfondir les recherches sur le protocole choisi 135 Fiche de suivi Semaine du 22 au 26 Octobre 2007 Travail effectu R ponse la question pos e par le tuteur entreprise au sujet de JDBC R daction du compte rendu de l entretien du jeudi 11 octobre R daction du rapport de d but de projet Celui ci contient le cahier des charges ainsi qu une bauche de bibliographie Travail effectuer Continuer les recherches sur le protocole choisi Se renseigner sur la communaut du libre travaillant sur JDBC 136 Fiche de suivi Semaine du 05 au 09 novembre 2007 Travail effectu Nous avons bien pris en compte les remarques formul es par notre tuteur entreprise sur le cahier des charges Pour r pondre l une de ses questions JDBC est capable de g rer plus de 100 SGBD diff rents dont les plus utilis s MS Access Oracle MySQL Il existe ce jour 4 types de drivers JDBC ne g rant pas tous les m mes SGBD
42. BC simple sur Internet Travail a effectuer R union pr vue le lundi 07 avril 2008 partir de 14h00 155 Fiche de suivi Semaine du 07 au 11 avril 2008 Travail effectu R union effectu e le lundi 07 avril 2008 partir de 14h00 Diff rents tests et recherches sur le driver ODBC afin de trouver de la source de l erreur il semblerait qu une option non activ e du logiciel emp che la bonne compilation R sum de la r union On note des diff rences entre le fonctionnement du driver compil par nous m mes depuis les sources et le driver fourni au format DLL Contrairement la d duction effectu e pendant la r union il n y a pas de diff rences d ex cution du driver entre Windows XP et Windows Vista Travail effectuer Tests sur d autres compilateurs Visual Studio Eclipse R aliser un suivi tape par tape des fonctions appel es par le pilote Utiliser le suivi pour demander de l aide sur des forums de d veloppeurs 156 Fiche de suivi Semaine du 28 avril au 02 mai 2008 Travail effectu R daction de l tude commerciale du projet Travail effectuer La soutenance du projet aura lieu le lundi 26 mai 2008 16h00 en salle B202 157 Fiche de suivi Semaine du 05 au 09 mai 2008 Travail effectu Nouveaux tests r alis s pour le driver squelette ODBC Envoi du compte rendu de l tude commerciale du projet M
43. Excel par exemple pour le tester le compl ter l aide des pilotes ODBC existants myODBC le pilote de PostGre 6 3 Point critique du processus d impl menta tion L tude de ce squelette de pilote ODBC nous a permis de comprendre la fa on dont il a t cr Nous avons pu remarquer qu aucune fonction n est impl ment e si ce n est la fonction de connexion SQLDriverConnect Ainsi nous comprenons que le squelette de pilote fourni correspond au pilote ODBC minimal Nous aurions donc pu tr s bien le reconstruire nous m me mais cela n aurait eu aucun v ritable int r t pour le comprendre Arriv s l entame du d veloppement nous avons bloqu sur une tape vitale au d veloppement du projet En effet ce point critique tait de faire fonctionner le squelette du pilote ODBC Nous allons voir ce qu il en est 83 Chapitre 7 R sultats obtenus Afin de pouvoir utiliser pour une modification future le pilote que nous avons trouv nous avons suivi et tudi les m thodes de compilations don n es sur le site Web que nous avons utilis 7 1 Utilisation du programme compil fourni L auteur du driver ODBC que nous tudions fournit plusieurs outils qui permettent d utiliser ce pilote Ces outils que nous utilisons sont un pilote ODBC pr compil sous format DLL biblioth que de fonc tions un couple de programmes ex cutables permettant l installation et la d sinstall
44. FIG 8 1 Outil de requ te demande Access excel d importation Aquisition des N donn es retour des Logiciel de Mr Gu rin donn es Structure de donn e en m moire centrale Exportation au format CSV S Ss e S x x o Fic 8 1 Sch ma g n ral La brique logiciel d velopp e sera int gr e au logiciel de M GU RIN Ce dernier tant d velopp en Java le travail r alis doit tre d velopp en Java Aussi cet outil devant tre facile impl menter il se pr sentera sous la forme d un package d objets Un objet de ce dernier disposera d une interface simple et bien documen t e qui permettra la communication avec le reste du logiciel 99 La source de donn es depuis laquelle les donn es seront extraites est situ e en m moire centrale et est connue uniquement par le logiciel de M GUERIN Ce logiciel devra transmettre la position de ces donn es en m moire centrale ou une copie de ces donn e via l interface du package d velopp L outil d velopp devra permettre de s lectionner une partie des donn es parmi celles qui lui seront transmises Un syst me de pseudo requ te sera mettre au point Le logiciel de M GU RIN tant destin a tre diffus l outil devra im pl menter une IHM et tre le plus ergonomique possible utiliser L IHM sera tr s certainement r alis e avec Swing la biblioth que gra ph
45. Jacques MOREAU D but de r daction du rapport de r alisation D but de r daction du support vid o pour la soutenance orale Travail effectuer Continuer la r daction du rapport de r alisation Continuer la r daction du support vid o pour la soutenance orale La soutenance du projet aura lieu le lundi 26 mai 2008 16h00 en salle B202 158 Fiche de suivi Semaine du 12 au 16 mai 2008 Travail effectu Nouveaux tests de compilation sur le driver squelette ODBC Poursuite de la r daction du rapport de r alisation Poursuite de la r daction du support vid o pour la soutenance orale Travail effectuer Poursuivre la r alisation du pilote Terminer la r daction du rapport de r alisation Achever la r daction du support vid o pour la soutenance orale La soutenance du projet aura lieu le lundi 26 mai 2008 16h00 en salle B202 159 Fiche de suivi Semaine du 19 au 23 mai 2008 Travail effectu Nouveaux tests de compilation sur le driver squelette ODBC Fin de la r daction et envoi du rapport de r alisation Poursuite de la r daction du support vid o pour la soutenance orale Travail effectuer Poursuivre la r alisation du pilote Terminer la r daction du support vid o pour la soutenance orale La soutenance du projet aura lieu le lundi 26 mai 2008 16h00 en salle B202 160 Bibliographie 1 2 6 7 8
46. Le JNI Java Native Interface est un framework qui permet du code Java s ex cutant l int rieur de la Java Virtual Machine d appeler et d tre appel par des applications natives c est dire des programmes sp cifiques au mat riel et au syst me d exploitation de la plate forme concern e ou avec des biblioth ques logicielles bas es sur d autres langages C C as sembleur Voici quelques exemples d utilisation de la JNI Certaines fonctions du mat riel ou du syst me d exploitation ne sont pas impl ment es dans les biblioth ques Java Pouvoir s interfacer avec des applications crites dans d autres langages Pour les applications temps r el utiliser un langage compil c est a dire du code natif sera plus rapide que de passer par le bytecode de Java Cette technologie peut tre tr s utile dans plusieurs cas pour des raisons de performance utiliser des composants prouv s d ja existants L inconv nient majeur de cette technologie est d annuler la portabilit du code Java 56 L utilisation d objets crits en Java partir d un programme crit en C demande de conna tre la repr sentation en m moire des objets cr s par la machine virtuelle Java Ensuite au moment de l ex cution il faut activer ces objets Java c est dire lancer une machine virtuelle y charger une classe puis un objet afin d acc der un champ ou une m thod
47. License You may obtain a copy of the License at http www apache org licenses LICENSE 2 0 Unless required by applicable law or agreed to in writing software distributed under the License is distributed on an AS IS BASIS WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND either express or implied See the License for the specific language governing permissions and limitations under the License Licence MIT X Window System C est une licence de logiciel libre et Open Source Elle donne toute personne recevant le logiciel le droit illimit de utiliser le copier le modifier le fusionner le publier le distribuer le vendre et de changer sa licence La seule obligation est de mettre le nom des auteurs avec la notice de copyright Elle est tr s proche de la nouvelle licence BSD seule la derni re clause diff re Elle est compatible avec la GNU General Public License Voici le texte de la licence Copyright c lt year gt lt copyright holders gt Permission is hereby granted free of charge to any person obtaining a copy of this software and associated documentation files the Software to deal in the Software without restriction including without limitation the rights to use copy modify merge publish distribute sublicense and or sell copies of the Software and to permit persons to whom the Software is furnished to do so subject to the following conditions The above copyright notice and this permission
48. ODBC JDBC est un projet mort Une deuxi me solution que nous envisageons serait de cr er un driver ODBC compatible avec Java via JNI Travail a effectuer Continuer la recherche de solutions ODBC to JDBC Gateway et ODBC JNI 146 Fiche de suivi Semaine du 28 janvier au 1 f vrier 2008 Travail effectu Nous avons continu nos recherches sur les drivers ODBC JDBC Cette technologie semblerait bien tre une solution viable pour le projet Ce pendant nos recherches sur cette solution ont t peu fructueuses Nous avons galement pouss nos recherches sur la solution ODBC JNI Nous n avons cependant trouv aucune information ce sujet Nous avons recherch t l charg puis tudi diff rents drivers ODBC JDBC et ODBC Voici quelques sources de driver ODBC correspon dant notre attente mais peu document s et peu comment s Open Database Transport Protocol i0DBC ODBC JDBC Project est un projet mort de SourceForge qui malgr l absence de code source rassemble une documentation int ressante au sujet d ODBC JDBC et JNI Le driver ODBC JDBC du projet Firebird est bien document mais ses sources sont peu comment es Nous ne sommes pas surs de la vali dit de la licence du code source pour un projet commercial Travail effectuer Continuer l tude du driver ODBC JDBC du projet Firebird La soutenance concernant la mod lisation du projet transversal se d rouler
49. SGBD dans le driver Le logiciel que notre driver viendra compl ter pou vant s adapter au driver cela ne posera pas de probl me Alliant simplicit rapidit et portabilit le driver de type 4 est donc tr s adapt notre projet 31 R capitulatif sur les drivers La r alisation de ce document nous a permis de mieux comprendre les caract ristiques et le fonctionnement des drivers Si son but tait de nous aider d terminer le type de driver que nous choisirons pour la suite du projet nous nous sommes apercus tardivement que le driver JDBC ne r pond peut tre pas nos attentes En effet si les drivers JDBC sont capables de se connecter 4 un tr s grand nombre de bases de donn es et d tre utilis s par des logiciels de traitement de requ tes tels qu Open Office nous n avons pas r ussi utiliser ce type de driver avec le module d importation de donn es d Excel Apr s quelques recherches nous avons compris que le driver JDBC bien que capable de se connecter un grand nombre de structures de donn es est surtout utilis dans le d velopement de logiciels n cessitant d importer des donn es Il semble difficile sinon impossible de l utiliser pour importer des donn es vers un grand nombre de logiciels d j existants tels qu Excel et Access Nous continuerons les recherches dans cette voie si nos doutes se confirment Nous passerons surement la recherche d un driver de type ODBC Ce driver
50. SGBD les plus clas siques Le driver se connecte d une part un outil de requ te et d autre part un logiciel d o sont lues les donn es Le driver doit tre facilement analysable Les donn es lues sont sous un format simple et le code est clairement comment La communaut suivant ce projet est active 18 1 4 Besoins non fonctionnels Les exigences non fonctionnelles sont les propri t s comportementales que les fonctionnalit s doivent avoir comme la performance la facilit d utilisa tion Les exigences de cette partie concernent donc l apparence du produit et la perception par ses utilisateurs potentiels On peut assigner une mesure sp cifique chaque exigence non fonction nelle 1 4 1 Ergonomie et convivialit du produit L ergonomie de notre driver n entre ici pas en jeu tant donn que le driver que nous devons d velopper n appara t jamais en premier plan mais s occupe uniquement du traitement des requ tes et des donn es Le logiciel interfa ant la communication avec l utilisateur est donc la par tie du projet qui sera concern e par la mise en place d une ergonomie d une convivialit donner au produit Si pour une raison quelquonque l utilisateur doit avoir param trer le driver l interface que nous mettrons en place sera la plus simple et la plus guid e possible 1 4 2 Facilit d utilisation et facteurs humains Cette partie rassemble les e
51. Si nous avions pu commencer la r alisation du pilote l impl mentation de ces fonctions aurait t une difficult de taille surmonter 8 2 Solutions envisageables pour l avenir Afin de parer l absence de r sultat pour notre projet nous avons envi sag d autres solutions possibles 8 2 1 Poursuivre avec ODBC Malgr les probl mes pos s par un d veloppement s appuyant sur lin terface ODBC nous ne pensons pas que la solution du pilote ODBC soit exclure Bien s r faire fonctionner le pilote squelette ODBC reste une tape vitale pour l avancement du projet En continuant dans cette voie nous pou vons esp rer que le probl me qui nous a bloqu aurait fini par tre r solu ou contourn Trouver un soutien Comme vu pr c demment la technologie ODBC est assez complexe Pour r soudre les diff rents probl mes pr sents et futurs il faudra tr s certaine ment faire appel des personnes qualifi es sur la technologie ODBC Si nous avons cherch trouver une aide ext rieure nous pouvons criti quer notre travail La communaut vers laquelle nous nous sommes dirig s bien qu active et compos e de programmeurs exp riment s n tait pas particuli rement m me de r pondre des questions pointues sur ODBC Chercher de l aide 95 aupr s de forums de discussion de Microsoft aurait t plus judicieux On pourrait esp rer alors recevoir de l aide d un expert ou d tre aigu
52. a effectuer Avant le 14 d cembre faire valider par Jacques MOREAU l tude Mar keting La soutenance concernant la bibliographie du projet transversal se d roulera le mardi 18 d cembre 10h00 en salle C008 en pr sence de MM Jean Pierre GUEDON et Nicolas NORMAND Se renseigner sur la communaut travaillant sur les licences libres Fresh Meat SourceForge Se renseigner sur la communaut du libre travaillant sur JDBC 140 Fiche de suivi Semaine du 03 au 07 d cembre 2007 Travail effectu Fin de la r alisation d une documentation sur les drivers mode de fonctionnement structure Approche des sites sur les licences libres FreshMeat SourceForge R union avec le tuteur entreprise afin d obtenir de plus amples infor mations sur son projet dans le but de r aliser cette tude R union avec Mr GUERIN Demande de renseignements sur le travail rendre dans le cadre de P tude Dimension commerciale et ou organisationnelle du projet Demande de renseignements sur la structure des composants entrant en jeu dans le projet Travail a effectuer Avant le 14 d cembre faire valider par Jacques MOREAU l tude Mar keting La soutenance concernant la bibliographie du projet transversal se d roulera le mardi 18 d cembre 10h00 en salle C008 en pr sence de MM Jean Pierre GUEDON et Nicolas NORMAND Se renseigner sur la communaut du
53. a le vendredi 22 f vrier 2008 08h30 en salle C008 en pr sence de MM Jean Pierre GU DON et Nicolas NORMAND 147 Fiche de suivi Semaine du 04 au 08 f vrier 2008 Travail effectu R union mercredi 06 f vrier en pr sence de MM Herv GU RIN et Nicolas NORMAND D but d tude du site MSDN Compte rendu de la r union Pr cision des contraintes du projet Etude des fonctions disponibles dans la documentation de MSDN Utilisation de SDK afin de cr er notre driver ODBC Etude du driver de lecture de fichiers plats txt csv Travail effectuer Poursuivre l tude du SDK de Microsoft et du site MSDN La soutenance concernant la mod lisation du projet transversal se d roulera le vendredi 22 f vrier 2008 08h30 en salle C008 en pr sence de MM Jean Pierre GU DON et Nicolas NORMAND 148 Fiche de suivi Semaine du 11 au 15 f vrier 2008 Travail effectu R alisation du rapport de conception du projet Poursuite des diverses tudes engag es Travail effectuer R aliser le support informatique n cessaire la soutenance orale Se pr parer la soutenance orale 149 Fiche de suivi Semaine du 18 au 22 f vrier 2008 Travail effectu Analyse du driver GODBC R alisation du support informatique pour la soutenance orale R alisation de la soutenance orale le vendredi 22 f vrier 2008 a 09h00 dans la salle C008 en pr sence
54. able de se connecter la grande majorit des SGBD du march 5 Certains drivers JDBC sont galement capables d tablir un pont avec le protocole ODBC pour atteindre l ensemble des SGBD compatibles avec ce dernier 6 Les avantages du type de driver JDBC par rapport ODBC sont les suivants les drivers JDBC sont nativement cod s en Java ce qui les rend parti culi rement portables L engouement de la communaut libre pour le protocole JDBC est bien plus important que pour ODBC Sur SourceForge net on compte 548 projets libres recens s en relation avec le protocole JDBC contre 176 pour ODBC 7 On notera tout de m me que les drivers JDBC ont le d savantage d tre moins bien pris en charge par Windows que les drivers ODBC Malgr cela et partant du principe que la recherche d un driver libre est une tape critique pour l avanc e de notre projet nous continuerons notre projet en travaillant sur le protocole JDBC 2 1 3 Les drivers JDBC En continuant nos recherches sur les drivers utilisant le protocole JDBC d velopp par SUN 8 nous avons d couvert que ceux ci se d composent en quatre familles distinctes disposant d architectures diff rentes 6 27 Calling Java Application JDBC Driver Manager JDBC ODBC Bridge Type 1 Driver ODBC driver FIG 2 1 Sch ma d un driver JDBC de type 1 9 Pont JDBC ODBC Type 1 FIG 2 1 Ce driver acc
55. ajorit des logiciels faisant appel ODBC utilisent cette technologie afin d importer des donn es depuis une source de donn es Les documents et les exemples sur l application d ODBC ce type de besoin sont particuli re ment nombreux En revanche les logiciels cherchant mettre leurs donn es disposition par le biais d ODBC sont rares De part ce fait il est difficile de trouver une documentation sur la conception de pilotes ODBC ainsi que sur leurs impl mentations dans un logiciel source de donn es La communaut Internet autour du d veloppement de pilote ODBC est tr s peu active Nous avons plusieurs reprises recherch son soutien sur des forums de programmations ainsi qu aupr s d un programmeur exp riment Toutes nos demandes se sont r v l es infructueuses 94 8 1 2 Une technologie difficile impl menter La complexit de PAPI ODBC est un autre facteur expliquant le fait que la cr ation de pilotes n est pas plus r pandue Cette API est compos e de 75 fonctions parmi lesquelles un minimum d une trentaine d entre elles doivent tre impl ment es pour constituer le corps d un pilote fonctionnel Bien que parfois simples ces fonctions devant g rer un grand nombre d exceptions peuvent tre particuli rement lourdes De plus il est n cessaire de bien comprendre l enchainement entre les fonctions pour savoir quelles donn es seront transmises une fonction et comment les traiter
56. ans une SGBD propri taire 9 2 Pr sentation du projet L objectif de ce projet est d ajouter une fonctionnalit au logiciel d ve lopp par M GU RIN Plus pr cis ment nous devons r aliser un driver ca pable d exporter ces donn es vers des outils de requ tes du march Business Objects Cognos Access Excel Le driver que nous produirons disposera d une interface qui rendra notre travail int grable non seulement au logiciel de M GUERIN mais galement tout autre projet de d veloppement ayant besoin de pouvoir exporter des donn es vers des outils de requ tes 9 3 Probl matique Le produit de notre travail sera rendu libre la fin de notre projet Malgr cela nous r aliserons notre rapport sur l approche marketing comme si ce produit avait du tre commercialis Probl matique Quelle serait la place du driver que nous devons r aliser sur le march de l informatique 110 Dans cette tude nous d terminerons la client le potentielle de ce dri ver Nous chercherons tudier les solutions similaires d j existantes et les logiciels qui les utilisent Ce dossier pourra mettre en vidence en quoi ce produit se d marque de ses concurrents et si sa commercialisation serait possible et viable sur le march de l informatique 111 Chapitre 10 Analyse commerciale du projet 10 1 Objectifs de l tude Prendre conscience que tout projet informatique a des dimensions non
57. ant du code GPL sous licence BSD on autoriserait par exemple la redistribution sans fournir le code source alors que c est interdit par les termes de la licence GPL Voici une partie du texte de la licence Copyright c lt YEAR gt lt OWNER gt All rights reserved Redistribution and use in source and binary forms with or without modification are permitted provided that the following conditions are met Redistributions of source code must retain the above copyright notice this list of conditions and the following disclaimer x Redistributions in binary form must reproduce the above copyright notice this list of conditions and the following disclaimer in the documentation and or other materials provided with the distribution Neither the name of the lt ORGANIZATION gt nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission Licence Apache ASL Le point majeur de la licence Apache 18 est d une part d autoriser la mo dification et la distribution du code sous toute forme libre et commerciale et d autre part d obliger le maintien du copyright lors de toute modification et galement du texte de la licence elle m me Voici le texte de la licence 39 Copyright yyyyl name of copyright owner Licensed under the Apache License Version 2 0 the License you may not use this file except in compliance with the
58. ation du pilote une m thode d crivant l installation manuelle du pilote sous Windows Nous choisissons donc d utiliser ces diff rents outils qui nous sont fournis par l auteur du driver 7 1 1 Installation automatique Nous commen ons la mise en place du pilote pr compil en utilisant l ex cutable d installation fourni Celui ci demande le nom qui sera utilis lors de sa cr ation 84 1 L utilisateur doit disposer des fichiers suivants la biblioth que de fonctions au format DLL l ex cutable ODBCreg qui permet de g rer manuellement l installa tion et la d sinstallation du pilote ODBC les deux fichiers de commande batches ODBCregDev et ODBCuregDev 2 L utilisateur doit ensuite installer le pilote ODBC en utilisant le batche ODBCregDev dont il doit confirmer l installation 3 Afin de se servir du pilote ODBC l utilisateur doit se servir de son logiciel de requ tage habituel tel qu Excel ou Access d o il doit importer une source de donn es ODBC 4 Lorsque l utilisateur choisit de d sinstaller le pilote ODBC il doit uti liser le batche ODBCuregDev dont il doit confirmer la d sinstallation Nous remarquons que l administrateur a bien reconnu notre pilote ODBC Cr er une nouvelle source de donn es xl S lectionnez un pilote pour lequel vous souhaitez d finir une source de donn es Driver da Microsoft para arquivos texto tt csv 4 00 6304
59. bc index Site web de MySQL Driver odbc http dev mysql com downloads connector odbc 3 51 html Site web de Microsoft Sdk odbc ftp ftp microsoft com developr ODBC public 162 30 Site web de Microsoft Msdn odbc http msdn2 microsoft com en us library ms714562 aspx 31 Expert system designer et Expert VisualC Agrawal Vikash Exemple de pilote godbc http www ddj com windows 184416434 pgno 1 163
60. c le thread du logiciel serveur Ce protocole devra tre capable de transmettre au thread les requ tes non SQL executer et d en r cup rer les r sultats Le logiciel de substitution Le logiciel de M GU RIN tant encore en cours de d veloppement nous devrons r aliser un logiciel de substitution disposant d une base de donn es laquelle nous devrons acc der par le biais du pilote ODBC Le thread serveur Afin de ne pas paralyser le logiciel serveur un thread en attente d appels de la part du pilote devra tre impl ment Le thread a deux fonctionnalit s principales Il devra tre capable de communiquer avec le pilote Il devra traiter des requ tes non SQL et de g rer les conflits d acc s la base de donn es Le module d installation Il permet d automatiser l installation du pilote ODBC dans le syst me d exploitation R capitulatif de la vue g n rale Cette premi re analyse du probl me nous a permis de d crire les l ments existants sur lesquels nous nous appuierons et ceux que nous devrons cr er ainsi que leurs fonctionnalit s Elle pose donc les premi res bases concr tes du projet 66 5 2 Conception des diff rentes parties Cette partie a pour but de d crire plus en d tail chaque l ment que nous devrons concevoir A chaque fois nous verrons quels sont les outils qui nous permettrons de r aliser l l ment quel est le r le de l l ment q
61. ccess 97 10 4 Etape 4 du chargement d un driver ODBC sous Access 97 10 5 Etape 5 du chargement d un driver ODBC sous Access 97 127 128 129 130 Dans le cadre du parcours ing nieur l cole Polytechnique de l Univer sit de Nantes doit se d rouler un projet transversal en collaboration avec une entreprise Le projet qui nous est propos est celui de M Herv GU RIN Le pilotage est assur par M Nicolas NORMAND La coordination est assur e par M Jean Pierre GU DON Le rapport du projet se d coupe en trois phases diff rentes Bibliographie et analyse des besoins Mod lisation R alisation A la fin du rapport seront pr sentes nos r f rences bibliographiques et nos annexes dans lesquelles figurent nos fiches de suivi Premi re partie Bibliographie amp Analyse des besoins Le but de cette partie est de d limiter les contours du projets et de rassembler l ensemble des connaissances n cessaires pour la suite du projet Cette bibliographie doit nous permettre d aboutir sur le choix du type de driver que nous utiliserons dans la suite du projet Les livrables contenus pour cette tape sont une tude bibliographique m tier du domaine et la r daction d un cahier des charges documentation de sp cification technique des besoins Chapitre 1 Document de sp cification technique des besoins Ce cahier des charges est inspir du canevas d crit dans le do
62. ce Toutefois des solutions alternatives mais moins audacieuses et ne r pondant pas forc ment aussi bien au besoin existent Nous pouvons constater que notre travail pourrait tre r utilis en tant que base pour continuer ce projet sur la piste du driver d ODBC La conti nuation de ce projet serait ainsi facilit e gr ce l apport d une tude biblio graphique et d un support de travail consistant Enfin au del du pur apprentissage technique ce projet transversal nous a appris Car C est son premier objectif valuer et se confronter aux prin cipes aux rigueurs et aux difficult s de la tenue et de la gestion d un projet informatique activit qui sera tr s certainement la n tre apr s l obtention du dipl me Un petit apart serait galement n cessaire pour dresser une analyse com parative du planning pr visionnel fourni dans le rapport de bibliographie puis raffin dans le dossier de conception et du planning effectif En effet nous n avons pas su valuer assez t t les difficult s qui nous sont apparues L apprentissage de la gestion de projet permet d viter de commettre de telles erreurs 108 Quatri me partie Dimension commerciale 109 Chapitre 9 Pr sentation de l analyse 9 1 Pr sentation de l entreprise Dans le cadre du projet de lancement d une start up M GU RIN notre tuteur entreprise compte d velopper un logiciel ayant besoin de g rer des donn es d
63. clients et d un ou plusieurs modules serveur pour les zones d changes Principe CVS utilise une architecture client serveur le serveur enregistre la ou les versions actuelles du projet et l historique correspondant le client se connecte au serveur afin de r cup rer une copie compl te du projet travailler sur cette copie et plus tard sauvegarder ces changements Plusieurs d veloppeurs peuvent ainsi travailler en concurrence sur le m me projet chacun ditant les fichiers de leur propre copie du projet pour ensuite envoyer les modifications au serveur Pour viter le risque que chacun se marche dessus le serveur accepte uni quement les changements faits sur la version la plus r cente du fichier Les d veloppeurs doivent ainsi garder leur copie du fichier jour en incorporant les changements des autres r guli rement 42 Cette t che est la plupart du temps automatiquement prise en charge par le client CVS requi rant une intervention manuelle seulement quand un conflit est av r entre une modification envoy e et une version locale d un fichier non encore mise jour Si l op ration de mise jour r ussit alors les num ros de version de tous les fichiers impliqu s s incr mentent automatiquement le serveur CVS ajoute une ligne de description destination de l utilisateur contenant le nom de l auteur et la date de modification aux fichiers journal Fonctionnalit s Le serveur CVS p
64. cument Volere provenant du serveur p dagogique du d partement informatique Il contiendra notamment une analyse orient e objet diagrammes UML pour l analyse et un calendrier de travail Cette partie est un cahier des charges pr cis directement li au besoin exprim e par l utilisateur Il sera le point de d part de la deuxi me tape 1 1 Fondements du projet Avant de commencer parler des aspects techniques du projet il est im portant de bien le pr senter c est dire de d finir le but et les personnes impliqu es dans les enjeux de ce dernier 1 1 1 But du projet Pr senter le but d un projet c est positionner ce projet dans le contexte auquel il est li et d finir l objectif auquel il devra r pondre Contexte du projet Dans le cadre du projet de lancement d une start up M GU RIN compte d velopper un logiciel permettant la gestion de donn es dans une SGBD propri taire 10 Objectif du projet L objectif de ce projet est d ajouter une fonctionnalit au logiciel d ve lopp par M GU RIN Plus pr cis ment nous devons r aliser un driver capable d exporter des donn es du logiciel de M GUERIN vers un quel outil de requ tes du march Business Objects Cognos Access Excel Le logiciel de M GU RIN tant encore en d veloppement nous nous contenterons de consulter des donn es contenues dans des fichiers plats quel conques depuis un logiciel permettant de le subst
65. current Versions System est un syst me de gestion de versions libre successeur de SCCS originellement crit par Dick Grune en 1986 puis compl t par Brian Berliner avec le programme CVS lui m me en 1989 et par la suite am lior par de tr s nombreux contributeurs CVS est devenu populaire dans le monde du logiciel Open Source et est r alis sous la licence GNU General Public Licence Bien qu il soit toujours 41 tr s utilis dans le domaine du logiciel libre le logiciel concurrent Subversion apporte de nouvelles fonctionnalit s de gestion des sources On notera qu il existe aussi des logiciels d centralis s comme Bazaar Darcs Git Mercurial ou Monotone et toujours sous licence Open Source Parmi les interfaces graphiques les plus populaires citons sous Linux le programme Cervisia et sous Windows TortoiseCVS Caract ristiques CVS est un syst me Open Source de contr le des versions Il permet de conserver une trace de la totalit du travail et de chaque changement dans un ensemble de fichiers Ce syst me concerne notamment l impl mentation d un projet de d veloppement et autorise plusieurs d veloppeurs a collaborer Puisqu il aide les sources converger vers la m me destination on dira que CVS fait la gestion concurrente de versions ou de la gestion de versions concurrentes Il peut aussi bien fonctionner en mode ligne de commande qu travers une interface graphique I se compose de modules
66. devra alors tre cod en langage C 2 2 Licences libres Une licence de logiciel libre 10 est une licence s appliquant un logiciel pour en faire un contenu libre offrant l utilisateur certains droits quant l utilisation la modification la rediffusion et la r utilisation de ce logiciel dans des logiciels d riv s 11 Une licence de logiciel libre applique quatre types de libert pour l utili sateur d un logiciel La libert d ex cuter le programme pour tous les usages La libert d tudier le fonctionnement du programme ceci suppose l acc s au code source La libert de redistribuer des copies ceci comprend la libert de vendre des copies La libert d am liorer le programme et de publier ses am liorations ceci suppose l acc s au code source Les logiciels libres sont souvent divis s en trois 12 selon le degr de libert accord par la licence en mati re de redistribution 13 32 2 2 1 Domaine public En langage courant le logiciel appartient tout le monde C est une caract ristique juridique qui n a pas besoin de licence du fait que le logiciel n a aucun ayant droit Th oriquement tout logiciel tombe dans le domaine public une fois les droits d auteur chus 2 2 2 Licences protectrices Copyleft Il s agit des licences qui interdisent la redistribution hors des principes du copyleft car Si un programme est un logiciel libre au mom
67. e Tout ce qui concerne ces commandes se trouve dans l environnement JNI qui comprend videmment une partie Java commandes javah javap et une partie C fichier jni h La mise en oeuvre de JNI n cessite plusieurs tapes la d claration et l utilisation de la ou des m thodes natives dans la classe Java la compilation de la classe Java la g n ration du fichier d en t te avec l outil javah l criture du code natif en utilisant entre autre les fichiers d en t te fourni par le JDK et celui g n r pr c demment la compilation du code natif sous la forme d une biblioth que Le format de la biblioth que est donc d pendante du syst me d exploita tion pour lequel elle est d velopp e d11 pour les syst mes de type Windows so pour les syst me de type Unix R capitulatif du compl ment d information Toutes ces nouvelles notions auront t abord es durant la phase de conception Elles viennent s ajouter aux termes d ja d crits dans le rappel de biblio graphie R capitulatif du compl ment de bibliographie La r alisation de ce document nous a permis de mieux comprendre les caract ristiques et le fonctionnement des drivers Si son but tait de nous aider a d terminer le type de driver que nous avions a choisir pour la suite du projet nous nous sommes apercus tardive ment que le driver JDBC ne r pondait pas nos attentes 97 En effet si les drivers JDBC so
68. e les fonctionnalit s de CVS vo luent tr s r guli rement Ainsi apparaissent souvent de nouvelles fonction nalit s ajout es par les d veloppeurs ce qui en fait une m thode extr ment utilis e 2 4 2 SVN Nous allons d crire le syst me de gestion de versions SVN 20 SUBVERSION ee Description Subversion en abr g SVN est un syst me de gestion de versions dis tribu sous licence Apache et BSD Il a t con u pour remplacer CVS Ses auteurs s appuient volontairement sur les m mes concepts notam ment sur le principe du d p t centralis et unique et consid rent que le mod le de CVS est le bon et que seule son impl mentation est en cause Le projet a t lanc en f vrier 2000 par CollabNet avec l embauche par Jim Blandy de Karl Fogel qui travaillait d j sur un nouveau gestionnaire de version Les apports de Subversion Subversion a t crit afin de combler certains manques de CVS Voici les principaux apports Les commits ou publications des modifications sont atomiques Un serveur Subversion utilise de fa on sous jacente une base de donn es capable de g rer les transactions atomiques le plus souvent Berkeley DB 44 Subversion permet le renommage et le d placement de fichiers ou de r pertoires sans en perdre l historique Les m ta donn es sont versionn es on peut attacher des propri t s comme les permissions un fichier par exemple Du poi
69. e de l aspect visible du marketing aupr s du grand public Les bases de cette strat gie sont galement de d finir les services compl mentaires notre produit Etude de co t Afin de d terminer le co t appliquer au produit lors de sa mise en vente nous allons chercher conna tre le prix de revient du produit puis les marges appliquer sur ce prix afin d obtenir le prix de vente final Ce prix de vente doit au minimum tre sup rieur au prix de revient du produit Afin de conna tre ce prix de revient nous allons tudier quelques param tres qui nous permettront de d finir ou au moins d appproximer le co t r el de revient du produit Ce prix devra notamment correspondre au travail effectu par les per sonnes r alisatrices du projet Pour simplifier le travail nous consid rerons que notre groupe de travail a une efficacit quivalente 50 de la capacit d un ing nieur exp riment On consid re galement que ce travail effectu des fins comerciales n c ssi terait seulement la moiti du travail de bibliogaphie et de mod lisation que nous avons r alis Un ing nieur exp riment aurait donc r alis ce travail en 120 heures Pay 30000 par an l ing nieur aurait donc co t 2060 au projet Etant donn que l on a estim le nombre de ventes 10 par an un prix de vente final de 300 nous permettrait de rentabiliser rapidement le produit Type de distribution A
70. ent o il quitte les mains de son auteur cela ne signifie pas n cessairement qu il sera un logiciel libre pour quiconque en poss dera une copie Les licences du projet GNU sont les plus c l bres Une telle licence permet d int grer du logiciel sous licence BSD et de le redistribuer sous licence GPL L inverse est impossible Des acteurs des projets BSD critiquent un degr de libert moindre des licences de type copyleft et des acteurs commerciaux d noncent une nature contaminante Voici une liste des principales licences libres non adapt es au projet vi rales GPL GNU General Public License La GPL 14 ne donne le droit de redistribuer un logiciel 15 que si len semble du logiciel y compris toutes les ventuelles modifications sont redis tribu es selon les termes exacts de la GPL 16 Cette licence est dite virale ou contaminante par ses opposants car si elle autorise la fusion d un logiciel sous GPL avec un logiciel sous une autre licence elle n autorise en revanche la redistribution du logiciel fusionn que sous GPL Les termes de la GPL autorisent toute personne recevoir une copie d un travail sous GPL La GPL ne donne pas l utilisateur des droits de redistribution sans limite Le droit de redistribuer est garanti seulement si l utilisateur fournit le code source de la version modifi e En outre les copies distribu es incluant les modifications doivent tre aussi so
71. epuis l application serveur Ce thread sera charg de rester en position d attente de connexion et de recevoir la connexion du pilote Ainsi le reste de l application serveur pourra continuer fonctionner normalement Le thread de l application serveur ne sera pas seulement utilis pour communiquer avec le pilote Il devra galement ex cuter les requ tes non SQL qui lui seront communiqu es pour en retourner les r sultats M thode de conception Le thread devra tre lanc depuis le logiciel de substitution Afin de rendre le thread rapide implanter dans un projet une classe contien dra les diff rentes variables partag es par le thread et le logiciel serveur ainsi que diff rentes fonctions que le logiciel serveur devra utiliser pour faire fonctionner le thread Tel que vu pr c demment la partie serveur TCP du thread sera r alis e en m me temps que le client TCP du pilote ODBC Nous int grerons cette premi re fonctionnalit au thread Afin d ex cuter les requ tes qui lui seront transmises le thread devra conna tre la position en m moire centrale des diff rents l ments de la base de donn es du logiciel serveur Ayant connaissance de la base de donn es le thread devra impl menter une fonction lui permettant de r cup rer les donn es d une table Cette fonction prendra en param tre les diff rents arguments d une re qu te non SQL envoy e par le serveur et prendra pour valeur de retour le r
72. er correspond une ligne du tableau la 1 tant g n ralement utilis e pour contenir le nom des colonnes Les valeurs d une m me ligne sont s par es par un caract re non standardis g n ralement fg x fg pour certaines localit s dont la France Quelques tests nous ont montr qu un mauvais choix de s parateur pou vait compromettre une bonne exportation via ODBC CSV est un format essentiellement utilis par Excel qui ne permet pas initialement de contenir plusieurs tables dans un m me fichier En revanche il doit sa popularit sa simplicit et sa g n ration facile Il est entre autre utilis pour effectuer des changes de donn es entre SGBD n ayant pas d autre format de fichier en commun Voici quelques r gles suppl mentaires utilis es pour crire un fichier CSV La valeur d un champ peut tre entour e de guillemet Un guillemet apparaissant dans la valeur d un champ doit tre doubl Un caract re s parateur apparaissant dans une valeur entour e de guille 101 ment ne sera pas consid r comme s parateur Attention Ces r gles risquent de ne pas tre support es par le pilote ODBC choisi pour r aliser le projet Java Swing Swing est une biblioth que graphique Java faisant partie du package Java Foundation Classes qui constitue une API riche pour la conception d IHM Il permet de construire des interfaces sophistiqu es partir de composants imbriqu s S
73. es t ches et la date d ch ance 5 3 1 1 l ment El ment Pilote squelette ODBC El ments pr requis Pas d l ment pr requis Difficult La difficult de cette partie r side majoritairement dans la compr hen sion du r le de chaque fonction de l API ODBC de ses entr es et de ses valeurs de retour Estimation du temps d impl mentation en heures difficult 5 soit 25h00 75 5 3 2 2 l ment El ment Interpr teur de requ tes El ments pr requis Pilote squelette ODBC Difficult Cette partie a deux difficult s majeures Comprendre comment une requ te SQL est enregistr e dans une structure SQLStatement Savoir quelles fonctions de API sont modifier pour permettre de transf rer les requ tes SQL vers l interpr teur SQL Estimation difficult 4 soit 20h00 5 3 3 e l ment El ment Protocole de communication avec le thread serveur El ments pr requis Pas d l ment pr requis Difficult Comprendre le fonctionnement des socket en C et en Java Estimation du temps d impl mentation en heures difficult 2 soit 10h00 5 3 4 4 l ment El ment Logiciel de substitution El ments pr requis Pas d l ment pr requis Difficult Aucune Estimation du temps d impl mentation en heures difficult 1 soit 5h00 76 5 3 5 5 l ment El ment Thread serveur El ments pr requis Logiciel de
74. est l int gration de logiciel sous licence BSD dans les logiciels propri taires Voici une liste des principales licences libres adapt es au projet non virales parmi lesquelles une que nous choisirons dans le cadre de notre projet BSD License Berkeley software distribution license La licence BSD est une licence libre utilis e pour la distribution de logi ciels Elle permet de r utiliser tout ou partie du logiciel sans restriction qu il soit int gr dans un logiciel libre ou propri taire La licence BSD permet l utilisation commerciale dans des produits propri taires Les logiciels publi s selon les termes de cette licence peuvent tre incorpor s dans des solutions propri taires ou et commerciales 34 Les travaux bas s sur des l ments souslicence BSD peuvent m me tre publi s sous une licence propri taire qui doit toutefois respecter les clauses mentionn es dans la licence BSD Parmi les exemples notoires on peut citer l utilisation par Sun de code r seau sous BSD et des composants en prove nance de FreeBSD dans Mac OS X Le code sous licence BSD peut tre publi sous licence GPL sans le consen tement des auteurs originaux puisque les termes de la GPL respectent tous ceux de la licence BSD Par contre du code sous licence GPL ne peut pas tre mis sous licence BSD sans l autorisation des auteurs car la licence BSD ne respecte pas toutes les contraintes impos es par la licence GPL En publi
75. eut avertir par e mail les utilisateurs concern s par la mise jour d un fichier Les clients peuvent comparer les versions requ ter un historique complet des changements ou obtenir une photographie chronologique du projet partir d une date ou d un num ro de r vision Ils peuvent aussi utiliser la commande de mise jour afin de mettre jour leur copie locale vers la nouvelle version du serveur Cela limine le besoin de r p ter le t l chargement du projet en entier L une des autres fonctionnalit s tr s int ressantes de CVS est la mainte nance de diff rentes branches dans un projet C est dire que pour une instance de projet donn e une version peut former une branche s par e utilis e pour les fichier buggu s quand une autre version en train d tre d velopp e avec d importants changements et de nouvelles fonctionnalit s forme une branche s par e CVS utilise la compression de donn e spour un stockage plus efficace des diff rentes versions d un m me fichier L impl mentation favorise les fichiers avec de nombreuses lignes souvent les fichiers textes Limites Il existe aussi quelques limitations l utilisation de CVS 43 On remarque notamment que le d placement ou renommage des fichiers ou des r pertoires ne seront pas num rot s En effet cela va en l encontre du principe de gestion des versions en concurrence de CVS Heureusement CVS tant Open Sourc
76. fisant pour r pondre aux besoins qui nous ont t formul s L interpr teur aura deux fonctionnalit s principales traduire les re qu tes SQL en requ tes non SQL facilement interpr tables par le logi ciel serveur et modifier la structure des r sultats non SQL en r sultats SQL utilisable par l API ODBC M thode de conception L interpr teur de requ te SQL doit donc disposer d une premi re fonc tion de traitement de requ tes Cette fonction prend en param tre une requ te SQL arriv e par l API ODBC sous forme de SQL statement Elle doit d terminer si cette requ te est valide puis la convertir en re qu te non SQL sous forme d une liste de param tres qui sera envoy e l application serveur Une seconde fonction prenant en param tre les r sultats de l applica tion serveur apr s ex cution d une requ te aura pour r le de convertir les r sultats non SQL du serveur en r sultats SQL conformes l API ODBC Selon les besoins des fonctions de PAPI ODBC l interpr teur SQL de vra galement impl menter diff rentes fonctions permettant de donner des informations sur un r sultat SQL la taille le nombre de colonnes le nom des attributs la cl primaire Dans un premier temps nous nous contenterons de convertir les re qu tes SQL arriv es au niveau de PAPI ODBC en requ tes non SQL et de renvoyer des jeux de r sultats pr d finis L interpr teur SQL sera int gr au pilote
77. iciel afin que le pilote ODBC puisse facilement retrouver les informations Cette classe a une accessibilit restreinte au package L interface d exportation M thode de conception C est la seule classe publique du package Cette classe impl mente PAPI permettant le lien avec le reste de l application d une part et coordonne les diff rents l ments du package d autre part Elle doit donc disposer d une instance de chaque classe qu elle se chargera d initialiser La structure des donn es re ue au niveau de l APT reste d finir Pour une table de donn e celle ci peut se pr senter sous forme de tableau ou sous forme d une liste chain e de tuples L ex cutable d installation Au cours de notre tude sur ODBC nous avons remarqu que cette partie peut aussi bien tre r alis en Java qu en C ODBC tant natif C et la biblioth que odbcinst h tant facile utiliser nous proposons de r aliser ce module en C 106 Outils et biblioth ques utilis es Biblioth que ODBC odbcinst h M thode de conception Pour r aliser cette partie on pourra repartir de l outil d enregistre ment de pilote de GODBC Pour ce qui est de la cr ation d un DNS Internet regorge d exemples et de documentation sur laquelle il est possible de s appuyer A son ex cution le ex cutable d installation prendra comme para m tre la position du logiciel source de donn e Appel lors de l
78. il pourrait atteindre Nous tudierons ensuite les produits concurrents les solutions similaires d j existantes en citant pour chacun les logiciels qui les utilisent Nous chercherons galement anticiper les volutions possibles du mar ch afin de d terminer la viabilit long terme de la commercialisation du produit Lors de la d finition de la strat gie marketing nous tudierons tout d abord le co t de d veloppement du produit Cette partie contiendra galement un choix des modes de distribution les plus adapt s ainsi que diff rents services qui pourraient tre fournis en compl ment de notre produit Enfin nous proposerons diverses m thodes de commmunication 10 3 R flexion marketing sur l exploitation com merciale du projet On se basera sur les grandes tapes de la d marche marketing l tude de march et la d finition d une strat gie commerciale 10 3 1 tude de march L objectif de ce projet est d ajouter une fonctionnalit au logiciel d velopp par M GU RIN Plus pr cis ment nous devons r aliser un pilote capable d exporter ces donn es vers des outils de requ tes du march Busi ness Objects Cognos Access Excel Le pilote que nous produirons disposera d une interface qui rendra notre travail int grable non seulement au logiciel de M GUERIN mais galement 113 tout autre projet de d veloppement ayant besoin de pouvoir exporter des donn es ve
79. ill vers des documentations pertinentes Une autre possibilit pour trouver un soutien exp riment sur ODBC se rait de contacter les personnes ayant particip la cr ation des pilotes ODBC de logiciels open source tels que MySQL FireBird ou PostGre En disposant d un soutien suffisant nous pensons que le projet de pilote ODBC est tout fait r alisable Compl ter le pilote squelette Comme vu pr c demment les fonctions de API impl menter pour r a liser le corps du pilote ODBC peuvent tre particuli rement complexes La phase de r alisation du pilote doit passer par une tude du fonction nement interne d ODBC ainsi que des diff rentes notions ODBC Environ nement Handle Row Cursor Statement Ces connaissances sont n cessaires pour comprendre les param tres et les valeurs de retour de chaque fonction La documentation du MSDN sur ODBC et son API relativement bien construite devrait suffir pour ces recherches Si les informations du MSDN sont assez compl tes pour permettre une bonne compr hension de chaque fonction elles ne permettent pas de visuali ser la forme de leurs contenus Pour impl menter correctement une fonction nous opterions pour s inspirer de cette m me fonction crite d autres pilotes ODBC d j existants Une comparaison de l impl mentation des fonctions dans diff rents pilotes permettra de r aliser un code propre fiable et g rant un maximum d e
80. imposant comme une volution majeure apport e par Java 2 et ayant pour but de remplacer AWT Swing est plus l ger mieux structur et plus tendu que son anc tre Swing se d marque galement par sa portabilit et son apparence ind pendante de la plateforme Swing est tr s ancr dans le mod le MVC Cela lui permet entre autres de disposer d une apparence facilement modifiable et d tre parfaitement adapt au mod le Observer Observable 8 3 3 Conception Afin de pouvoir r aliser le dossier de conception nous devons d abord d finir la vue g n rale de l architecture du projet ainsi que la conception des diff rents l ments A Vue g n rale de l architecture du projet Les l ments formant le contexte du projet sont les suivants Le SGBD client L administrateur de source de donn es ODBC Le gestionnaire de pilote ODBC L application source de donn es laquelle il faut rajouter la fonction nalit d exportation au format CSV Nous ne d crirons pas ici ces l ments ici cela ayant d j t fait dans le dossier de conception voir FIG 8 3 Les l ments r aliser sont les suivants 102 LOGICIEL SERVEUR Logiciel de substitution OUTIL D EXPORTATIOH Base de donn es EXECUTABLE D IHSTALLATION Driver ODBC Administrateur ODBC SGBD CLIENT FIG 8 3 Sch ma de l ensemble fonctionnel 103 Le package d expor
81. ion des divers logiciels de gestion de don n es du commerce 4 1 1 Objectif L objectif de notre recherche tait de trouver un projet de Gateway ODBC JDBC Open Source utilisable dans un projet commercial Nos recherches se sont videmment faites par l interm diaire du Net Celles ci se sont r v l es particuli rement infructueuse Nous avons cepen dant pu mettre la main sur quelques drivers celui de EasySoft 23 une source sur SourceForge 24 59 le driver cr par Firebird 25 qui permet l origine de se connecter au SGBD propri taire de Firebird les drivers commerciaux de EasySoft 23 OpenAccess 26 et OpenLink 21 4 1 2 R sultat Il nous t particuli rement difficile de trouver des informations et des projets sur ce type de driver De plus aucun des drivers cit s pr c dement n a pu tre exploit En effet soit le driver est payant EasySoft Open Access OpenLink soit le projet de d veloppement du driver est mort dead project sur Source Forge ou bien inutilisable car trop complexe et trop peu comment driver de Firebird R capitulatif concernant ODBC JDBC Apr s avoir constat qu aucun des drivers permettant la connexion entre ODBC et JDBC n tait utilisable nous avons abandonn cette piste pour tudier d autres possiblit s 4 2 ODBC L autre solution que nous avons tudi e est l utilisation d un driver ODBC mais en
82. ique la plus utilis e en Java Division du travail en v nement m tier En s appuyant sur les contraintes expos es ci dessus voici les diff rentes actions que devra tre capable d effectuer le travail r alis 1 la demande du logiciel de M GU RIN l outil doit ouvrir une fe n tre disposant d une interface permettant l utilisateur de choisir les donn es exporter 2 L utilisateur cr une requ te simple Celle ci est analys e afin de d terminer les donn es extraire 3 Les donn es sont extraites et crites dans un fichier au format CSV 4 La fen tre de l outil se ferme et rend la main au reste du logiciel de M GU RIN Cette suite d action peut tre illustr e par un diagramme de cas d utili sation 8 3 2 Compl ment bibliographique Cette partie a pour r le d apporter des informations synth tiques utiles la conception de l exportateur 100 Logiciel source Outil d exportation de donn e Ouverture demande fen tre d exportation Traitement requ te Extraction donn es Formulation requ te Utilisateur Cr ation fichier CSY Reprend la main gt Fermeture outil Fic 8 2 Diagramme de cas d utilisation Fichier CSV Un fichier CSV Comma Separated Values un format non propri taire de fichier texte g n ralement enregistr avec l extension csv contenant des valeurs structur es la mani re d une table de donn es Chaque ligne du fichi
83. ir la communication Pour un driver permettant de se connecter une base de donn es la manipulation d installation se complique un peu Le syst me permettant de lier un driver un logiciel utilisant une base de donn es n existe pas forc ment Pour ne pas arranger les choses diff rents types de drivers peuvent tre utilis s pour r aliser une connexion sur un m me logiciel 25 Il est souvent n cessaire d indiquer manuellement chaque logiciel quel est le type du driver que l on souhaite utiliser o se situe celui ci et quel logiciel le driver doit se connecter 2 Une fois connect s les logiciels peuvent communiquer entre eux de la m me fa on qu avec un pilote mat riel 2 1 2 Les diff rents types de drivers tablissant une connexion avec un SGBD Il existe diff rents types de drivers permettant la communication entre des clients de bases de donn es et les SGBD du march Ces drivers se distinguent par leurs architectures leurs protocoles leurs interfaces leurs performances leurs caract ristiques d impl mentation ou encore par le nombre de logiciels auxquels ils sont capables de se connecter Pour r aliser notre projet nous avons du choisir celui qui nous a paru le plus adapt parmis la liste des drivers les plus courants ODBC JDBC OLE DB ADO Voici une br ve pr sentation des protocoles et la justification de notre choix Les drivers ODBC Le type de driver Open Data Base Co
84. it due la mauvaise casse appliqu e au fichier compil La r solution de ce probl me s est faite par le changement de nom du fichier compil 7 2 2 Probl me lors de la cr ation du DNS De nombreux probl mes se sont pos s nous lors des tentatives d instal lation du pilote depuis l administrateur ODBC Pour tenter de r soudre ces probl mes nous avons tent d utiliser plu sieurs solutions possibles 88 Recherche d informations la source Afin de pouvoir r soudre les probl mes de compilation que nous avons rencontr nous avons contact l auteur du pilote ODBC gr ce l adresse e mail fournie sur sa page Web Nous lui avons successivement envoy deux messages sur ce mod le Mr Vikash Agarwal I have already written you a message to ask you help about the development of an ODBC driver I have kept trying to make it working however the result is still the same Here is a copy of my previous mail After reading the article following article http www ddj com windows 184416434 pgno 1 I tried to use the GODBC d11 skeleton driver you provided I followed instructions of installation step by step The driver appears in the windows ODBC DNS administrator but an error occures when I try to create a new DNS I ask for your help to specify what is wrong Here is the translation of the error message occuring in French on my computer Installation routines of General ODBC Driver 0 ODBC dr
85. ituer 1 1 2 Personnes et organismes impliqu s Ce projet a t propos par M GUERIN Polytech Nantes pour tre trait dans le cadre des projets transversaux de 4 me ann e du d partement Informatique Nous sommes donc contributeurs du projet M NORMAND en tant que tuteur enseignant du projet transversal nous soutient et contr le notre travail M GUEDON galement enseignant Polytech Nantes sera pris comme tiers pour coordonner l valuation du travail effectu 1 1 3 Utilisateurs du produit La premi re finalit de cette brique logiciel est d tre int gr e au projet de M GU RIN Ce travail sera propos en libre t l chargement sur un site de centralisation de projet libre de droit tel que SourceForge net Notre projet sera donc d velopp dans l optique d tre rendu r utilisable 1 2 Contraintes sur le projet Les contraintes du projet permettent de cerner comment le produit final doit s int grer dans le monde r el Le produit doit notamment avoir s interfacer avec des logiciels d j pr sents Il doit aussi devoir tre pr t une date donn e 1 2 1 Contraintes non n gociables Cette section d crit les contraintes sur la mani re de satisfaire les exi gences qui influencent la conception finale du produit 11 Contraintes sur la conception de la solution Toutes les sources devront tre sauvegard es sur un d p t de type CVS SVN Le produit rendu sera sous la forme
86. iver are not reachable Please re do the installation of the ODBC driver Jusqu maintenant le destinataire n a apport aucune r ponse ces messages Cr ation manuelle d un DLL Apr s avoir rencontr ces nombreuses erreurs de compilation nous avons cherch mieux comprendre comment fonctionne un fichier DLL 89 Pour cela nous avons choisi de cr er par nos propres moyens une bi blioth que de fonctions en utilisant un compilateur de code source tel que Dev C Ce compilateur propose l option de cr er un fichier DLL en fournissant imm diatement un squelette permettant de r pondre la cr ation d un tel fichier Nous nous devons ensuite de compiler ce squelette par un ensemble de fonctions permettant de construire pleinement la biblioth que n cessaire La cr ation de ce fichier DLL ainsi que l tude des fonctions propos es par d faut par le compilateur nous a permis de v rifier que notre mani re de cr er et programmer un tel programme tait correcte Utilisation de points de contr le Une premi re solution nous permettant de comprendre l chec de l instal lation du driver est de constater l tat du comportement du pilote lorsqu on fait appel lui Pour cela nous utilisons des m thodes assez courantes qui permettent d une mani re relativement ais e de pister l utilisation des diff rentes par ties du programme fonctions conditionnelles multi conditionnele
87. le projet En revanche les codes sources des drivers ODBC trouv s sur Internet sont bien trop compliqu s et trop peu document s pour servir de base notre driver Pour ce qui est du protocole de communication nous utiliserons le pro tocole Socket plus simple et plus propre que la m thode utilisant DDE R capitulatif de la recherche de solution La recherche de solutions pour notre projet nous a permis d liminer plu sieurs pistes que nous pensions pourtant tre justes La solution nous semblant la plus pertinente est l utilisation d un driver ODBC C est ainsi que nous sommes pass s a la recherche d un driver de type ODBC cod en langage C 61 Chapitre 5 Dossier de conception Ce chapitre explicite la conception du pilote qu il nous est demand de r aliser ainsi que des diff rents composants n cessaires son fonctionnement Le projet sera abord par une vue d ensemble puis d coup en diff rentes tapes de conception Chaque tape sera trait plus en d tail dans les diff rentes parties de ce dossier Enfin nous estimerons le temps passer sur chaque tape et exposerons comment sera organis notre temps de travail 5 1 Vue g n rale de l architecture du projet FIG 5 1 Avant de rentrer dans les d tails de la conception nous commencerons par prendre le projet dans son ensemble Cette premi re analyse du probl me permet de d crire d une part les l ments existan
88. libre travaillant sur JDBC Changer le format TEXdes fiches hebdomadaires 141 Fiche de suivi Semaine du 10 au 14 d cembre 2007 Travail effectu R alisation de l bauche de l tude commerciale du projet R alisation du support informatique pour la soutenance orale Pr paration la soutenance orale Travail effectuer La soutenance concernant la bibliographie du projet transversal se d roulera le mardi 18 d cembre 10h00 en salle C008 en pr sence de MM Jean Pierre GU DON et Nicolas NORMAND Effectuer un test sur Excel d un driver JDBC 142 Fiche de suivi Semaine du 15 au 21 d cembre 2007 Travail effectu Soutenance orale de l tape Bibliographie et analyse des besoins du projet transversal en pr sence de MM Herv GUERIN Nicolas NOR MAND et Jean Pierre GU DON Entretien avec M Herv GUERIN afin de pr ciser les objectifs qui d buteront l tape Conception Travail effectuer Analyser un driver JDBC Effectuer un test sur Excel d un driver JDBC 143 Fiche de suivi Semaine du 07 au 11 janvier 2008 Travail effectu Installation d un driver ODBC MyODBC pour MySQL et test sous Excel pour se familiariser avec l interface ODBC Recherche d informations sur les drivers JDBC ODBC Demande d aide sp cifique sur les forums de deux sites d entraide de d veloppeurs CommentCaMarche net et Developpez ne
89. ll de nous renseigner sur la licence BSD qui semble tre la mieux adapt e notre projet Travail effectuer Prendre contact avec le tuteur entreprise afin d obtenir de plus amples informations sur son projet dans le but de r aliser une tude sur la Dimension commerciale et ou organisationnelle du projet Se renseigner sur la communaut travaillant sur les licences libres Fresh Meat SourceForge Se renseigner sur la communaut du libre travaillant sur JDBC 139 Fiche de suivi Semaine du 26 au 30 novembre 2007 Travail effectu Suite de la r alisation d une documentation sur les drivers mode de fonctionnement structure Approche des sites sur les licences libres FreshMeat SourceForge R union avec Jacques MORAUD et Dominique PECAUD en rapport en rapport avec l tude Dimension commerciale et ou organisationnelle du projet Prise de contact avec le tuteur entreprise afin d obtenir de plus amples informations sur son projet dans le but de r aliser cette tude R union avec Jacques MORAUD et Dominique PECAUD Demande de renseignements sur le travail rendre dans le cadre de P tude Dimension commerciale et ou organisationnelle du projet Avant le 14 d cembre doivent tre remis Jacques MOREAU une pr sentation rapide du projet et de l entreprise une page maximum ainsi qu une th matique que nous souhaitons d velopper Travail
90. n programmation risque de ne pas r ussir inclure ce produit dans son projet Exemple d utilisation du pilote Pour illustrer l utilit de notre produit nous prendrons pour exemple un logiciel d exp rimentation scientifique impl mentant ce dernier Un utilisa teur effectue une exp rience avec ce logiciel et obtient des r sultats qu il doit analyser Notre pilote lui offre la possibilit d importer ces r sultats depuis le logiciel d exp rimentation dans Excel outil avec lequel il pourra effectuer l analyse souhait e 114 Ce m me utilisateur r it re cette exp rience un tr s grand nombre de fois et obtient une liste de r sultats dans son logiciel d exp rimentation Il peut transf rer ces donn es dans une SGBD classique en se servant de notre pilote Il pourra alors utiliser les outils fournis par SQL pour traiter ces donn es Demande Cette partie permet la d finition du besoin cible et adaptation du pro duit la cible Actuellement les utilisateurs ne sont pas pr cis ment identifi s Nous pouvons tout de m me souligner que notre produit s adresse une client le avec les caract ristiques suivantes Le client d veloppe un logiciel Notre produit vise donc une client le ayant une exp rience en programmation Ce logiciel retourne des r sultats qu il faut analyser depuis un logciel de traitement de donn es ou stocker dans une SGBD Le cadre de cette utilisation est certainement p
91. n utilisation n a pas permis de r gler le probl me d acc s aux fonctions D claration de fonctions Apr s avoir v rifi la d finition de fonction nous nous sommes int ress s la d claration et la fa on d impl menter ces fonctions En effet afin de savoir comment d velopper d une mani re correcte et utiliser les fonctions qui nous sont propos es nous devons prendre suffisam ment de recul et avoir notre disposition des exemples de mani res diff rentes de programmer Pour cela nous avons t l charger et tudi d autres codes source de pilotes ODBC existants tels que PostGre et mySQL notamment en comparant le squelette de notre pilote avec le squelette de ces pilotes 92 Cette tude nous a permis de mieux cerner la difficult de programmation d une telle biblioth que DLL de fonctions Options de compilation En observant les m thodes de r alisation employ es dans la cr ation du squelette du pilote ODBC et galement en comparant avec d autres sque lettes de pilote ODBC nous avons pu d duire que le code source est fait de base avec Visual Studio Nous avons cherch savoir pourquoi la compilation de notre pilote se faisait diff remment sous l un ou l autre des compilateurs disponibles no tamment Dev C Visual Studio et Eclipse Nous avons d commencer par une tude des moyens de compilation d un tel programme recherche qui s est av r e tre relativement long
92. nce du produit Cette partie permet de sp cifier les contraintes pour faire sur le produit des modifications Il faut ainsi rendre chacun attentif aux besoins de main tenance du produit On pose donc que le syst me doit pouvoir tre maintenu par des d velop peurs qui ne sont pas les d veloppeurs d origine 1 4 5 Calcul des co ts Dans le cas de ce projet un calcul des co ts ne peut pas tre effectu car cette estimation se base notamment sur des fonctions qui sont inconnues ce stade d avancement du projet 1 4 6 Planning pr visionnel On tablit ici un calendrier de travail bas sur les d lais qui nous t donn s au d but du projet Ce projet se d roule du ler octobre au 30 juin raison de deux demi journ es par semaine par groupe de deux tudiants Le projet comporte trois tapes Chacune de ces tapes fait l objet d un rapport crit et d une soutenance orale 21 Bibliographie et analyse des besoins Des fiches de suivi de projet seront remplies chaque semaine Une note de 4 5 pages sera remise aux responsables avant le 26 octobre 2007 Le rapport crit sera remis le 7 d cembre 2007 La soutenance orale aura lieu le 18 d cembre 2007 Mod lisation Le rapport crit sera remis le 15 f vrier 2008 La soutenance aura lieu du 18 au 29 f vrier 2008 R alisation Le rapport crit sera remis le 23 mai 2008 La soutenance aura lieu du 26 au 29 mai 2008 1
93. ne analyse orient e objet du projet 15 Logiciel de traitement Driver de donn es Structure de donn es Se connecter Se connecter au driver la structure de donn es Adapter puis Z Allerg la transmettre la Los la requ te requ te requ te Utilisateur Traiter les Transmettre Envoyer les donn es les donn es donn es Fic 1 2 Diagramme de cas d utilisation Structure de donn es Driver Logiciel de traitement de donn es confirmerConnection void seConnecter void seConnecter void ex cuterRequ ted void adapterRequ ted void transmettreRequ ted void transmettreRequ ted void traiteDonn es void traiter Donn es void afficherDonn esd void Fic 1 3 Esquisse du diagramme de classes 16 Utilisateur Am 1 acc der Logiciel de traitement de donn es 2 formulerRequ ted P 1 1 seConnecter gt Driver 1 1 1 seConnecterd Structure de donn es i 1 1 1 1 confirmerConnexionQ 2 3 aficherDonn es 2 1 transmettreRequ te Pi 0 pH 2 1 2 transmettreRequ te 2 1 1 adapterRequ ted q21 3 transmettreDonn esd hb 2 2 traiterDonn esQ 3 seDeconnecterQ ia 2 1 2 2 envoyerDonn es Fic 1 4 Diagramme de s quences 17 i 2 1 ex cuterRequ ted A ce stade du projet ils ne p
94. nnectivity ODBC est le premier sur lequel nous nous sommes renseign s Ce type de driver d velopp par Microsoft a l avantage d tre un standard parmi les drivers Etant le plus ancien et le plus populaire des types pr sent s ici la quasi totalit des SGBD et des logiciels traitant des bases de donn es sont compatibles avec ce type de driver Nous avons cependant d rejeter ce type de driver car celui ci est d ve lopp en C et non en Java tel qu exig dans notre projet Une autre raison qui nous a fait carter ce driver est le fait qu un autre type de driver les dri vers JDBC jouit d une popularit bien plus importante dans la communaut du libre dans laquelle nous comptons trouver un driver Open Source 26 Les drivers OLE DB et ADO OLE DB et ADO sont des protocoles de communication entre application d velopp s par Microsoft dans le but de remplacer ODBC Nous ne nous sommes pas aussi longuement attard s sur ces deux types de drivers Si ceux ci sont plus r cents et plus performants que ODBC leur manque de popularit leur fait d faut Ils ne r unissent pas encore une communaut suffisante pour que l on puisse trouver une bonne documentation et un projet libre existant r pondant nos exigences Les drivers JDBC De part sa pr destination au langage Java le protocole JDBC 3 4 nous parait tre le plus int ressant Tr s similaire au type ODBC le type de driver JDBC est galement ca p
95. notice shall be included in all copies or substantial portions of the Software 36 R capitulatif sur les licences Dans le cadre de notre projet et selon les exigences fournies nous choi sirons donc l une des licnces non virales cit es ci dessus 2 3 Sites de d p t de projet Afin de pouvoir distribuer facilement le projet r alis nous devrons nous appuyer sur des sites de partages de projet A ce jour deux sites repr sentent la majorit des activit s de partage de projet SourceForge et FreshMeat Nous allons donner une description de ces deux sites afin de mieux les conna tre et ainsi de pouvoir choisir celui qui sera le plus m me de rece voir notre projet 2 3 1 SourceForge Description Sourceforge produit par VA Software et lanc en 1999 est un syst me de gestion de d veloppement de logiciel collectif et de gestion de version Il four nit une interface unifi e une s rie de logiciels serveur et int gre plusieurs applications source ouverte et ou libre notamment CVS SourceForge net est un site web h bergeant la gestion du d veloppement de logiciels source ouverte lui m me h berg par VA Software qui utilise une version du logiciel SourceForge Environ 160 000 projets sont h berg s sur le site beaucoup d entre eux tant dormants ou n impliquant qu un seul d veloppeur Actuellement environ 1 7 millions d utilisateurs sont enregis tr s Caract ristiques Ce site offre
96. nt capables de se connecter un tr s grand nombre de bases de donn es et d tre utilis s par des logiciels de traitement de requ tes tels qu Open Office nous n avons pas r ussi utiliser ce type de driver avec le module d importation de donn es d Excel Apr s quelques recherches nous avons compris que le driver JDBC bien que capable de se connecter un grand nombre de structures de donn es est surtout utilis dans le d velopement de logiciels n cessitant d importer des donn es Il semble difficile sinon impossible de l utiliser pour importer des donn es vers un grand nombre de logiciels d j existants tels qu Excel et Access Tout ce compl ment d information nous sera tr s utile car il sera r utilis lors de la recherche de solutions 58 Chapitre 4 Recherche de solution Apr s avoir rappel et introduit les notions bibliographiques inh rentes au projet nous nous lan ons d sormais une recherche approfondie de solu tions afin de pouvoir poursuivre notre projet 4 1 ODBC JDBC L une des solutions que nous avons tudi es est l utilisation d un type sp cial de driver ODBC permettant de connecter ODBC JDBC le Gateway ODBC JDBC L inter t d utiliser ce type de driver tait double Pouvoir nous connecter une source de donn es compatible avec JDBC Pouvoir connecter le driver en utilisant le connecteur ODBC pr sent dans les modules d importat
97. nt de vue du simple utilisateur les principaux changements lors du passage Subversion sont Les num ros de r vision sont d sormais globaux pour l ensemble du d p t et non plus par fichier chaque patch a un num ro de r vision unique quels que soient les fichiers touch s Il devient simple de se souvenir d une version particuli re d un projet en ne retenant qu un seul num ro svn rename ou svn move permet de renommer ou d placer un fi chier Les r pertoires et m ta donn es sont versionn s L une des particularit s de Subversion est qu il ne fait aucune distinction entre un label une branche et un r pertoire C est une simple convention de nommage pour ses utilisateurs Il devient ainsi tr s facile de comparer un label et une branche ou autre croisement De plus SVN dispose de tr s nombreues commandes suppl mentaires et beaucoup de logiciels annexes peuvent se greffer SVN Enfin otre l outil en ligne de commande plusieurs logiciels pourvus d interface graphique existent afin de donner de la convivialit SVN R capitulatif des gestionnaires de versions Actuellement diff rents syst mes existent mais seulement les deux pr c demment d taill s sont r ellement utilis s La mise en place d un tel syst me dans le cadre de notre projet transversal se fera dans les toutes prochaines semaines R capitulatif de l tude bibliographique Apr s avoir ras
98. nt la base de donn es communique via l interface ODBC et le logiciel important les donn es communique via l acc s JDBC Or Excel ne sait pas communiquer par le biais de JDBC et le logiciel de M GUERIN est d velopp en Java alors que le protocole ODBC est natif C 3 2 2 Gateway ODBC JDBC FIG 3 2 Au cours de nos recherches sur les bridges JOBC ODBC nous avons d couvert un type de driver r pondant exactement nos besoins pour le projet le Gateway ODBC JDBC Le Gateway ODBC JDBC est un driver ODBC crit en C et qui utilise JNI pour s interfacer et se mettre en relation avec des appels JDBC Ce type de driver impl mente l interface JDBC c t le logiciel contenant la base de donn es et l interface ODBC c t le logiciel demandant l importation de donn es Le Gateway ODBC JDBC serait donc une solution parfaitement adap t e notre projet Excel communique via l interface ODBC du driver La requ te ODBC est traduite en requ te JDBC par le driver Le logiciel de M GU RIN communique via l interface JDBC natif Java 54 ODBC Compliant Applications Single Tier JDBC Bridge Driver JDBC accessible Database FIG 3 2 Sch ma d un driver ODBC JDBC de type 1 21 99 SRE Machine Application native Application JAVA virtuelle JAVA C C Syst me d exploitation Fic 3 3 Sch ma de communications avec JNI 22 3 2 3 JNI FIG 3 3
99. o tamment des plates formes Windows avec odbc32 et de type UNIX avec iodbc pour Linux La technologie ODBC permet d interfacer de fa on standard une appli cation n importe quel serveur de bases de donn es pour peu que celui ci poss de un driver ODBC la quasi totalit des SGBD du march poss de un tel pilote 51 3 1 3 JDBC Tr s similaire au type ODBC le type de driver JDBC est galement capable de se connecter la grande majorit des SGBD du march Les drivers JDBC sont nativement cod s en Java ce qui les rend parti culi rement portables On notera tout de m me que les drivers JDBC ont le d savantage d tre moins bien pris en charge par Windows que les drivers ODBC S il est pos sible de lire une base de donn es Excel depuis un logiciel utilisant ODBC il est en revenche impossible de lire une base de donn es ext rieure depuis Excel Ce d saventage majeur rend ce type de driver inutilisable pour la r a lisation de notre projet R capitulatif des rappels bibliographiques Le rappel de ces notions de base nous permet de nous recentrer au niveau des drivers domaine principal de notre projet Le rappel de l tude de JDBC permet notamment de red finir les solu tions possibles r pondant notre projet 3 2 Compl ments d information Apr s avoir d fini les notions de base qui ont t abord es durant la phase de bibliographique nous allons d sormais introduire les nouveaux termes q
100. ogiciel nous lancerons ensuite une recherche de solution pour le projet Enfin nous pr senterons la conception de notre projet notamment l aide de sch mas 49 Chapitre 3 Compl ment de bibliographie Afin de recentrer les notions qui seront abord es tout au long de cette phase de conception ce chapitre nous pemettrera de rappeler les termes im portants qui ont t introduits dans la pr c dente phase de bibliographie ceci afin de pouvoir envisager sereinnement la poursuite de la phase de conception du projet 3 1 Rappels Nous allons tout d abord rappeler les diff rentes notions qui ont d j t abord es durant l tape de bibliographie et d analyse des besoins Trois d entre elles nous semblent tre les plus importantes les notions de drivers g n ral ODBC et JDBC 3 1 1 Driver Nous avions vu dans la partie bibliographique que le terme driver d signe g n ralement un ex cutable permettant un logiciel haut niveau de communiquer avec un p riph rique mat riel Cet ex cutable sert en quelque sorte de traducteur entre le logiciel et le p riph rique Si la d finition ci dessus est correcte pour la grande majorit des drivers elle ne s applique pas pour le terme driver tel que nous l entendrons dans ce rapport 90 Dans le cadre de ce projet le terme driver est utilis pour d signer un ex cutable permettant l change de donn es non pas entre une application et un
101. on totale des discussions entre chaque membre impliqu dans le projet transversal les tudiants le tuteur entre prise et le tuteur enseignant 1 2 2 Glossaire et conventions de d nomination Cette section va nous permettre de donner le sens des abr viations et des d nominations qui seront utilis es tout au long de ce rapport JDBC Java database connectivity ODBC Open database connectivity ADO ActiveX Data Object RMI Remote Method Invocation SGBD Syst me de Gestion de Bases de Donn es dans notre cas la struc ture de donn es coupl e au logiciel d exploitation 13 1 2 3 Faits et hypoth ses utiles Cette section va nous pemettre de d finir des faits influan ant le produit d velopper ainsi que des hypoth ses utiles pour la suite du projet Facteurs influan ant le produit Un premier facteur influan ant le produit est la non compatibilit de ODBC avec JAVA Pour contourner cet obstacle on peut utiliser JDBC construit sur le langage JAVA Hypoth ses faites par l quipe On consid rera que la structure de donn es sur laquelle notre driver tra vaillera sera existante et que nous pourrons l utiliser afin de stocker des donn es et de traiter des requ tes sur celles ci 1 3 Besoins fonctionnels Les exigences fonctionnelles constituent le sujet principal et la mati re fondamentale pour la cr ation du syst me Elles sont mesur es par des moyens concrets comme les valeurs de donn es la logique des
102. onctions afin d esp rer obtenir de meilleurs r sultats Nous avons constat que la d finition des fonctions devait s accompagner d une d finition suppl mentaire afin de rajouter des informations utiles la compilation puis l ex cution du pilote Ces informations sont contenues dans un fichier de d finition commun ment nomm fichier def L utilisation d un tel fichier est en fait une technique standard de Mi crosoft pour exporter les fonctions d un fichier DLL lors de l utilisation de cette biblioth que par injection notamment pour l utilisation que nous en faisons En effet pour que les fonctions soient reconnues elles doivent toutes tre d clar es dans un def Nous avons donc compil le pilote avec ce fichier mais la compilation s est av r e infructueuse Apr s avoir approfondi l tude d un tel mode de programmation nous avons d remplacer ce fichier def par une d claration de fonctions l int rieur m me de notre programme en compl ment l impl mentation de ces m mes fonctions Cette d finition de fonctions se fait en donnant le nom de la fonction ainsi que la taille des arguments qu elle prend en param tres Ainsi la fonction principale de notre pilote qui est appel e l ex cution se d clare de cette fa on pragma comment linker export SQLAllocEnv _SQLAllocEnv 4 Cette fa on de d finir des fonctions n est pas vidente au premier abord So
103. onfigurer les diff rents param tres du pilote une IHM guid e sera mise en place Tests de validit L installateur devra tre capable d installer de configurer et de d sins taller notre pilote ODBC 5 2 5 Tests d int grit et validation du projet Nous r aliserons une derni re s rie de tests finaux pour s assurer que l ensemble du projet fonctionne correctement Le pilote ODBC sera install par l ex cutable d installation sur diff rentes machines 74 Nous l utiliserons pour transf rer des tables de base de donn es g n r es par le logiciel de substitution depuis des fichiers CSV vers diff rents SGBD Nous v rifierons alors l int grit des donn es v hicul es Le pilote sera d sinstall par l ex cutable d installation Une fois ce test pass avec succ s nous pourrons consid rer notre produit comme valide R capitulatif de la conception des parties Apr s avoir d fini dans les grandes lignes les l ments que nous devrons cr er ainsi que leurs fonctionnalit s ainsi que ceux existants sur lesquels nous nous appuierons nous venons d sormais d crire plus en d tail chacun des l ments r aliser 5 3 Organisation du temps de travail Afin de pouvoir estimer le temps consacrer sur chacune des t ches nous nous appuierons sur un planning pr visionnel Ce genre de planning montre comment organiser notre temps l ordre dans lequel effectuer l
104. ou Linux on y trouve aussi des logiciels pour d autres OS comme Windows ainsi que des logiciels ferm s ou commerciaux Freshmeat appartient l Open Source Technology Group OSTG dirig par VA Software Caract ristiques Les programmeurs ont la possibilit d inscrire leurs projets et d indiquer l arriv e des mise jour tandis que les utilisateurs ont la possibilit de les t l charger et parfois de les noter ou de laisser des commentaires Une recherche des logiciels est possible selon plusieurs crit res domaine licence tat du projet environnement public vis syst me d exploitations pris en charge langage de programmation employ et langues disponibles La totalit de la base de donn es de Freshmeat concernant les r alisations logicielles est librement t l chargeable 2 3 3 Autres sites On peut remarquer que d autres sites de partage de projet informatiques existent ce jour tels que RubyForge Tigris org BountySource BerliOS JavaForge and GNU Savannah Mais ces moyens de partage restent assez peu utilis s dans le monde du d veloppement Etant donn que pour le d veloppement de notre driver nous avons besoin d une importante communaut permettant de nous aider dans notre travail nous ne continuerons pas nous int resser ces diff rents sites R capitulatif sur les sites de d p t On remarque que les deux sites SourceForge et FreshMeat sont tr s utili s s pour le par
105. pr s avoir tudi le co t de notre produit nous allons d terminer la fa on dont le produit sera distribu au client Ce type de distribution doit tre choisi pour permettre une vente simple et une r ception rapide Nous pouvons utiliser le mode de distribution classique achat par cour rier puis envoi du produit par courrier s curis 117 Mais ce moyen de distribution n est pas tr s moderne et suffisamment efficace Un autre type de distribution de notre produit pourrait tre la vente et le t l chargement en ligne de celui ci Ce mode de distribution a l avantage d tre plus efficace et plus int ressant pour le client Services compl mentaires Des services pourraient tre propos s en suppl ment l achat de notre produit Si notre client a des lacunes en informatique il risque fortement de ren contrer des difficult s impl menter notre produit Afin d viter cela on peut tout d abord proposer une aide l impl mentation payante Par la suite dans le cas o l utilisateur rencontrerait des probl mes avec notre produit un service de maintenance technique pourra tre mis sa dis potion afin d assurer le bon fonctionnement du produit Communication Afin de promouvoir notre produit nous devons choisir un bon mode de communication Lors de la pr c dente tude de march nous avons tabli que notre clien t le cible sera les SSII et les entreprises de d veloppement de
106. processus d cisionnels ou les algorithmes Ces exigences repr sentent les activit s que le produit doit assurer 1 3 1 tendue du travail La situation actuelle Le logiciel d velopp par M GU RIN sur lequel viendra se greffer notre travail est encore en cours de d veloppement Nous disposons cependant des informations suivantes pour pouvoir r ali ser notre driver Le logiciel permettra l utilisateur de saisir et de visualiser des donn es organis es hi rarchiquement Ces donn es seront stock es en m moire centrale sous forme de base de donn es non relationnelle Le logiciel sera interfa able avec le driver que nous devons cr er Il se chargera de lire les donn es en m moire centrale pour les envoyer au driver Nous n avons donc pas nous soucier de la structure de la base de donn es 14 Le logiciel est d velopp dans l optique d tre commercialis Le com posant que nous devons produire doit donc pouvoir tre int gr dans un projet commercial Le logiciel tournera exclusivement sous Windows XP Vista Les donn es r colt es via notre driver seront retransmises des syst mes de gestion de bases de donn es SGBD classiques ainsi que des outils de traitement de donn es Access Excel Business Object Cognos Oracle Ces outils pourront permettre aux utilisateurs du logiciel d velopp par M GUERIN d appliquer leurs propres algorithmes pour traiter et analyser
107. progiciels Ces entreprises surveillent les innovations dans le domaine de l informatique Pour les atteindre nous pourrons pr senter notre produit dans un article de magazine sp cialis dans le d veloppement informatique Lorsqu un d veloppeur est confront des difficult s il se dirige princi palement vers des moteurs de recherche Internet Une communication int ressante et efficace serait de faire appel des en treprises de r f rencement afin d tre mieux repr sent s sur ces moteurs de recherche L exposition la client le serait alors plus importante Un dernier moyen d atteindre les entreprises cibl es serait de les tenir inform es de l existence de notre produit de ses avantages et des services propos s 118 Conclusion L tude commerciale de notre produit nous a permis d tudier le march et de d finir une strat gie commerciale qui conviendrait la diffusion de notre produit Cette tude permettra donc d optimiser la vente de notre produit 119 Annexes 120 Etude bibliographique Objectif Ce document a pour but de faire le point un mois apr s le debut du projet transversal Vous y trouverez une introduction sur le travail demand une description de cette demande le d roulement du projet tape par tape ainsi qu une bibliographie Introduction Entrant dans le cadre du lancement d une nouvelle entreprise le projet qui nous a t confi a pour objectif la
108. r alisation d un outil informatique sur mesure La finalit de notre travail est le d veloppement d un driver permettant la communication entre un SGBD propri taire de notre tuteur entreprise et des SGBD classiques i e Access Gr ce un tel driver notre tuteur souhaite rendre son produit compatible avec les logiciels du march et de le publier aupr s de sa client le Description de la demande Le driver que nous fournirons doit utiliser l un des protocoles de commu nications mis disposition par la majorit des outils de requ te du march tel que ODBC OLE Les bases de cet outil pouvant tre longues a d velopper nous nous ap puierons sur un projet d ja existant dans le domaine du libre traitant des fichiers plats ou des structures de BD simples connues Apr s en avoir tu di les sources nous modifierons ce driver en substituant la couche de plus haut niveau traitant la structure de BD connue par une couche d interface facilement utilisable Si le projet avance correctement une tape suppl men 121 taire pourrait tre de finir la jonction entre le driver et le logiciel SGBD propri taire de notre tuteur d entreprise Le produit rendu sera sous la forme d un DLL inclure dans les sources du programme pour lequel il est destin Nous remettrons les sources com ment es du driver d velopp es en java sous Eclipse Nous y joindrons une documentation technique ainsi que la synth se de not
109. r sentent que les aspects m tiers gt de l application Le diagramme de cas permet de suivre les diff rentes utilisations qui ont lieu lorsque l utilisateur demande importer des donn es depuis la structure de donn es Le diagramme de classes met en vidence les diff rentes op rations effectu es par chaque logiciel Le diagramme de s quences d crit de mani re plus d taill e les inter actions entre chaque entit et donne une notion des p riodes durant lesquelles les logiciels sont actifs dans le processus 1 3 3 Exigences fonctionnelles et techniques Documentation sur les drivers Avant de commencer la recherche du driver nous commencerons par consistuer une documentation suffisante pour comprendre le fonctionnement d un driver Cette documentation contiendra des informations pr cises sur les types de driver pouvant tre utilis s dans notre projet Nous tudierons plus en d tail le type de driver adopt pour la suite du projet et en exposerons le fonctionnement et l architecture Recherche de driver Pour ne pas avoir r crire compl tement un driver nous partirons d un projet libre de droit d j existant Nous orienterons nos recherches sur les communaut s libres existantes sur Internet telles que SourceForge Le driver sera s lectionn selon les crit res suivants Le projet doit se rapprocher au maximum du n tre Le driver doit tre capable de se connecter aux
110. re recherche sur la li cence GNU Pour prouver la qualit de notre travail nous devrons montrer le bon fonctionnement et la simplicit d utilisation du driver sur des fichiers plats D roulement du projet Etape n 1 Bibliographie et analyse des besoins Du 1 octobre 2007 Au 7 d cembre 2007 Nous commencerons cette tape par l tude des diff rents protocoles de communication des SGBD et nous affinerons nos recherches sur le pro tocole candidat pour la suite du projet Nous rechercherons galement un driver existant facilement analysable et libre de droit Enfin nous produirons une documentation sur la licence GNU Toute autre documentation n cessaire pour la suite du projet sera bien entendu ajout e a la bibliographie Le travail rendu au terme de cette premi re tape comprendra le cahier des charges ci joint une bibliographie compl te un planning de gestion de projet des diagrammes UML d crivant de mani re g n rale le driver mo difier Etape n 2 Conception Du 8 d cembre 2007 Au 15 f vrier 2008 Cette partie a pour objectif de d finir pr cis ment le travail que nous effectuerons dans la tape de conception Cela passera par la mod li sation du probl me r soudre ainsi que des solutions choisies Ainsi nous d limiterons les parties n boites noires z du logiciel client et de la couche inf rieure du driver et nous mod liserons la couche faisant le lien entre ces derni
111. rendre l change de donn es plus long et plus compliqu pour lutilisateur En revenche elle permet de conserver des donn es sous forme de fichier importable dans n im porte quel SGBD Aussi cette solution techniquement simple ne pose pas de probl me de recouvrement de transaction qu il faudrait g rer avec un pi lote ODBC 8 3 D veloppement d une solution l exporta tion de donn es au format CSV Parmi toutes les solutions envisag es nous pensons que celle proposant la r alisation d un exportateur de donn es au format CSV la fois simple et efficace est la plus apropri e pour le futur du d veloppement du projet Nous allons donc nous int resser de plus pr s a celle ci en reprenant bri vement les diff rentes tapes de gestion d un projet c est dire de biblio graphie et de conception 98 8 3 1 Cahier des charges Nous ne referons pas ici une bibliographie compl te du projet celui ci restant sensiblement le m me Nous exposerons en revanche les notions nou velles et les changement importants dans le projet Objectifs L objectif du projet reste de permettre au logiciel de M GUERIN d chan ger des donn es avec un SGBD du march Cet objectif est atteint indirecte ment en ajoutant une fonctionnalit d exportation de donn e au format CSV ce logiciel Ce fichier pourra tre envoy un SGBD en utilisant un pilote ODBC d j existant Contraintes et besoins du projet
112. ript qui modifient les donn es avant de les traduire et de les envoyer au mat riel Compos s uniquement de fonctions haut niveau certains drivers font com pl tement abstraction de la partie mat rielle de la d finition ci dessus On pourra citer le c l bre PDFCreator qui en se faisant passer pour un driver imprimante convertit les fichiers Word au format PDF C est galement vrai pour les drivers permettant de se connecter des bases de donn es tels que les drivers ODBC Ceux ci se connectent d une part sur un SGBD ou un logiciel de traitement de donn es et d autre part sur un logiciel utilisant une base de donn e ou directement sur un fichier de donn es Leur r le est cependant le m me que celui des drivers mat riels il sert de traducteur entre les deux l ments connecter Comment fonctionne un driver Pris en charge par les syst mes d exploitation les drivers mat riels sont faciles installer A son d marrage le syst me d exploitation r f rence tous les nouveaux p riph riques connect s l ordinateur Un programme d installation fourni par le constructeur du mat riel permet alors de lier cette r f rence avec le driver appropri Le syst me d exploitation garde galement en m moire la localisation de chaque driver Par la suite chaque fois qu un logiciel aura besoin d utiliser ce mat riel le syst me d exploitation lui indiquera le driver associ lancer pour tabl
113. rofessionnel Les SEII et les entreprises de d veloppement de progiciels sont donc clients potentiels de ce produit Les progiciels qui en ont le plus besoin produisent un grand nombre de donn es sur lesquelles on pourrait souhaiter travailler tels que les logiciels de comptabilit d aide a la d cision d analyses m dicales Ce produit pourrait donc rentrer dans la conception de bon nombre de logiciels Ce produit n est cependant pas un produit d achat courant On estimera 10 le nombre de ventes par an Environnement Concurrents notre produit Actuellement sur le march il existe plusieurs pilotes r alisant le transfert de donn es de la m me mani re que notre produit Chacun de ces pilotes peut tre achet en ligne le plus souvent un prix variant entre 500 et 1200 Notamment on trouvera les pilotes de EasySoft et de OpenLinkSoftware 115 D marcation de notre produit par rapport la concurrence Notre produit aurait l avantage d tre relativement simple assez pur et s rement plus faible co t que ses concurrents Faiblesses de notre produit par rapport la concurrence Notre produit a le d savantage d tre moins complet Anticipation de l volution du march La concurrence n voluera s rement pas Nous pourrons peut tre constater apparition de nouveaux pilotes bas s sur la technologie ODBC mais qui auront toujours les m mes caract ris tiques que ceux pr
114. rs des outils de requ tes Offre Pr sentation du projet Le produit que nous r alisons est con u pour tre int gr dans un logiciel au cours de son d veloppement afin d y ajouter une fonctionnalit Une fois correctement implant et install il permettra des outils de trai tement d information Excel Access ou des SGBD Oracle mySQL de r cup rer des donn es depuis ce logiciel Forces Sans rentrer dans des d tails techniques nous pouvons souligner que l in terface utilis e pour changer ces informations ODBC est un standard Mi crosoft utilis par la grande majorit des SGBD et des outils de traitement d information du march Un logiciel utilisant notre produit pourra donc partager ces informations avec une importante panoplie d outils Notre produit sera capable de s adapter tout type de source de don n es relationnel ou non L utilisateur ne sera donc pas oblig de repenser sa structure de donn es pour impl menter ce produit Le pilote sera capable de faire transiter de lourdes quantit s d informa tions interpr tables par les SGBD sous forme de tables Notre produit impl mentera une interface qui la rendra simple inclure dans un logiciel en d veloppement Faiblesses Notre pilote impl mentera un interpr teur SQL simple qui offrira un choix des donn es a importer limit Malrg la mise disposition d une API simple une personne s y connais sant peu e
115. s boucles Nous pouvons y arriver en ins rant des points de contr le quelques points strat giques du programme notamment l entr e de chacune de ses fonctions Premi rement chaque point de contr le nous choisissons d crire dans un fichier texte que l on appelle commun ment fichier de log un message contenant par exemple une description de ce point de contr le Cette m thode est plus int ressante lorsque ceux ci sont nombreux ou que leur ordre est important Deuxi mement chaque point de contr le nous choisissons d afficher une bo te de dialogue contenant par exemple une description de ce point de contr le Cette m thode est plus int ressante lorsque ceux ci sont peu nom breux Cela permet de suivre l ensemble des points de contr le travers s par l ex cution du programme et donc de d terminer les fonctions qui sont appel es et celles qui ne le sont pas Dans notre cas nous constatons qu aucune fonction si ce n est la fonction 90 principale D11Main n est appel e Compilation sous un autre IDE tant donn que la compilation sous Dev C se d roule sans encombre nous nous permettons de penser que le compilateur pourrait tre en cause lors de l chec de l importation du pilote depuis l administrateur ODBC En effet de nombreuses options de compilation qui doivent tre choisies dans le logiciel laissent penser que le pilote compil ne serait pas compil
116. s nous trouvons plus prudent de r implanter un pilote test que l on sait fonctionnel La cr ation du DNS effectu e pendant l installation du logiciel indi quera au pilote la position du dossier contenant les fichiers CSV Ainsi l utilisateur n aura ni toucher l administrateur ODBC ni a s occu per de la localisation des fichiers CSV export s Le logiciel de substitution Le logiciel de M GUERIN tant encore en cours de d veloppement un logiciel de substitution devra tre r alis Celui ci disposera d une base 104 Extracteur de donn es Convertisseur ExeRequete Requete TabDonnees 0 Cr erCSY TabDonnees Fichier CSV 4PI0 initialiserExportation cloreExportation Fic 8 4 Diagramme de classes de donn es qui sera envoy l outil d exportation par l interface de ce dernier B Conception des diff rents l ments Nous n tudierons ici pas toutes les parties en d tail comme cela avait pu tre effectu lors du dossier de conception Nous voquerons seulement les outils utilis s et les m thodes mises en uvre pour chaque partie Package d exportation de donn es FIG 8 4 M thode de conception Le package d exportation qui sera implant dans le logiciel source de donn e doit enti rement tre crit en Java Chaque partie d crite pr c demment composant ce bloc constituera un objet du package Interface utilisateur constit
117. s un projet M thode de conception Ce logiciel chargera en m moire centrale des donn es provenant d un fichier CSV organis es sous forme de listes de structures avec Une liste correspondra une table Le 1 l ment de la liste correspondra au nom des attributs Tout autre l ment de la liste correspondra un t uple de la table 5 2 3 Le thread serveur FIG 5 4 Outils et biblioth ques utilis es Classes de Socket en java InetAdress et Socket dans java net Classe g rant les threads en java thread du package java lang Fonctionnalit s du module Pour acc der la base de donn es le pilote ODBC doit faire appel au logiciel serveur 71 LogicielSubstitution charger CSV FichierCsv Leas oh APIThread See Lonuns Be FonctionAPI1 FonctionAPI2 ThreadClient attendre connexion executer requete requeteNonSQL lire bdd NomTable resultatNonSQL erreur conflit Fic 5 4 Diagramme UML de classes pour le thread serveur 72 Comme vu pr c demment la communication entre le pilote et le lo giciel serveur sera effectu e par le biais d un protocole de type Socket TCP L inconv nient majeur de cette solution est que pour esp rer ta blir une connexion le logiciel serveur doit rester en tat d attente de connexion Pour palier ce probl me d tat paralysant la solution adopt e est de lancer un thread d
118. sembl une partie des connaissances dont nous aurons be soin pour la suite de notre projet nous serons m me de mieux comprendre 45 comment r soudre les probl mes auxquels nous serons confront s Cependant cette bibliographie reste tr s incompl te en particulier cause du probl me du choix de driver cf conclusion du document sur les drivers Nous la compl terons donc dans la suite du projet 46 R capitulatif Malgr que l tude bibliographique du domaine soit incompl te nous avons gr ce cette tude et l analyse des besoins pu d finir les exigences primaires du projet transversal Toutes ces d finitions et ces besoins seront utiles et n cessaires pour la continuation de notre projet et l tape suivre 47 Deuxi me partie Mod lisation 48 Apr s avoir r alis une approche bibliographique et une analyse des be soins de notre projet nous allons d sormais nous attaquer la conception de celui ci L objectif est de proposer l architecture g n rale et d taill e du logiciel en s appuyant sur les besoins consign s dans le cahier des charges et en mo d lisant le probl me l aide de formalismes adapt s Afin de recentrer les notions qui seront abord es tout au long de cette phase de conception nous rappellerons tout d abord les termes importants qui ont t introduits dans la pr c dente phase de bibliographie Pour permettre la mod lisation de notre l
119. sent s derni rement En revanche la technologie ODBC permettant l change d informations l aide de notre produit risque de se voir remplacer par une autre plus mo derne On notera les tentatives de Microsoft de remplacer cette technologie par une plus r cente telle que OLE DB ou ADO Une autre menace pour notre produit serait l arriv e dans le domaine du libre d un produit au r le similaire ce qui d clencherait une migration de clients vers ce nouveau produit Un moyen de contrer cette volution serait de proposer des services effi caces d accompagnement et d aide la maintenance 10 3 2 Strat gie commerciale Cette partie va nous permettre de d finir la strat gie commerciale a res pecter lors de la mise sur le march de notre produit Cette strat gie commerciale prend en compte un maximum de param tres sur le march du produit vendre afin de nous mettre en ad quation avec les exigences explicites ou implicites du march sur lequel nous agissons Avant toute chose afin de pouvoir lancer la commercialisation du produit nous avons besoin de d terminer le co t de notre produit Une fois le prix connu nous aurons besoin de choisir un ou plusieurs types de distribution permettant la vente de notre produit la plus en ad quation avec la client le cibl e 116 La politique de communication la publicit la promotion et l organisa tion de la vente des produits repr sentent une grande parti
120. serveur logiciel de Mr Gu rin Il dispose d une base de donn es en m moire centrale laquelle nous souhaitons avoir acc s Nous devrons par la suite ajouter des fonctionnalit s ce logiciel pour le rendre accessible au pilote 5 1 2 Modules impl menter FIG 5 2 Le pilote ODBC Le centre de notre conception r side en l impl mentation du pilote ODBC On peut d couper le pilote en trois parties distinctes L interface ODBC elle consiste en l impl mentation des fonctions de l API ODBC 64 Pilote Thread Exec ODBC serveur Installation rl 1 I l I Utilisateur I I f I 1 I I 1 1 I 1 I Installation driver demande _y le importation retour r sultats SQL D sins tallation driver Fic 5 2 Diagramme UML de s quences 65 Elle permet d tablir la communication entre notre pilote et le driver manager Elle est galement n cessaire pour que le pilote puisse tre reconnu par le syst me d exploitation L interpr teur de requ tes il doit pouvoir traiter les requ tes SQL transmises par le SGBD client et les transformer en requ tes non SQL facile et rapide analyser N ayant pu trouver d interpr teur SQL il nous faudra r aliser notre propre interpr teur de requ tes Celui ci devra au minimum tre ca pable de g rer des requ tes simples de la forme SELECT FROM Table Un protocole de communication ave
121. ssant les objectifs et les besoins le concernant Ensuite nous exposerons le travail effectu durant cette phase de r ali sation et tenterons de d crire pr cis ment les erreurs auxquelles nous f mes confront s Enfin nous pr senterons les solutions possibles et envisager afin de r pondre la finalit du projet Une conclusion ach vera cette phase et servira galement de conclusion g n rale au projet Nous avons ici choisi de ne pas r aliser de calendrier de travail effective ment r alis tout au long du projet tant donn que celui ne comporterait que trop peu d informations r ellement susceptibles de nous int resser De m me r aliser des tests ce stade du projet ne nous serait d aucune utilit car ils servent avant tout v rifier le logiciel 81 Chapitre 6 Notre projet et ses objectifs Cette premi re partie va nous permettre de reprendre les grandes tapes d avancement de notre projet transversal Nous exposerons galement les r sultats que nous souhaitons atteindre avec ce projet 6 1 Rappel du travail pr c demment effectu Le travail r alis jusqu maintenant dans le cadre de notre projet s est fait en deux tapes l tude bibliographique et la phase de conception Nous allons reprendre les points importants de ces deux parties 6 1 1 tape Bibliographie amp Analyse des besoins Durant cette premi re phase nous avons pu tudier les plus importantes
122. sse ou tol rance un emploi erron Les circonstances anormales de fonctionnement peuvent quasiment tre consid r es comme normales Les produits ont une ampleur et une com plexit telles qu il y a de fortes chances qu un moment ou un autre un composant ne fonctionnera pas correctement Les exigences de robustesse servent viter un panne compl te du pro duit La robustesse sp cifie l aptitude du produit fonctionner quand il est soumis des circonstances anormales de fonctionnement Notre logiciel ne traitera pas les cas particuliers de panne ou de dysfonc tionnement des logiciels avec lesquels il collabore Nous tiendrons cependant informer l utilisateur dans la mesure du possible des op rations s tant execut es anormalement afin que celui ci puisse corriger l erreur et relancer l ex cution 20 Capacit de stockage et mont e en charge Cette section sp cifie les volumes que le produit doit tre capable de traiter et la quantit d information qu il doit pouvoir stocker Nous n aurons pas g rer la capacit des donn es que pourrait traiter notre driver Nous essayerons tout de m me d en fixer les limites et de pro t ger le driver des d passements de capacit Le driver sert d interm diaire entre les logiciel mais ne stocke pas d infor mation long terme Il faudra cependant s assurer que le produit est capable de traiter les volumes attendus 1 4 4 Maintena
123. t Travail effectuer D terminer pr cis ment une solution pour r aliser l exportation de don n es vers les SGBD Commencer l analyse d un driver open source 144 Fiche de suivi Semaine du 14 au 18 janvier 2008 Travail effectu Poursuite de la recherche d informations concernant les drivers JDBC ODBC sur les sites suivants http www developpez net http www cppfrance com http msdn2 microsoft com en us default aspx Mise en ligne de demandes sur les forums de sites d entraide de d ve loppeurs pour l instant peu d informations nous parviennent Travail a effectuer Approfondir la recherche d informations sur les drivers JDBC et ODBC Chercher d terminer une solution afin de r aliser l exportation de donn es vers les SGBD Commencer l analyse d un driver open source 145 Fiche de suivi Semaine du 21 au 25 janvier 2008 Travail effectu Lors de nos recherches d informations sur les drivers JDBC et ODBC nous avons pris Connaissance d un terme pouvant d crire la communi cation d un driver ODBC vers JDBC ODBC to JDBC Gateway Nous avons trouv plusieurs drivers qui pourraient nous aider mieux comprendre une telle architecture depuis FreshMeat EasySoft OpenLink Software et Basis qui sont dot s d une licence propri taire avec d monstration de quelques jours gratuite depuis SourceForge le seul projet
124. t faq newsletter about stats scoop 03 33 PDT Search for linlprojects Section Main login 52 DS register recover password Arno s IPTABLES Firewall Script 1 8 8 by amo Fri Dec 7th 2007 01 22 PDT Take me to a random project About Arno s IPTABLES Firewall Script is a secure stateful firewall for both single and multi horned machines It supports NAT and SNAT port forwarding ADSL ethernet Dec 07 2007 wi modems with both static and dynamically assigned IPs MAC address filtering stealth next port scan detection DMZ and DMZ 2 LAN forwarding protection against SYN ICMP flooding and extensive user definable logging with rate limiting to prevent log flooding Username t has plugin support to add extra features like SSH Brute Force protection and Racoon IPSEC support It is easy to configure and highly customizable A filter script Password hat makes your firewall log more readable is also included Changes Antispoof for the DMZ and INTERNAL networks are now only enabled when Remember me INT_IF and DMZ_IF are set The DEFAULT_POLICY_DROP option was added to allow users to disable setting the iptables default policy to DROP An invalid rule for UDP was Login fixed 4 minor bug in the NAT forwards was fixed the FORWARD rule was missing the host destination PLUGIN_CONF_PATH was added to the plugin code Minor cosmetic Please note that you
125. tage de projets informatiques Ces deux moyens de gestion de projet en ligne sont tr s appr ci s notamment en raison de leur gratuit ils sont ainsi accessibles tous Ils permettent de facilement r aliser des projets libres ceux ci tant faits avec des quipes de d veloppeurs form s sur inter net 40 Ce syst me de gestion des versions utilis CVS est tr s int ressant car il permet d acc der aux donn es partag es et ceci depuis n importe quel PC Les projets sont ainsi facilement modifables et permet une gestion tr s simple de l volution des versions du projet au cours du temps 2 4 Gestion des versions Afin de pouvoir distribuer facilement le projet r alis nous avons tudi les diff rents sites de partages de projet Mais lorsque plusieurs personnes travaillent en collaboration et parfois en m me temps sur un m me projet il est important de pouvoir g rer les conflits entre les modifications du projet et les diff rentes versions du logiciel en d coulant Afin de pouvoir g rer ces nombreux conflits nous allons devoir utiliser un logiciel de gestion de version Ces logiciels ou utilitaires g rent les mises jour conflictuelles en vitant le risque de perdre des donn es Nous allons d tailler le principe de deux principaux syst mes de gestion de version CVS et SVN 2 4 1 CVS Nous allons d crire le syst me de gestion de versions CVS 19 Description CVS acronyme de Con
126. tation de donn es L impl mentation de cet l ment repr sente la plus grande partie de la r alisation du projet Ce package a diverses fonctionnalit s permettant d aboutir l exportation de donn es au format CSV Il se d coupe naturellement en quatres parties ayant chacune un r le pr cis L interface utilisateur constituant la vue du projet Sa r alisation passera par la cr ation d une IHM aussi simple que possible pour l utilisateur Cette partie est galement charg e de r agir aux actions de l utilisateur L extracteur de donn es Il a pour r le de r cup rer la requ te pseudo SQL simple envoy e par l utilisateur Apr s l avoir analys e il doit s lectionner et ren voyer les donn es correspondantes Le convertisseur de donn es Cet l ment doit tre capable de convertir les donn es extraites sous forme de fichier CSV et de l enregistrer dans un dossier L interface d exportation Compos essentiellement des fonctions interfa ant notre projet avec le reste du programme cet objet devra galement se char ger de l initialisation et de la cl ture de chaque exportation L ex cutable d installation Cet outil doit tre utilis lors de lVinstallation du logiciel source de donn es et a pour r le d automatiser l installation du pilote ODBC et la cr ation de son DNS Bien que le pilote ODBC permettant l importation de fichier CSV soit pr sent sur toutes les plateformes Window
127. techniques qu un responsable de projet doit savoir prendre en compte Permettre la mise en oeuvre d une r flexion de gestion en r el dans le cadre d une situation concr te le projet r alis dans le d partement INFORMATIQUE en s appuyant sur les acquis enseign s dans les dif f rentes disciplines de gestion analyse organisationnelle informatique et entreprise d une part et marketing d autre part 10 2 Pr sentation Dans le cadre d un projet en collaboration avec une entreprise effectu Polytech Nantes nous devons tudier et d velopper un outil appel pi lote gt permettant des logiciels tels qu Excel et Access d acc der aux don n es d un logiciel dans lequel cet outil est implant Ce travail a t r alis pour M GUERIN qui souhaite le r utiliser pour concevoir un logiciel dans le cadre du lancement d une start up Le produit de notre travail sera rendu libre la fin de notre projet Malgr cela nous avons r aliser une tude marketing sur ce dernier comme s il avait 112 du tre commercialis La probl matique Quelle serait la place du pilote que nous devons r aliser sur le march de l informatique Le rapport suivant est compos d une br ve tude de march suivie de propositions en strat gie marketing Dans l tude de march nous d finirons clairement l int r t de notre pi lote et d terminerons alors la client le potentielle qu
128. tien du 13 11 2007 Nous nous sommes mis d accord sur les types de drivers que nous pour rions utiliser pour la suite du projet Nous avons vu plus en d tail les besoins du tuteur entreprise Au cours de cette r union il a t convenu que des documentations sur les li cences Open Source et sur les drivers devraient tre r alis es et pr sen t es dans la bibliographie Pour finir cette r union nous avons pris conseil aupr s de notre tuteur entreprise pour savoir comment aborder la recherche d un driver Open Source Travail effectuer Objectif faire une documentation sur les licences Open Source Commencer une documentation sur les drivers mode de fonctionne ment structure Se renseigner sur la communaut du libre travaillant sur JDBC 138 Fiche de suivi Semaine du 19 au 23 novembre 2007 Travail effectu Prise de contact avec notre tuteur enseignant R alisation d une documentation sur les licences libres D but de la r alisation d une documentation sur les drivers mode de fonctionnement structure Contact avec M NORMAND en pr sence de M RICORDEL Demande de renseignements sur le travail rendre dans le cadre de P tude Dimension commerciale et ou organisationnelle du projet Demande de renseignements sur les communaut s du libre existantes ainsi que sur les licences M RICORDEL pr sent lors de cette entretien nous a consei
129. titution 5 Thread serveur 25 Fic 5 5 Planning pr visionnel de la phase de r alisation Ex cutable d installation 15 Total 100 Il nous permettra d estimer avec une relative pr cision les dates auxquelles nous devrons nous conformer lors de la r alisation du projet R capitulatif du dossier de conception Ce chapitre de conception nous a permis de mieux comprendre les diff rentes parties logicielles et ou mat rielles entrant en jeu dans le projet 78 R capitulatif La description de la mod lisation du projet nous permet de rendre plus concret et de joindre l ensemble des informations recueillies et des choix r alis s depuis la fin de la phase de bibliographie Cette phase de conception nous a permis de d finir le logiciel ceci nous permettant de nous pr parer l impl mentation de celui ci durant la pro chaine tape 79 Troisi me partie R alisation 80 Apr s avoir r alis une approche bibliographique et une analyse des be soins de notre projet ainsi qu apr s avoir tudi la conception et la mod li sation de notre projet nous allons maintenant exposer l tape de r alisation de celui ci L objectif est d impl menter et d effectuer la mise en place du code infor matique en s appuyant sur la mod lisation d cid e l tape pr c dente Nous rappellerons tout d abord les bases du projet en red fini
130. ts sur lesquels nous nous appuierons et de d finir d autre part les l ments que nous devrons cr er ainsi que leurs fonctionnalit s 5 1 1 Contexte du projet Pour r aliser la conception de ce projet nous nous appuierons sur diff rents l ments existants 62 a Memoire centrale 7 LOGICIEL SERVEUR Logicid de substitution DRIVER ODBC Protocole de communication y Environnement d installation a EXECUTABLE Interpr teur de requ tes D INSTALLATION APT ODBC SGBD CLIENT Fic 5 1 Sch ma g n ral repr sentant l architecture du projet 63 Le SGBD client C est l application dans laquelle on veut importer des donn es Elle doit impl menter un module d importation utilisant API ODBC L administrateur de sources de donn es ODBC Il permet de visualiser tous les pilotes ODBC connus par le syst me d exploitation Pour chaque pilote il offre la possibilit de configurer la position de la source de donn es sur laquelle on souhaite se connecter ainsi que diff rents param tres Le gestionnaire de pilote ODBC driver manager Lorsque des informations doivent tre chang es entre un pilote et un SGBD client celles ci transitent par le driver manager Ce dernier pr traite les informations et en v rifie la validit avant de les relayer leur destinataire Le driver manager a aussi pour r le de charger le bon pilote lors d une demande de connexion Le logiciel
131. tudiant en priorit une source d ja disponible sur Internet 4 2 1 Objectif Notre objectif en tudiant puis en utilisant ce type de driver tait de pou voir comprendre le fonctionnement d un driver ODBC pour ensuite r utiliser tout ou une partie du code trouv Nos recherches se sont galement faites par l interm diaire du Net Nous y avons trouv plusieurs drivers qui correspondaient nos attentes le connecteur ODBC MySQL de iODBC 27 le driver MySQL original 28 60 Nous avons galement tudi le SDK ODBC 29 et le site MSDN 30 de Microsoft Pour r aliser la communication entre un driver ODBC et une application Java nous sommes reinseign s sur les protocoles de communication entre des applications C et Java 4 2 2 R sultat L tude des drivers et des aides fournies par Microsoft nous ont permis de mieux comprendre le fonctionnement d un driver ODBC Pour r aliser la communication entre le driver C et un logiciel Java nous avons pu choisir entre deux solutions Effectuer la communication par le biai de DDE Dynamic Data Ex change une interface de communication entre programme C et utiliser JNI pour implanter DDE cot application Java Utiliser un protocole r seau de type Socket pour tablir la communica tion entre les deux applications R capitulatif concernant ODBC L tude du SDK de Microsoft et du site MSDN nous semble tre la piste privil gier pour pousuivre
132. uant la vue du projet Outils et biblioth ques utilis es Biblioth que graphique Java Classes du package javax swing M thode de conception Pour rendre la construction de requ te simple et pour viter les re qu tes invalides celle ci doit tre particuli rement guid e L interface sera compos e de blocs mis jour automatiquement permettant l utilisateur de s lectionner une table un ou plusieurs attributs dans cette derni re puis de poser une ou plusieurs contraintes simples 105 Afin de r aliser une interface dynamique cette partie sera impl men t e selon le mod le MVC en choisissant comme mod le la requ te et comme vue l interface Swing Cette classe a une accessibilit res treinte au package Extracteur de donn es M thode de conception Cet objet ne pose aucune difficult particuli re Le choix du type de structure de donn es envoy e l outil d exportation est n anmoins n cessaire pour r aliser cette partie Cette classe a une accessibilit restreinte au package Convertisseur de donn es Outils et biblioth ques utilis es Classes de lecture criture de fichiers Classes du package java io File M thode de conception Cet objet doit simplement cr er les fichiers au format csv avec les donn es transmises par l extracteur de donn es Apr s quoi le fichier doit tre enregistr dans un r pertoire pr d fini fixe et relatif la position du log
133. ue Nous avons tout d abord tudi plus pr cis ment les informations don n es par le cr ateur du pilote ODBC sur sa page Internet Il pr cise que les fonctions d clar es doivent tre la norme stdcall Apr s v rification nous pouvons constater que cette norme est pourtant bien activ e lors de la compilation Nous avons ensuite recherch de plus pr cises informations dans les ma kefile fichiers de compilation automatique des pilotes pr c demment cit s L tude de ces fichiers tr s peu comment s et extr ment difficiles com prendre s est faite tr s difficilement R capitulatif des r sultats obtenus Cette suite d tudes et de v rifications d erreurs nous a permis de mieux comprendre la cr ation d un tel pilote Ce processus correspond en fait l volution de la r alisation de notre pilote 93 Chapitre 8 Solutions envisag es Suite aux probl mes rencontr s sur une tape aussi critique que celle de la r utilisation du pilote squelette notre projet s est sold par un chec Nous souhaitons n anmoins que cette exp rience ainsi que les connaissances ac quises tout au long du projet puissent aider la prise de d cision quant au futur du d veloppement du logiciel de M GUERIN 8 1 C t contraignant d ODBC Nous allons maintenant expliquer la technologie choisie qui est ODBC ne peut finalement pas r soudre notre projet 8 1 1 Un manque d informations La m
134. ue nous avons pu aborder tout au long de cette phase de conception les diff rents moyens de connexion entre ODBC et JDBC ainsi que JNI 3 2 1 Bridge JDBC ODBC Fic 3 1 En continuant nos recherches sur les drivers utilisant le protocole JDBC d velopp par SUN nous avons d couvert que ceux ci se d composent en quatre familles distinctes disposant d architectures diff rentes 52 Calling Java Application JDBC Driver Manager JDBC ODBC Bridge Type 1 Driver ODBC driver Fic 3 1 Sch ma d un pont JDBC ODBC 6 93 L une d entre elles nous a particuli rement attir notre attention le bridge JDBC ODBC Ce driver acc de la base de donn es en passant par l interm diaire du protocole ODBC Les appels formul s par le logiciel de requ tes utilisant le protocole JDBC sont alors convertis en appels ODBC avant d tre envoy s au SGBD ici la structure de donn es dont on veut exporter les donn es De m me les donn es renvoy es par le SGBD doivent tre traduites avec le protocole ODBC puis JDBC avant d tre exploitables Comme on peut l imaginer ce protocole est particuli rement lent En re vanche il poss de l avantage de pouvoir exporter des donn es depuis tous les SGBD compatibles avec ODBC Comme on peut le constater dans ce bref descriptif la communication effectu e par le bridge ODBC JDBC ne correspond pas nos attentes En effet le logiciel contena
135. uelle m thode nous comptons mettre en uvre pour le concevoir comment nous validerons son bon fonctionnement 5 2 1 Le pilote ODBC FIG 5 3 Comme d crit pr c demment le pilote ODBC se divise en 3 parties L interface ODBC cot client L interpr teur de requ tes Un protocole de communication vers le serveur Pilote squelette gt ODBC Outils et biblioth ques utilis s Biblioth que de PAPI ODBC sqlext h Exemple de pilote GODBC 31 Outil de test de pilote ODBC du Platform SDK de Microsoft Documentation sur ODBC du MSDN2 Fonctionnalit s du module Avant toute tape nous commencerons par impl menter une version squelette du pilote ODBC Cette version aura pour but de nous assurer que notre pilote est capable d tablir une communication entre un SGBD client et notre pilote Cela nous permettra galement de regarder plus en d tail les structures que doivent prendre les requ tes et les r sultats au niveau de cette APT M thode de conception La conception de ce pilote squelette passera par l impl mentation des diff rentes fonctions de l interface ODBC Cf Annexe I 67 ODBCAPI 1 SQLConnect SQLExecute LENEN K Interpreteur traiter requete SQLStatement resultatssQL convertir resultats resultatsNonSQL resultatssQL ClientTCP connexion transmettre requete requeteNonSQL resultatsNonSQL deconnexion
136. us les termes de la GPL 33 LGPL GNU Lesser General Public License Cette licence limit e ou amoindrie 17 a t cr e pour permettre a certains logiciels libres de p n trer tout de m me certains domaines o le choix d une publication enti rement libre de toute l offre tait impossible LGPL est une version modifi e de GPL qui a l avantage d tre moins contraignante quant son utilisation dans un contexte de cohabitation avec des logiciels propri taires Cette licence permet de s affranchir du caract re h r ditaire de la licence GPL Ainsi il devient possible un programmeur d sireux de faire un logiciel propri taire d utiliser certains outils du monde libre ex la biblioth que graphique GTK sans contraindre son logiciel l tre galement Cependant toute modification de code source dans la biblioth que LGPL devra gale ment tre publi e sous la licence LGPL 2 2 3 Licences non protectrices Il s agit des licences qui offrent la plus grande libert En g n ral seule la citation des auteurs originaux est demand e En particulier ces licences permettent de redistribuer un logiciel libre sous une forme non libre Ces licences permettent donc tout acteur de changer la licence sous laquelle le logiciel est distribu Un cas de changement de licence courant est l int gration de logiciel sous licence BSD dans un logiciel sous copyleft licence GPL Un autre cas cou rant
137. xceptions 8 2 2 Utiliser un pilote ODBC d j existant En s appuyant sur nos connaissances actuelles d ODBC nous pensons qu il est possible de r aliser le projet en se basant sur un pilote fonctionnel existant L astuce serait d effectuer la connexion avec un autre logiciel que celui pour lequel le pilote est initialement pr vu Effectivement la connexion du pilote passe par l appel de fonctions iden tifiables De plus nos observations sur diff rents pilotes nous permettent 96 d affirmer que le pilote est globalement ind pendant du reste du logiciel avec lequel il travaille Suite une phase d aprentissage sur les changes d informations entre le logiciel d origine et son pilote il pourrait donc tre possible de simuler cette connexion depuis le logiciel voulu pour utiliser ce m me pilote Pour comprendre le fonctionnement de la connection l administrateur ODBC dispose d un outil de tra age qu il serait int ressant d utiliser Cet outil cr un journal recensant les appels aux pilotes ODBC install s Voici le journal g n r lors de l exportation d un fichier CVS sous Excel eres EXCEL bOc 1038 EXIT SQLDriverConnectW with return code 0 SQL_SUCCESS HDBC 01C91D60 HWND 00270436 WCHAR Ox6CD8B1C0 3 lt Invalid string length gt SWORD 3 WCHAR 0x6CD8B1C0 SWORD 3 SWORD 0x00000000 UWORD 3 lt SQL_DRIVER_COMPLETE_REQUIRED gt EXCEL b0c 1038 ENTER SQLGetInfoW HDBC 0
138. xigences dues aux caract ristiques des utilisa teurs directs du produit Ici aussi le driver n tant jamais en communication avec l utilisateur certains facteurs n entreront pas en jeu tels que la facilit d utilisation la fa cilit d apprentissage la facilit de compr hension et politesse et les exigences d accessibilit On peut galement citer les personnalisation et internationalisation qui n interviendront pas en jeu dans notre driver celui ci ne servant qu trans mettre des requ tes et des donn es Ce sera le logiciel parent qui aura la charge de g rer les langues usage de l utilisateur final 19 1 4 3 Fonctionnement du produit Cette partie permet de discuter des exigences et des r sultats concernant le fonctionnement externe du produit Rapidit d ex cution et temps de latence La rapidit de traitement des donn es n est pas une caract ristique pri mordiale du driver Celui ci pouvant tre amen traiter une grande capacit d information il serait tout de m me appr ciable de chercher avoir de bonnes perfor mances Pr cision et exactitude On cherche quantifier l exactitude d sir e pour le travail fourni par le produit Les donn es tant stock es d une mani re peu complexe mais exacte il y a peu d erreurs sur ces donn es il est tr s important que celles ci ne soient pas modifi es voire d truites durant leur traitement par le driver Robuste

Download Pdf Manuals

image

Related Search

Related Contents

Christophe Barbier contre Dieudonné ! Éditorialiste ou    Dell K08A001 Tablet User Manual  Note N°2015 - Pôle Ressources National Sport et Handicaps  Note d`orientations nationales en hygiène, sécurité et prévention  Raidsonic IB-DK401  NEC E424  IDM T2 User Manual - FINAL OCT 2004  Rexel Polaris Electric  NXL UPS Module 500/800kVA User Manual  

Copyright © All rights reserved.
Failed to retrieve file