MASTER 2 ID (Informatique et Document) RAPPORT-MÉMOIRE DE STAGE Mission effectuée du 18 février 2008 au 18 août 2008
|
|
- Coraline Moreau
- il y a 8 ans
- Total affichages :
Transcription
1 Rémy Delmotte MASTER 2 ID (Informatique et Document) RAPPORT-MÉMOIRE DE STAGE Mission effectuée du 18 février 2008 au 18 août 2008 au CéTé Nord Picardie 2 rue de Bruxelles, Lille. Étude des capacités d'évolution du système de gestion des documents XML de l'application de gestion des notices bibliographiques Notix Sous la direction de: Fabien Torre (responsable universitaire) André Davignon (Tuteur professionnel) Soutenu le 15 septembre à l'ufr MSES Université Charles de Gaule, Lille 3 (Campus Pont de bois) BP , Villeneuve d'ascq cedex Année universitaire 2007/2008
2 Je tiens à remercier: Fabien Torre pour ses enseignements, sa disponibilité et ses encouragements, André Davignon pour sa disponibilité et ses conseils, enfin toutes les personnes du PANDoc pour leur accueil. 2
3 Sommaire Introduction: Présentation Environnement du stage Le Point d'appui national documentaire (PANDoc) Notix, une solution de gestion des notices bibliographiques La gestion des documents XML avec exist La communication entre Notix et exist XML:db initiative, une tentative de normalisation des bases XML Déroulement de la mission Les évolutions de la mission La gestion de projet Méthodologie La recherche d'informations et l'évaluation Les cycles de développement L'étude des systèmes de stockage XML Les types de solution Les bases de données XML Les bases de données relationnelles Une pluralité de formats, standards et protocoles Les API java Les formats de communication Les dialectes XQuery Organisation des ressources Besoins et critique de l'existant Un avenir incertain pour l'api XMLDB Une dépendance de Notix avec exist Mélange des logiques de traitement et de stockage Répétitions des algorithmes dans l'application Préconisations et réalisations Diagnostic Masquer le système de stockage utilisé pour réduire les dépendances Augmenter la lisibilité du dispositif d'accès aux ressources XML Factoriser les opérations redondantes Implémentation de HTTP/REST L'API xdb Le patron de conception "stratégie", pour l'implémentation de nouveaux pilotes Une hiérarchie de classes qui favorise l'utilisation des standards Le dispositif de configuration et de chargement des pilotes Le mécanisme de composition des URL Intégration à Cocoon L'utilisation d'un pilote unique, la classe XDBSource La mise en place d'un système de cache Les tests unitaires Limites du développement de l'api xdb...48 Conclusion:...49 Bibliographie:...50 Annexes
4 Introduction: Le stockage et l'interrogation des documents XML constitue un domaine d'activité qui connaît des évolutions. Les outils de stockage et les langages disponibles pour l'interrogation d'un corpus de documents XML sont déjà nombreux, et des processus de normalisation sont en cours. La base de données XML exist comme les autres solutions de stockage des documents XML évolue au gré des standards, en réaction aux solutions concurrentes, et selon des dynamiques internes. Le Point d'appui National Documentaire développe Notix, une application de gestion des notices bibliographiques dont le stockage des documents XML repose sur exist. L'objectif de mon stage consistait à déterminer quelles étaient les alternatives envisageables au système de stockage des documents XML actuel de Notix, qui permettrait d'améliorer les performances générales de l'application. Au delà des aspects d'évaluation des solutions et de comparaison de leurs performances, les questions liées à l'évolution de Notix et à la modularité de l'application ont progressivement émergé. Dans un contexte de forte évolution de l'offre de logiciels, et d'une normalisation progressive mais encore en devenir des outils d'interrogation des corpus XML et des systèmes de stockage XML, quelles stratégies peut-on adopter pour garantir la capacité d'évolution et de réutilisation des composants d'une solution, lors de l'intégration d'un système de stockage XML? Après avoir présenté l'environnement du stage et la mission, nous présenterons les principales évolutions actuelles des systèmes de stockage de documents XML "open source", et les principaux dysfonctionnements et besoins rencontrés dans Notix concernant le système de stockage des documents XML. Enfin nous terminerons par la présentation des préconisations en termes d'organisation logicielle qui ont été faites, et les réalisations qui les ont suivies. 4
5 1 Présentation 1.1 Environnement du stage Le Point d'appui national documentaire (PANDoc) Le PANDoc est un service du Ministère de l'écologie, de l'énergie, du développement durable et de l'aménagement du territoire (MEDAT). Ses locaux sont situés au Centre d'étude techniques de l'équipement (CéTé) Nord-Pas de Calais Picardie. Le PANDoc réalise des missions d'ordre documentaire pour le compte du MEDAT, et parfois pour d'autres ministères. Une des spécificités du service est la composition mixte de documentalistes et d'informaticiens, qui permet la mobilisation du service sur des missions requérant cette double compétence. Le PANDoc est en charge de plusieurs bases documentaires qu'il héberge, administre et alimente, telle que Urbamet 1, ou Temis 2. Le PANdoc s'occupe aussi de réaliser des applications documentaires Notix, une solution de gestion des notices bibliographiques Présentation générale Notix est une application de gestion des notices bibliographiques publiée sous licence libre. La solution a été développée par la société AJLSM, suite à un appel d'offre du PANDoc. Notix permet d'administrer des bases documentaires composées de notices au format XML. Les principales fonctionnalités de Notix sont les suivantes: Opérations sur chaque base Création et modification d'un gabarit de notice via un formulaire Création, suppression, modification et duplication des notices via un formulaire Moteur de recherche Modification d'un champ par lot de notice
6 Fonctionnalités transversales Panier de notices Historique de recherche, gestion des favoris pour la recherche Gestion de listes de valeurs pour les champs de formulaire Administration Création et suppression de bases documentaires Réinitialisation des instances, réindexation, optimisation des index Gestion des groupes et des utilisateurs Exportation et importation de notices en masse Notix a été livrée au PANDoc en La solution est en production et fait l'objet de développements constants, qu'il s'agisse de maintenance ou d'ajouts de fonctionnalités. Lors de mon stage deux développeurs travaillaient sur Notix. Par ailleurs la solution a été publiée sur la plateforme de développement coopérative adminsource Architecture de l'application Notix est une application web java qui fonctionne sur le serveur d'application Tomcat. Trois applications libres ont été utilisées pour sa réalisation, Cocoon, SDX et exist 4. La plate-forme de publication Cocoon constitue le squelette de Notix. Elle fournit un système de "pipelines" permettant une gestion simplifiée de l'application à travers des patrons d'url situés dans des sitemaps. Chaque pipeline de l'application délivre un contenu, la plupart du temps après une série de transformations XSLT. Cocoon fournit par ailleurs un système de cache performant et une gestion avancée des formulaires avec les formulaires Cocoon (CFORMS). La plate-forme SDX permet la gestion de toutes les opérations liées à la recherche et à l'indexation en offrant une interaction facilitée avec le moteur de recherche Lucene. Elle est basée sur Cocoon et fournit une "taglib 5 " qui permet des développements rapides et fins. Les documents pris en charge par SDX sont au format XML. La base de donnée XML native 6 exist est utilisée pour la gestion des documents XML et cf. annexe 1: Architecture de Notix 5 Littéralement, une bilbiothèque de balises. 6 Ronald Bourret, XML and Databases[En ligne]. [Consulté en août 2008]. 6
7 l'exécution de requêtes XQuery sur les corpus de notices. Elle permet le stockage des documents dans une hiérarchie de collections, et fonctionne en instances multiples. EXist fonctionne dans Notix en mode embarqué sous forme d'archives java, ou en mode distant dans un serveur d'application. Une des principales caractéristiques de Notix est de reposer sur le format et les technologies XML. Dans son fonctionnement l'application exploite XSLT, DOM, SAX, Xpath et XQuery La gestion des documents XML avec exist Fonctionnement de exist EXist est une base de données XML native. Elle permet le stockage de documents et de portions de documents XML. Les documents peuvent être récupérés ou interrogés à travers les langages de requête XML XPath et XQuery. L'organisation d'une base exist peut exploiter un ensemble de collections, similaire à des dossiers dans un système de fichier pour stocker les documents XML. Une ressource dans une base de donnée XML peut être représentée par un chemin. Dans la base exist la racine de chaque ressource est la collection "/db" Les bases documentaires Pour constituer une base de donnée documentaire, Notix crée une collection à la racine d'une base exist, et crée un gabarit de notice sous la forme d'un fichier RDFS 7 placé dans la collection. Pour Notix, une base documentaire existe si ces deux conditions sont vraies. Par exemple la présence d'une collection "/db/unebase" et son gabarit "/db/unebase/_unebase.rdfs" produira une représentation de la base documentaire "Unebase" dans Notix L'alimentation en notices L'ajout de notices à une base documentaire se fait dans des sous-collections contenant 1000 notices. Ce nombre de notices a été choisi pour permettre d'optimiser les index lors des requêtes XQuery vers la base. Chaque notice prend pour nom et identifiant le nom de la base à laquelle elle appartient suivi d'un nombre de 7 chiffres. Les 4 premiers chiffres sont utilisés pour répartir les notices dans les sous-collections. Ainsi pour une base "/db/unebase", on a une sous-collection "/db/unebase/0001" 7 Ressource Description Framework Schema 7
8 contenant des notices telles que "/db/unebase/0001/unebase xml". Dans Notix la génération de l'identifiant d'une notice est réalisé automatiquement à partir d'un compteur stocké à la racine de la base. A chaque création de notice, "/db/unebase/counter.xml" est consulté puis incrémenté L'importation automatique Lors des opérations d'importation automatique de notices, Notix examine le contenu d'un dossier et enregistre les notices présentes dans une base documentaire désignée. Lors de cette opération Notix génère un rapport d'alimentation de la base. Ce rapport est stocké dans une sous collection "rapport" située elle-même dans une sous collection "_alix", du nom de l'application gérant les conversions de notices: "/db/unebase/_alix/rapports/unebase-date.xml". Les notices trouvées lors de l'importation sont examinées pour déterminer si elles correspondent bien au gabarit de la base cible et si les documents ne constituent pas des doublons. En cas d'erreur, les notices importées sont stockées pour pouvoir être modifiées par la suite, respectivement dans "/db/unebase/_alix/notice rejetees/non valides/" et "/db/unebase/_alix/notice rejetees/doublons/" Les bases "Groupe" et "Utilisateur" La gestion des groupes et des utilisateurs dans Notix est identique au dispositif de gestion des bases documentaires. Les documents qui décrivent les groupes et utilisateurs sont, comme pour les notices, décrits par un gabarit RDFS, et regroupés dans une base documentaire. Néanmoins les documents "groupe" et "utilisateur" obéissent à une organisation différente en étant stocké directement à la racine de la collection. Leur nom et identifiant est celui du groupe ou de l'utilisateur décrit par le fichier XML. Par exemple "/db/utilisateur/utilisateur1.xml" La gestion des listes Les listes sont disponibles pour toutes les bases documentaires de Notix. Elle représentent un ensemble de termes qui pourront être utilisés comme champ liste dans les formulaires de création de notices. Les listes sont constituées dans une interface séparée dans Notix et sont stockées dans exist dans une collection "Liste" qui n'est pas associée à une base documentaire, c'est à dire sans gabarit RDFS. Les documents de la collection liste sont au format RNG 8. Ils sont enregistrés à la racine de la sous collection, et ils sont identifiés et nommés par la désignation donnée dans l'application. Par exemple "/db/liste/uneliste.rng". 8 RNG pour Relax NG (REgular LAnguage for XML Next Generation) qui est un langage de schéma XML 8
9 Les instances multiples Notix peut utiliser plusieurs instances d'une même base exist. Par défaut, Notix utilise une instance exist nommée "notix", dans laquelle elle crée systématiquement, si elles n'existent pas, les bases "Groupe" et "Utilisateur", et la collection Liste. Par la suite, Notix permet la création de bases documentaires sur une instance choisie, pourvu qu'elle soit déclarée dans la configuration de Notix. La base exist qui fournira les instances à Notix peut être disponible sous la forme d'une base embarquée (stockée comme archive java dans les bibliothèques de Cocoon) ou sous la forme d'un serveur d'application distant disposant de exist Les URL d'accès aux ressources Pour accéder aux ressources d'exist depuis Cocoon, Notix emploie l'api XMLDB qui permet de désigner les ressources par des URL. L'ensemble des accès aux documents XML est assuré par la désignation des emplacements dans exist. Les URL sont constituées selon deux formats, selon que la base est embarquée ou distante. Les patrons des URL sont les suivants: Pour une base embarquée: "xmldb:nominstance:///chemin" Pour une base distante: "xmldb:nominstance://adresseduserveur/nominstance/xmlrpc/chemin" 9
10 Illustration 1: Organisation du stockage des données XML de Notix dans exist La communication entre Notix et exist La configuration des instances exist Pour pouvoir disposer de plusieurs instances d'une base exist dans Notix, une déclaration préalable est nécessaire dans le fichier de configuration de Cocoon cocoon.xconf. Les instances sont déclarées avec un certain nombre de paramètres de configuration nécessaires à leur initialisation. <component-instance class="org.exist.cocoon.xmldbsourcefactory" name="xmldb"> <driver type="notix" class="org.exist.xmldb.databaseimpl" user="admin" password="admin"> <database-id>notix</database-id> <create-database>true</create-database> 10
11 <configuration>xmldb/notix.xml</configuration> </driver> <driver type="instance2" class="org.exist.xmldb.databaseimpl" user="admin" password="admin"> <database-id>instance2</database-id> <create-database>true</create-database> <configuration>xmldb/instance2.xml</configuration> </driver> </component-instance> Les instances de exist sont déclarées comme pilotes de base de donnée, et associées au pseudo-protocole "xmldb:". Cette déclaration des instances autorise plusieurs manipulations dans Cocoon: L'obtention d'une liste des instances configurées. L'interrogation d'exist directement par le protocole "xmldb:", grâce au mécanisme des sources Cocoon et à l'api XMLDB La configuration d'un serveur exist distant La configuration d'un serveur exist distant se traduit par la déclaration d'une variable globale dans un sitemap Cocoon. Au démarrage de Notix, la présence du paramètre est détectée, et une variable globale prend pour valeur l'adresse du serveur distant. Lors du fonctionnement de l'application, l'ensemble des requêtes sera adressé au serveur distant grâce au dispositif de composition des URL de Notix. <global-variables> <exist-url> :8088</exist-url> </global-variables> Le mécanisme de composition des URL Le mécanisme de composition des URL de Notix est réalisé en plusieurs étapes. Lorsqu'une requête est adressée à Notix pour réaliser une opération sur un document, le pipeline en charge de la réalisation de cette opération reçoit comme argument le nom d'une base documentaire, et l'identifiant d'un document. À partir de cette information, Cocoon mobilise une liste des bases documentaires recensées dans les instances exist, et établit quelle instance d'exist sera interrogée, par exemple "xmldb:notix/". Dans un second temps, Cocoon vérifie l'état de configuration de la variable "exist- 11
12 url", et adopte un patron d'url adapté à un exist embarqué ou distant. Lorsque la ressource interrogée est une notice de base documentaire, la sous-collection dans laquelle est rangée la notice est déduite de l'identifiant donné en argument, par exemple "0002" pour le document "Base xml" Implémentation dans Notix Trois stratégies sont utilisées pour l'accès à la base de données XML: En utilisant un composant cocoon (FileGenerator) qui récupère directement le contenu d'une source en SAX. Cette stratégie est utilisée seulement pour la lecture des documents. Elle est utilisée pour les opérations dans l'instance par défaut "notix" pour accéder aux listes, aux groupes et aux utilisateurs. <map:generate src="xmldb:notix:///db/listes/"/> En utilisant 2 composants Cocoon. Le premier exécute le mécanisme de composition de l'url à atteindre (Action XMLDBURL), le second est un FileGenerator qui produit un flux SAX à partir des informations recueillies. Cette stratégie est utilisée pour l'accès en lecture des documents contenus par les bases documentaires. <map:match pattern="*/*.xml"> <map:act type="xsp" src="context:/exist/xsp/xmldburl.xsp"> <map:parameter name="base" value="{1}"/> <map:parameter name="notice" value="{2}"/> <map:generate src="{collection}{resource}"/> En utilisant des scripts serverpages ou flowscript. Dans ce cas, les informations nécessaires à l'identification du document à traiter sont passées en paramètre au script. L'action XMLDBURL peut être utilisée ou non, si elle ne l'est pas, le mécanisme de composition des URL est réalisé dans les scripts. Cette stratégie est la plus couramment utilisée dans Notix car elle permet l'exécution d'opérations complexes, notamment les opérations d'écriture et de requêtes XQuery. <map:generate type="xsp" src="xsp/lists-edit.xsp"> <map:parameter name="url" value="xmldb:notix:///db/listes/ {1}.rng"/> <map:parameter name="name" value="{1}"/> 12
13 </map:generate> <map:act type="xsp" src="xsp/xmldburl.xsp"> <map:parameter name="base" value="{1}"/> <map:generate type="xsp" src="xsp/supprimer-panier.xsp"> value="{global:path-sdxapp}" /> value="{collection}"/> <map:parameter name="pj" value="{global:pj}" /> <map:parameter name="path-sdxapp" <map:parameter name="base" value="{../1}"/> <map:parameter name="collection" </map:generate> Puis dans la xsp, manipulation de la source Cocoon 9 : Source notice=resolver.resolveuri(collection + folder + "/" + id + ".xml"); ((XMLDBSource)notice).delete(); XML:db initiative, une tentative de normalisation des bases XML XML:db initiative est un groupe d'intérêt autour des technologies XML qui a pour objectif le développement de technologies standardisées dans le domaine des bases de données XML, et plus généralement la promotion des bases de données XML. L'association, active de 2000 à 2004, avait pour vocation de proposer des standards sous licence "open source" dans le domaine des bases de données XML. La motivation de cette démarche était d'éviter la multiplication des technologies concurrentes, et l'apport rapide de technologies attendues telle que l'extension de XQuery pour les opérations de mise à jour. Le groupe a finalement produit deux recommandations, l'api XMLDB, et l'extension XQuery XUpdate. L'API XMLDB est un ensemble d'interfaces java qui prescrit des méthodes d'accès, de configuration et d'interrogation d'une base de donnée XML. Elle permet la manipulation des collections et documents, et fournit un service d'interrogation XQuery d'un document ou d'une collection. L'API a été implémentée dans exist et constitue le mode de communication actuel de Notix avec la base de donnée. Xupdate est une extension au langage de requête XQuery dont le but est d'ajouter la 9 Pour un exemple plus complet de la manipulation des sources cocoon voir annexe 2: Traitement d'un document XML dans une xsp. 13
14 possibilité d'éditer des documents XML existants en s'intégrant à la syntaxe de XQuery. Le langage est apparu en 2003 sous la forme d'une recommandation inachevée (un "brouillon"), mais a néanmoins été implémenté par exist puisqu'il constituait alors la seule tentative de normalisation des opérations d'écriture en XQuery. Notix utilise ces opérations d'écriture pour la correction des notices par lots, l'édition des listes et des documents utilisateurs. 14
15 1.2 Déroulement de la mission Les évolutions de la mission La mission de stage qui m'a été proposée consistait à étudier les performances du système de stockage des notices de Notix. L'objectif de cette étude était de réévaluer la pertinence du choix actuel de système de stockage en termes de performances, au regard des solutions existantes. Le projet s'articulait en trois grandes étapes: Une qualification des besoins permettant de définir le périmètre de l'étude. La mise en place d'un dispositif de veille et d'évaluation des solutions de stockage XML. La conception d'une série de tests de performance adaptés aux usages dans Notix. Les bénéfices attendus de la mission étaient une meilleure connaissance de l'offre pour les systèmes de stockage de documents XML, une évaluation critique de la solution actuelle, et potentiellement de meilleures performances pour Notix. A l'issue de la veille, plusieurs constats ont été réalisés qui ont orienté davantage la mission vers la recherche d'une implémentation pérenne et générique du système de stockage XML. Une meilleure connaissance de la constitution des principales solutions de stockage des documents XML m'a amené à considérer les limites qu'impliquaient la conception actuelle des communications avec le système de stockage. Cette seconde phase du projet s'est traduite par une prolongation de l'étude de Notix, et la mise en place de cycles de développement. L'étude a porté sur la communication entre Notix et exist et la recherche d'optimisations pour la gestion des documents XML, en vue de disposer d'une implémentation la plus générique possible au regard des différentes solutions de stockage des documents XML existantes. Cette phase du projet s'est déroulée en trois étapes: Un recueil des principales variations qui existaient entre les différents systèmes de stockage XML. Une analyse détaillée de l'implémentation d'exist dans Notix et l'implémentation d'un nouveau mode de communication entre exist et Notix à travers des requêtes HTTP (REST). 15
16 La conception et l'implémentation d'un dispositif générique de gestion du stockage des documents XML dans Notix, en vue d'améliorer l'intégration du nouveau dispositif de communication et de favoriser les évolutions futures La gestion de projet Lots de Tâches: Démarche exploratoire Étude/Veille sur les solutions de stockage des documents XML étude des besoins et de l'existant étude comparative/veille sur les solutions libres de stockage des documents XML diagnostique et préconisations Implémentation d'une interface HTTP REST entre Notix et exist Recensement des stratégies, méthodes et outils liés au système de stockage XML. Implémentation de REST Étude des dépendances liées aux systèmes de Stockage dans Notix Optimisation de l'implémentation en termes de couplage, performances, et d'ouverture aux standards Évaluation des améliorations possibles, conception de l'api xdb Développement de l'api xdb Implémentation des améliorations dans Notix février mars avril mai juin juillet août Démarche exploratoire Implémentation d'une interface HTTP REST Veille sur les solutions de stockage XML Optimisation de l'implémentation Illustration 2: Déroulement de la mission par lot de tâches 16
17 février mars avril mai juin juillet août Démarche exploratoire Veille sur les solutions de stockage XML Conception API xdb Étude des besoins Évaluation des solutions et bilan de l'étude Préco nisati ons Développement API xdb Étude des besoins: seconde analyse de Notix, développement interface REST Implémentation dans Notix Illustration 3: Déroulement de la mission (détail) 17
18 1.3 Méthodologie La recherche d'informations et l'évaluation Pour mener à bien la comparaison des solutions, une première étude des fonctionnalités d'exist utilisées dans Notix a été réalisée 10. L'objectif était d'établir un étalon pour l'évaluation des fonctionnalités des autres solutions. Cette description des besoins a permis de découvrir progressivement les variations existantes entre les différentes solutions, et les aménagements qui seraient nécessaires dans la conception de Notix pour pouvoir considérer ces solutions comme des alternatives possibles à exist. Trois critères définissaient le périmètre de la recherche. Les solutions devaient être utilisables sur les systèmes d'exploitation Windows et Mandriva, et les sources disponibles sous licence open-source. Enfin si les solutions nécessitaient l'usage d'une base de données relationnelle, celles-ci devaient être utilisables avec PostgreSQL qui constitue le standard au PANDoc. Par ailleurs, des essais avaient déjà été effectués par le PANDoc et l'ajlsm sur un stockage direct des documents XML sur système de fichier. La solution était donc exclue de la recherche d'information. L'évaluation des différentes solutions a été guidée par 3 types de barème: La distance avec l'existant. L'évaluation du logiciel "open source". La prise en compte de l'évolution des standards au niveau des API et des technologies XML par les solutions évaluées. La méthode d'évaluation des logiciels "open source" employée est un arrangement à partir des barèmes de la méthode de qualification et de sélection de logiciels open source 11 (QSOS), et de la méthodologie de création du guide bull de l'open source 12. La barème était le suivant: Barème * ** *** Utilisateurs Pas d'utilisateurs identifiés Utilisateurs détectables via internet Communauté d'utilisateurs identifiés / Références 10 cf. Annexes 4: étude des besoins
19 Barème * ** *** Communauté Groupe de développeurs clos / Société Communauté périphérique / contributeurs Documentation Basique Utilisateurs et développeurs Activité 0 à 3 développeurs 4 à 7 développeurs, ou fort turn-over Maturité Actualité Encore en développement, pas de version stable Le projet semble à l'abandon Version(s) stable(s), utilisable. Projet actif, mais communication/partici pation peu dense Fonctionnement en communauté et outils associés Systématisé, avec contributions + de 7 développeurs Version éprouvée. Roadmap. Forte participation, nombreuses actualités Les cycles de développement Lors de la seconde phase de la mission de stage, il a été décidé d'implémenter une nouvelle interface de communication entre Notix et la base exist. La réalisation de ce projet s'est déroulée en plusieurs étapes, en suivant un principe de développement par itérations. Le premier objectif de développement était de reproduire le fonctionnement de Notix avec HTTP/REST, sans chercher d'optimisations particulières du fonctionnement. Il s'agissait d'abord d'assurer la reproduction des fonctionnalités de l'application. Une seconde étape a consisté à rechercher les optimisations possibles de l'implémentation réalisée, en termes d'organisation, de pérennité et de lisibilité. Cette étape a conduit à la création d'une API java dédiée à la communication avec le système de stockage. La dernière étape a été l'implémentation de l'api dans Notix, soit la modification des scripts de l'application et des fichiers de configuration de Notix. L'objectif de cette étape était d'assurer l'implémentation, mais aussi de réaliser des optimisations, cette fois au niveau des performances. Ce déroulement en trois étapes a permis de distinguer des logiques de travail et d'appréhender séparément les difficultés du projet. La première étape m'a permis de m'approprier le fonctionnement de l'application, d'établir la logique des traitement effectués, et de recenser les différentes stratégies d'accès au système de 19
20 stockage. La deuxième étape s'est davantage amorcée comme une revue critique de l'implémentation, nourrie par l'étude des systèmes de stockage existants. Il s'agissait de concevoir des critères de généricité, et d'évaluer quelles technologies dans Notix pouvaient être considérées comme pérennes. Le travail consistait donc à distinguer les éléments changeants et à adopter une organisation permettant de faire face à ces changements. La dernière étape, restée de peu inachevée, a été un mélange des deux logiques de développement précédentes : l'implémentation du nouveau dispositif, l'ajout de fonctionnalités omises, la rectification d'algorithmes, et la recherche d'optimisations des performances appelaient une vision pragmatique et un souci du détail. 20
21 2 L'étude des systèmes de stockage XML Cette partie présente les principales conclusions et constats qui ont suivi la veille sur les systèmes de stockage des documents XML. 2.1 Les types de solution Les bases de données XML Les bases de données XML natives se distinguent des systèmes de stockage XML fonctionnant avec des bases de données relationnelles par 3 caractéristiques: elles préservent la structure physique des documents (éléments, attributs, entités,...) elles permettent de stocker des documents sans déclaration préalable du schéma des documents. elles permettent d'accéder aux documents à partir des API spécifiques à XML (Xpath, XQuery). Par ailleurs les bases de données XML natives permettent la création de collections ( assimilables à des dossiers dans un système de fichier) Les principales bases de données XML actives "open source" sont les suivantes : exist initié par Wolfgang Meier Berkeley DB XML de Oracle. Le projet apache Xindice BaseX du groupe de recherche allemand Database & Information Systems Group Sedna du groupe de recherche russe Management Of Data & Information Systems MonetDB/XQUERY de l'institut de recherche néerlandais Centrum Wiskunde & Informatica Les bases de données relationnelles Il existe deux manières d'exploiter les bases de données relationnelles pour le stockage des documents XML, les bases de données acceptant un type XML, et l'utilisation de middlewares. 21
22 Les bases de données Hybrides ou gérant un type XML Certaines bases de données relationnelles permettent de gérer un format XML, d'autres proposent une interface similaire à une base de donnée XML native (On parle de base hybride). Actuellement, les bases de données hybrides sont des solutions propriétaires (dbxml de Oracle et db2 de IBM). La gestion des données XML dans les bases de données relationnelles s'est longtemps résumée au stockage de chaînes de caractères. Actuellement on peut voir au moins deux évolutions dans la gestion de XML: - Le stockage du XML dans les bases de données relationnelles fait l'objet d'optimisations plus adaptées, avec la création d'un type XML propre dans les bases de données (Arbres binaires). - La standardisation de fonctions de gestion du XML dans le langage SQL, ainsi que des recommandations pour l'implémentation de XQuery, via les standards ANSI/ISO, SQL/XML:2003 et SQL/XML:2006 commencent à être développées dans les SGBDR. L'implémentation de fonctionnalités XML reste néanmoins assez limitée, et la prochaine étape attendue reste le support de XQuery. Au niveau du type XML, seul PostgreSQL propose une solution optimisée avec une structure de données (des arbres binaires) et des index adaptés. En termes de fonctions XML, on retrouve à peu près les mêmes fonctionnalités dans MySQL et PostgreSQL: génération, importation et accès en XPath au XML. MySQL se distingue néanmoins par l'apport d'un mécanisme de mise à jour des données en XPath. Pour les deux solutions, il n'existe pas de support de XQuery, et le langage d'interrogation demeure SQL. Pour l'accès aux données depuis java, les pilotes JDBC sont utilisables mais ils ne sont pas optimisés pour le traitement d'un modèle de document XML. De manière générale, la gestion de documents XML par l'intermédiaire d'une base de données relationnelle n'est pas adaptée à l'utilisation des API XML Les middlewares Les middlewares ou applications intermédiaires sont utilisés pour le stockage des documents XML dans les bases de données relationnelles, ou pour la manipulation du XML sous forme 22
23 d'objets. Nous nous intéressons ici au premier type uniquement. Les applications intermédiaires permettent de manipuler les SGBDR de la même façon que les bases de données XML natives. Les solutions prennent en charges deux aspects: le stockage du XML dans les tables du SGBDR, et la traduction des requêtes en langage XML vers le SQL. Parmi les solutions existantes on distingue celles qui ne nécessitent pas la déclaration préalable d'un schéma pour le stockage de documents /collections XML, et celles implémentant les standards XML d'accès aux données (XPATH, XQuery). Dans ce domaine, seul pf/tijah permet de se passer d'une déclaration préalable du schéma des documents XML. La solution intègre le middleware PathFinder qui permet le stockage en base de données de documents XML, et la traduction de requêtes XQuery et XPath en requêtes SQL. Pf/ Tijah quand à lui intègre la gestion de la recherche plein texte en XQuery. Les fonctionnalités de Pf/Tijah sont actuellement implémentées dans MonetDB/XQuery, et aucune facilité n'est faite pour permettre l'intégration dans un autre SGBDR. Seul un article sur l'intégration dans PostgreSQL paru en 2004, évoque la possiblité de le faire; les sources du middleware ne sont cependant pas accessibles. Aucune solution de middleware n'a donc été étudiée plus avant. Néanmoins l'étude de MonetDB/XQuery a été réalisée parmi les solutions de bases de données XML, l'intégration de pf/tijah étant transparente. 23
24 2.2 Une pluralité de formats, standards et protocoles Les API java La première API java à avoir été développée à des fins de standardisation des accès aux bases de données XML était l'api XMLDB. Depuis l'arrêt des travaux de XML:db initiative, l'évolution du standard est arrêtée et les API spécifiques aux solutions se développent. Pour les solutions qui ont implémenté l'api XMLDB, comme exist, des évolutions ont été apportées qui ne font plus partie du standard. Actuellement la JSR 225 XQJ (XQUERY API for Java) semble constituer une alternative pour les concepteurs de bases de données XML natives. Le projet de recommandation est supporté par les principaux concepteurs de bases de données XML propriétaires. La recommandation définitive date du mois de mars Dans les solutions "open source" l'implémentation est cependant loin d'être généralisée. Pour les principales solutions étudiées: exist BDB XML Xindice BaseX Sedna MonetDB/X QUERY - xml:db API oui non Oui Non Oui Non - XQJ (JSR 225) (en développem ent) - autres Non API Java dbxml, Ruby, PHP,.NET non Non Non non Non Non API Java. Illustration 4: Revue des API utilisées dans les bases de données XML C, Php, python,.net, Scheme. XRPC(java/j avascript), CGI binding (.xq), MAPI Les formats de communication Il existe deux modes possibles pour l'utilisation d'une base de donnée XML : les bases de données embarquées, et les bases de données fonctionnant sur le mode client-serveur; certaines bases supportant les deux modes de fonctionnement. Pour les bases de données embarquées seule une API permet d'effectuer des transmissions de données. Pour les bases fonctionnant sur le mode client-serveur, différentes approches existent. Du protocole binaire basé sur la manipulation de "sockets", aux protocoles orientés services web : SOAP, REST, XML-RPC... À noter l'engouement naissant pour le protocole de publication Atom 24
25 (APP), équivalent à WebDav mais basé sur une architecture REST. Le tableau suivant établit les implémentations des différentes stratégies de communication en fonction des solutions étudiées: - Mode de fonctionnement exist Mode embarqué, mode serveur. BDB XML Mode embarqué Xindice BaseX Sedna MonetDB/ XQUERY Mode embarqué et client-serveur Mode Serveur Mode Serveur Mode Serveur "socket-based" Non - Non Oui Oui Non XML-RPC Oui (via XMLDB) - Oui Non Non Non SOAP Oui - Non Non Non Oui REST Oui - Non Non Non Non APP Oui - Non Non Non Non Webdav Oui - Non Non Non Non XRPC/XqueryD Non - Non Non Non Oui Illustration 5: Implémentation des statégies de communication par base de données XML Les dialectes XQuery Pour la consultation des ressources stockées dans les bases de données XML natives, les différentes solutions implémentent des standards W3C à différents niveaux de conformité, ainsi que des technologies d'accès et de modification propres. Les standards les plus couramment implémentés sont XPath 1.0 et XQuery 1.0, suivis de XPath 2.0. Concernant les langages de mise à jour on distingue trois alternatives, l'utilisation de XUpdate recommandé par XML:db initiative, XQuery Update Facility (XQUF) qui a fait récemment l'objet de brouillons du W3C, enfin des solutions spécifiques aux applications. Un langage de recherche en texte intégral a été recommandé par le W3C, mais les recommandations n'ont pas encore abouti. Selon les solutions des dialectes spécifiques ont été mis au point, ou les premières recommandations sont déjà implémentées. Des dialectes encore marginaux dans les bases de données XML tendent à se développer pour résoudre des situations variées, tel XQueryP(Procedural XQuery) ou XQueryD (D pour Distributed: interrogation de plusieurs bases distantes au sein de requêtes XQuery). 25
26 L'implémentation de XQuery dans les bases de données XML est testé par la XQuery Test Suite (XQTS) du W3C. - XUPDATE (xml:db) - XQUERY 99.4% (XQTS) exist BDB XML Xindice BaseX Sedna MonetDB/X QUERY Oui Non Oui Non Oui Non 99.5% (XQTS) Non 99.3% (XQTS) 98.8% (XQTS ) En partie - XPath Oui(1,2) Oui (1,2) Oui (1) Oui(1) Oui (1,2) En partie - XQUF (partiel, vers un support complet) - XQUERY FT Non(autre) (en développement) Non Non (autre) Non (autre) Oui oui Non Non Partiel Non Non (autre) Illustration 6: Implémentation de XQuery par base de données XML Organisation des ressources La possibilité d'organiser les documents dans les bases de données XML natives varie selon les solutions : on trouve la notion de base de données (unique ou multiple), de collection (unique, multiple, emboîtable), de document (comme unité, ou sous-arbre d'un unique document). Pour les solutions étudiées: - Hiérarchie de collections - Instances multiples de bases de données Oui exist BDB XML Xindice BaseX Sedna MonetDB/X QUERY Non (Présence de "containers": 1 niveau de hiérarchie.) Oui Non Non (1 niveau) Oui Non Oui Oui, mais une bdd = 1 document. Non Non, 1 niveau Non 26
27 3 Besoins et critique de l'existant 3.1 Un avenir incertain pour l'api XMLDB L'API XMLDB ne constitue plus un standard pour la manipulation des bases de données XML. Différents constats ont pu être faits lors de l'analyse des systèmes de stockage des documents XML: La faible présence de l'api parmi les solutions étudiées ne permet plus de garantir les ambitions de réalisation d'une interface standardisée pour les différentes bases de données XML. La mise en place d'une API concurrente XQJ, appelée à devenir une référence pour l'exécution du XQuery dans les applications java, semble constituer une alternative plus consensuelle car elle favorise davantage l'utilisation des technologies XML. L'arrêt des activités de l'xml:db initiative a entraîné un arrêt des évolutions de l'api, et a mis en faillite l'avenir de la recommandation comme standard du point de vue des principales solutions de stockage. L'API XMLDB permet la manipulation des documents et des collections, alors que cette dernière caractéristique n'est pas très répandue dans les bases de données XML natives. La tendance générale de normalisation des communications semble s'orienter vers les protocoles et architectures de services web au dépend des API java. On remarque notamment la forte présence de SOAP qui a été normalisé par le W3C, et REST basé sur le protocole HTTP. 3.2 Une dépendance de Notix avec exist L'organisation des ressources dans exist utilise une répartition des documents en souscollections imbriquées. Au niveau de Cocoon, cette organisation se traduit par l'utilisation de chemins reflétant cette structure logique. On a par exemple: xmldb:notix/db/base/0001/base xml Dans cet exemple, plusieurs caractéristiques propres à exist apparaissent : 27
28 La désignation d'une instance de base de données "notix", et non le nom de la base comme le prescrit l'api XMLDB. La mention de la racine commune aux bases exist "/db", qui dans les autres bases de données correspond à un simple "/" ou au nom d'un conteneur. L'imbrication des collections "Base" et "0001". L'implémentation des collections est toujours assez peu répandu parmi les solutions libres, et l'imbrication de collections est une spécificité de exist. La répartition des notices par collection de 1000 unités est une organisation des documents qui vise à optimiser les performances d'exist. Ce type d'organisation n'est pas nécessaire, ni parfois même conseillé, dans les autres bases de données. L'utilisation de chemins pour accéder aux ressources XML stockées dans exist produit une dépendance de Notix vis à vis du système de stockage XML exist. Alors que l'ensemble des opérations prisent en charge par Notix permet le traitement de documents dans le cadre d'une base documentaire (ou d'un dossier dans le cas de la collection "Liste"), les communications avec le système de stockage nécessitent de manipuler explicitement l'arborescence des collections propres à un système. Le mécanisme général de composition des URL nécessite de déclarer à de nombreux endroits dans Notix les patrons d'url établissant la conversion entre les requêtes de l'utilisateur et l'accès à un document dans exist en vue de son traitement. La multiplication de ces opérations constitue un frein important aux projets d'évolution de la solution du système de stockage des documents XML. 3.3 Mélange des logiques de traitement et de stockage Chaque pipeline de Notix qui exécute une opération sur un ou plusieurs documents XML réalise avant chaque traitement le mécanisme de composition des URL d'accès aux ressources. Ce mécanisme est partiellement factorisé par l'intermédiaire de l'action XMLDBURL, mais pas pour tous les pipelines. La composition des URL est alors intégrée aux scripts serverpages ou flowscript. Dans ce cas de figure, les scripts combinent globalement trois rôles: 28
29 La composition des URL. Les opération d'accès et de stockage des notices. Les traitements et la génération de contenus. Cette démarche est insatisfaisante car elle produit des scripts complexes et difficiles à appréhender. La gestion des URL dans l'application s'ajoute aux opérations de traitements ce qui réduit la lisibilité des scripts. Par ailleurs, le dispositif de composition des URL est globalement dispersé, et rend difficile le projet d'implémentation d'un autre système de stockage que exist. L'usage du fichier cocoon.xconf d'une part, et de la variable globale de sitemap d'autre part, génère une multiplication des opérations nécessaires à la composition des URL vers les ressources XML, et rend nécessaire ces opérations avant chaque traitement, ce qui entraîne un manque de lisibilité et une fermeture aux évolutions Répétitions des algorithmes dans l'application Un certain nombre d'opérations élémentaires sont exécutées de manière récurrente dans Notix: L'obtention du nom de l'instance exist d'une base documentaire. java.util.map basemap=null; if (base!= null) { basemap=(java.util.map)baselist.get(base); String url=(string)basemap.get("url"); source = (XMLDBSource)resolver.resolveURI(url + "/_" + base + ".rdfs"); Le choix du patron d'url approprié selon que la base est locale ou distante. String existurlstring=(string)context.getattribute("existurl"); String uri; if (("///".equals(existurlstring)) ("local".equals(existurlstring)) ("".equals(existurlstring)) existurlstring==null) uri="xmldb:" + instance + ":///db/"; else uri="xmldb:" + instance + "://" + existurlstring+"/"+instance+"/xmlrpc/db/"; source = (XMLDBSource)resolver.resolveURI(uri); La conversion de documents du format SAX au format DOM et réciproquement. 29
30 source = (XMLDBSource)resolver.resolveURI(url + "/_" + base + ".rdfs"); org.apache.cocoon.xml.dom.dombuilder rdfsbuilder; rdfsbuilder = new org.apache.cocoon.xml.dom.dombuilder(); source.tosax(rdfsbuilder); Document rdfsdoc=null; rdfsdoc = rdfsbuilder.getdocument(); La conversion de chaînes de caractères au format DOM et inversement. function dom2string(document) { var writer = new Packages.java.io.StringWriter(); var format = new Packages.org.apache.xml.serialize.OutputFormat("XML","utf-8",true); var serializer = new Packages.org.apache.xml.serialize.XMLSerializer(writer,format); serializer.asdomserializer(); serializer.serialize(document); return writer.tostring(); } Les opération d'énumération des collections et des ressources d'une collection. La création d'une base documentaire. Etc. Ces opérations sont exécutées dans les scripts de l'application, et ne font dans le meilleur des cas l'objet d'une factorisation qu'à l'échelle du script, par l'intermédiaire de la définition de fonctions. Cette organisation produit une répétition des algorithmes qui rend la maintenance difficile, favorise les risques d'erreur et rend difficile l'harmonisation générale des stratégies de l'application. Notix ayant été développé par plusieurs personnes, et dans des périodes de temps successives, on rencontre aussi des algorithmes réalisant des tâches similaires avec des stratégies différentes, notamment pour les opérations de conversion des données. 30
31 4 Préconisations et réalisations 4.1 Diagnostic Masquer le système de stockage utilisé pour réduire les dépendances Création d'un pilote intermédiaire: l'api xdb La création de l'api xdb répond au besoin de garder la capacité de modifier l'interface de communication vers un système de stockage, ou le système de stockage lui-même, sans nécessiter le bouleversement de l'organisation de générale de Notix ou du contenu des scripts de l'application. L'API xdb est un dispositif générique qui permet d'encapsuler les méthodes concrètes de communication avec un système de stockage. L'API est utilisée comme interface pour l'accès au système de stockage et fournit un ensemble d'outils pour la réalisation d'opérations sur les documents. Au niveau du fonctionnement, chaque système de stockage XML est représenté par un pilote spécifique qui implémente une même classe abstraite nommée Xdb. La classe Xdb est composée majoritairement de méthodes abstraites qui prescrivent les opérations de base que les pilotes devront implémenter. Au niveau de l'utilisation de l'api, une classe nommée XdbManager s'occupe de faire le lien entre les requêtes au système de stockage faite dans Notix et le pilote approprié. La création d'une source Cocoon (comme celle existante pour l'api XMLDB) permet d'accéder aux ressources par la composition d'une URL depuis un script ou un générateur Cocoon, ce qui permet de faciliter l'intégration de l'api Des patrons d'url génériques La création d'url génériques répond au besoin d'accéder aux documents XML selon une organisation logique des ressources sans pour autant rester dépendant du système de stockage utilisé. Le principe adopté pour la constitution de chemins génériques est de distinguer des adresses logiques correspondant à des ressources définies, et d'encapsuler la logique de composition des chemins réels en fonction du système de stockage utilisé. Les URL génériques d'accès aux documents XML ont été conçu pour faciliter les accès par 31
32 base documentaire. Le patron d'url est le suivant: "xdb:unebase/chemin" Les chemins peuvent être les suivant: Une notice: "xdb:unebase/unebase xml" Un rapport d'alimentation: "xdb:unebase/rapport/unebase-date.xml" un gabarit de notice: "xdb:unebase/_unebase.rdfs" Une notice rejetée non valide: "xdb:unebase/non-valides/unebase xml" Une notice rejetée en double: "xdb:unebase/doublons/unebase xml" Afin d'accéder aux ressources ne figurant pas dans une base documentaire, la mention de la base peut être omise dans l'url. Le chemin écrit parcourt alors la structure réelle de la base à partir de la racine de l'instance par défaut. Par exemple: "xdb:/listes/uneliste.rng". La logique d'encapsulation des processus de composition de l'url concrète d'accès aux ressources permet une grande souplesse dans la variété des chemins. De nouveaux patrons d'uri peuvent facilement être implémentés, sur la base de nouvelles conventions d'uri génériques Un dispositif central de configuration La mise en place d'un dispositif central de configuration du système de stockage répond au besoin de configurer les instances du système de stockage en évitant la dispersion des paramètres de configuration, en rendant indépendant de Cocoon le paramétrage des instances, et en permettant la reproduction des fonctionnalités multi-instances pour des solutions qui ne disposent pas de cette fonctionnalité nativement. Le système de configuration centralisée du système de stockage consiste à déclarer l'ensemble des instances manipulées dans Notix dans un fichier de configuration XML unique. Le fichier de configuration "XDBConfig.xml" permet de déclarer plusieurs instances, mais ajoute aussi la possibilité de déclarer plusieurs systèmes de stockage. Ainsi le système de configuration permet de désigner plusieurs instances dans plusieurs systèmes de stockage, et offre ainsi la possibilité de reproduire la fonctionnalité d'instances multiples d'exist pour les systèmes de stockage qui ne l'implémentent pas, via la déclaration d'un même système de stockage plusieurs fois. Cette stratégie de configuration du système de stockage a aussi pour effet de permettre l'implémentation de systèmes de stockage multiples, disposant chacun de paramètres de configuration propres, ce qui ouvre la possibilité de disposer en même temps d'un système de stockage embarqué et d'un système de stockage distant. Cette possibilité de configuration permet 32
E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com
- 5, rue Soutrane - 06560 Valbonne Sophia-Antipolis E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com NQI Orchestra 3.3 - Guide d'installation Linux....................................................................
Plus en détailPHP 5.4 Développez un site web dynamique et interactif
Editions ENI PHP 5.4 Développez un site web dynamique et interactif Collection Ressources Informatiques Table des matières Table des matières 1 Chapitre 1 Introduction 1. Objectif de l'ouvrage.............................................
Plus en détailORACLE TUNING PACK 11G
ORACLE TUNING PACK 11G PRINCIPALES CARACTÉRISTIQUES : Conseiller d'optimisation SQL (SQL Tuning Advisor) Mode automatique du conseiller d'optimisation SQL Profils SQL Conseiller d'accès SQL (SQL Access
Plus en détailLa base de données XML exist. A. Belaïd
La base de données XML exist Introduction Qu est-ce-que exist? C est une base de donnée native, entièrement écrite en Java XML n est pas une base de données en soi Bien qu il possède quelques caractéristiques
Plus en détailProgramme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)
Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Module 1 : Programmer une application informatique Durée
Plus en détailXML et Bases de données. Les bases de données XML natives.
XML et Bases de données. Les bases de données XML natives. Introduction. Une définition de l'expression «Base de données XML Native» : Une base de données XML native définit un modèle (logique) de document
Plus en détailMOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version 1.0-25 septembre 2006
MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version 1.0-25 septembre 2006 SOMMAIRE 1 AVANT PROPOS...3 2 PRÉSENTATION...4 2.1 Quelques définitions...4 2.2 Besoins d'intégration d'un moteur de workflow...4
Plus en détailBTS S.I.O. 2012-2013 PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais
BTS S.I.O. 2012-2013 PHP OBJET Module SLAM4 Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais Table des matières 1 But... 3 2 Les bases :... 3 3 Utilisation d'une classe : Instanciation...3
Plus en détailChapitre 1 : Introduction aux bases de données
Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données
Plus en détailet Groupe Eyrolles, 2006, ISBN : 2-212-11747-7
Tsoft et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7 OEM Console Java OEM Console HTTP OEM Database Control Oracle Net Manager 6 Module 6 : Oracle Enterprise Manager Objectifs Contenu A la fin de ce module,
Plus en détailInformation utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/
Systèmes de gestion de bases de données Introduction Université d Evry Val d Essonne, IBISC utiles email : cinzia.digiusto@gmail.com webpage : http://www.ibisc.univ-evry.fr/ digiusto/ Google+ : https://plus.google.com/u/0/b/103572780965897723237/
Plus en détailBases de données avancées Introduction
Bases de données avancées Introduction Dan VODISLAV Université de Cergy-Pontoise Master Informatique M1 Cours BDA Plan Objectifs et contenu du cours Rappels BD relationnelles Bibliographie Cours BDA (UCP/M1)
Plus en détail1. Considérations sur le développement rapide d'application et les méthodes agiles
Chapitre 1 Introduction 1. Considérations sur le développement rapide d'application et les méthodes agiles 1.1 Rappel Longtemps les méthodes en cascade ou en V ont été opposées aux démarches empiriques
Plus en détailE-mail : contact@nqicorp.com - Web : http://www.nqicorp.com
- 5, rue Soutrane - 06560 Valbonne Sophia-Antipolis E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com NQI Orchestra 3.3 - Guide d'installation Windows.................................................................
Plus en détailFormation en Logiciels Libres. Fiche d inscription
République Tunisienne Ministère de l'industrie et la Technologie - Secrétariat d'état de la Technologie Unité des Logiciels Libres Formation en Logiciels Libres Fiche d inscription (Une fiche par candidat)
Plus en détailSpécifications de l'offre Surveillance d'infrastructure à distance
Aperçu du service Spécifications de l'offre Surveillance d'infrastructure à distance Ce service comprend les services Dell de surveillance d'infrastructure à distance (RIM, le «service» ou les «services»)
Plus en détail4. Utilisation d un SGBD : le langage SQL. 5. Normalisation
Base de données S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :
Plus en détailModule 0 : Présentation de Windows 2000
Module 0 : Présentation de Table des matières Vue d'ensemble Systèmes d'exploitation Implémentation de la gestion de réseau dans 1 Vue d'ensemble Donner une vue d'ensemble des sujets et des objectifs de
Plus en détailMySQL. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada
MySQL (Administrateur) (Dernière édition) Programme de formation Microsoft Partner France, Belgique, Suisse, Roumanie - Canada WWW.SASGROUPE.COM Formez vos salariés pour optimiser la productivité de votre
Plus en détailBASE DE DONNÉES XML NATIVE
BASE DE DONNÉES XML NATIVE NXDB - exist - XQuery IvMad, 2011-2012 2 1. exist exist-db Open Source Native XML Database Ce cours s inspire, reprend, modifie et enrichi des supports disponibles sur Internet
Plus en détailGestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed
6, bd maréchal Juin F-14050 Caen cedex 4 Spécialité Informatique 2 e année Rapport de projet Gestion du parc informatique matériel et logiciel de l Ensicaen SAKHI Taoufik SIFAOUI Mohammed Suivi ENSICAEN
Plus en détailAlfresco et TYPO3 Présenté par Yannick Pavard dans le cadre des rencontres WebEducation Février 2008
Alfresco et TYPO3 Présenté par Yannick Pavard dans le cadre des rencontres WebEducation Février 2008 Objectifs À la fin de cette présentation, vous serez en mesure : de citer des ministères ayant fait
Plus en détailPostgreSQL. Formations. SQL avancé... 10. Calendrier... 18
Formations PostgreSQL Catalogue 2015 PostgreSQL Administration... 4 PostgreSQL Avancé... 5 PostgreSQL Hot Standby... 6 PostgreSQL Performance... 7 PostgreSQL Sauvegardes... 8 SQL : Conception & Mise en
Plus en détailSIO-65291 Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault
SIO-65291 Page 1 de 5 1- Objectifs généraux Applications Web dynamiques Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault acquérir les principes et concepts fondamentaux dans le domaine d'applications
Plus en détailÉCONOMIE ET GESTION LYCÉES TECHNOLOGIQUE ET PROFESSIONNEL
ÉCONOMIE ET GESTION LYCÉES TECHNOLOGIQUE ET PROFESSIONNEL Au niveau du second degré, l'économie et gestion recouvre un ensemble de champs disciplinaires relevant de l'économie, du droit, des sciences de
Plus en détailLes Architectures Orientées Services (SOA)
Les Architectures Orientées Services (SOA) Ulrich Duvent Guillaume Ansel Université du Littoral Côte d Opale 50, Rue Ferdinand Buisson BP 699 62228 Calais Cedex Téléphone (33) 03.21.46.36.92 Télécopie
Plus en détailCours Bases de données
Informations sur le cours Cours Bases de données 9 (10) séances de 3h Polycopié (Cours + TD/TP) 3 année (MISI) Antoine Cornuéjols www.lri.fr/~antoine antoine.cornuejols@agroparistech.fr Transparents Disponibles
Plus en détailLes tableaux de bord de pilotage de nouvelle génération. Copyright 2002-2008 PRELYTIS
Les tableaux de bord de pilotage de nouvelle génération Sommaire PRELYTIS en quelques mots LiveDashBoard : principes directeurs et positionnement La couverture fonctionnelle Démonstration Les packages
Plus en détailDRUPAL Réalisez des développements professionnels avec PHP (2ième édition)
Introduction 1. Les systèmes de gestion de contenu 11 2. Les avantages de Drupal 15 3. Le fonctionnement de Drupal 17 4. L'environnement de développement 20 5. L'installation de Drupal 25 6. Le passage
Plus en détailSITools2, un système d'accès aux données scientifiques web 2.0
SITools2, un système d'accès aux données scientifiques web 2.0 Jean-Christophe Malapert CNES 18 Av. Edouard Belin 31400 Toulouse Cedex 9 Hervé Ballans IAS Centre universitaire d Orsay, Bât 120 121, 91405
Plus en détailModule BD et sites WEB
Module BD et sites WEB Cours 8 Bases de données et Web Anne Doucet Anne.Doucet@lip6.fr 1 Le Web Architecture Architectures Web Client/serveur 3-tiers Serveurs d applications Web et BD Couplage HTML-BD
Plus en détailInitiation aux bases de données (SGBD) Walter RUDAMETKIN
Initiation aux bases de données (SGBD) Walter RUDAMETKIN Bureau F011 Walter.Rudametkin@polytech-lille.fr Moi Je suis étranger J'ai un accent Je me trompe beaucoup en français (et en info, et en math, et...)
Plus en détailConfiguration Interface for MEssage ROuting
Configuration Interface for MEssage ROuting Cahier des Charges Date : 05/04/07 Version : 1.1 Statut : diffusable Auteurs : BAGNARD Natacha FOROT Julien 1/16 Table des révisions Version Date Modifications
Plus en détailbasée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML
basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes
Plus en détailPlan de notre intervention 1. Pourquoi le test de charge? 2. Les différents types de tests de charge 1.1. Le test de performance 1.2.
Plan de notre intervention 1. Pourquoi le test de charge? 2. Les différents types de tests de charge 1.1. Le test de performance 1.2. Le test aux limites 3. Méthode 2.1. Pré-requis 2.2. Préparation des
Plus en détailAuthentification avec CAS sous PRONOTE.net 2011. Version du lundi 19 septembre 2011
1 Authentification avec CAS sous PRONOTE.net 2011 Version du lundi 19 septembre 2011 2 1 - Vocabulaire employé et documentation... 3 1.1 - SSO (Single Sign-On)... 3 1.2 - CAS (Central Authentication Service)...
Plus en détailArchitectures web/bases de données
Architectures web/bases de données I - Page web simple : HTML statique Le code HTML est le langage de base pour concevoir des pages destinées à être publiées sur le réseau Internet ou intranet. Ce n'est
Plus en détailWebDAV en 2 minutes. Tous ces objectifs sont complémentaires et ils sont atteints grâce au seul protocole WebDAV. Scénarii
WebDAV en 2 minutes le but affirmé du groupe de travail WebDAV (DAV) est (pour ses concepteurs) de "définir les extensions de HTTP nécessaires pour assurer la disponibilité d'outils WEB de création collective
Plus en détailConduite de projets informatiques Développement, analyse et pilotage (2ième édition)
Avant-propos 1. Objectifs du livre 13 2. Structure du livre 14 Un projet informatique 1. Les enjeux 17 1.1 Les buts d'un projet 17 1.2 Les protagonistes d'un projet 18 1.3 Exemples de projets 19 2. Les
Plus en détailLe "tout fichier" Le besoin de centraliser les traitements des fichiers. Maitriser les bases de données. Historique
Introduction à l informatique : Information automatisée Le premier ordinateur Définition disque dure, mémoire, carte mémoire, carte mère etc Architecture d un ordinateur Les constructeurs leader du marché
Plus en détailGestion des documents associés
Gestion des documents associés Gestion des documents associés 1 Introduction 1.1 1.2 Introduction 4 Principe des deux modes de gestion des documents 5 2 Les pièces jointes ArcGIS 2.1 2.2 2.3 2.4 2.5 2.6
Plus en détailIntroduction aux SGBDR
1 Introduction aux SGBDR Pour optimiser une base Oracle, il est important d avoir une idée de la manière dont elle fonctionne. La connaissance des éléments sous-jacents à son fonctionnement permet de mieux
Plus en détailLes nouvelles architectures des SI : Etat de l Art
Les nouvelles architectures des SI : Etat de l Art Objectif Mesurer concrètement les apports des nouvelles applications SI. Être capable d'évaluer l'accroissement de la complexité des applications. Prendre
Plus en détailArchitecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application
Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces
Plus en détailMEDIAplus elearning. version 6.6
MEDIAplus elearning version 6.6 L'interface d administration MEDIAplus Sommaire 1. L'interface d administration MEDIAplus... 5 2. Principes de l administration MEDIAplus... 8 2.1. Organisations et administrateurs...
Plus en détailTHEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL
. THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL Mr MEZRED MOHAMED Ingénieur météorologue INTRODUCTION Il existe de nombreuses manières de construire une base de données. En effet,
Plus en détailTEXT MINING. 10.6.2003 1 von 7
TEXT MINING 10.6.2003 1 von 7 A LA RECHERCHE D'UNE AIGUILLE DANS UNE BOTTE DE FOIN Alors que le Data Mining recherche des modèles cachés dans de grandes quantités de données, le Text Mining se concentre
Plus en détailLangage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>
Langage HTML (2 partie) «Je n'ai fait que prendre le principe d - hypertexte et le relier au principe du TCP et du DNS et alors boum! ce fut le World Wide Web!» Tim Berners-Lee
Plus en détailDirection des Technologies de l Information. Présentation OCDE. Contribution du Parlement européen. L utilisation de l OPEN SOURCE au PE
Direction des Technologies de l Information Présentation OCDE Contribution du Parlement européen L utilisation de l OPEN SOURCE au PE DIRECTION GÉNÉRALE DE LA PRÉSIDENCE DIRECTION DES TECHNOLOGIES DE L
Plus en détailMaster Technologies numériques appliquées à l'histoire Deuxième année
Master Technologies numériques appliquées à l'histoire Deuxième année Octobre 2014 Octobre Novembre Décembre Semaine 1 Semaine 2 Semaine 3 Semaine 4 Semaine 5 Semaine 6 Semaine 7 Semaine 8 Semaine 9 Semaine
Plus en détailMéthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel.
Méthode de Test Pour WIKIROUTE Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel. [Tapez le nom de l'auteur] 10/06/2009 Sommaire I. Introduction...
Plus en détailNOUVEAUTES de Microsoft Dynamics CRM 2011 REF FR 80342A
NOUVEAUTES de Microsoft Dynamics CRM 2011 REF FR 80342A Durée : 1 jour A propos de ce cours Cette formation d'un jour, Nouveautés de Microsoft Dynamics CRM 2011, fournit aux étudiants les outils et informations
Plus en détailCommuniqué de Lancement
Direction du Marketing Produits Sage - Division Mid Market Communiqué de Lancement Rapprochement Bancaire 1000 Produit : Rapprochement Bancaire 1000 Bases de Données : Oracle - MS/SQL Server Microsoft
Plus en détailJAVA 8. JAVA 8 - Les fondamentaux du langage. Les fondamentaux du langage Java. Avec exercices pratiques et corrigés JAVA 8 29,90.
Analyste et développeur pendant plus de 10 ans, Thierry GROUSSARD s est ensuite orienté vers la formation et plus particulièrement dans le domaine du développement. Sa connaissance approfondie des besoins
Plus en détailLANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation
ING 01 LANGAGUE JAVA Durée : 21 heures 1090 HT / jour Dates : à définir en 2012 Concevoir et développer des programmes en langage Java Comprendre le fonctionnement de la machine virtuelle S approprier
Plus en détailDÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques
livre blanc DÉVELOPPEMENT INFONUAGIQUE MEILLEURES PRATIQUES ET APPLICATIONS DE SOUTIEN DÉVELOPPEMENT INFONUAGIQUE - MEILLEURES PRATIQUES 1 Les solutions infonuagiques sont de plus en plus présentes sur
Plus en détailGuide d'intégration à ConnectWise
Guide d'intégration à ConnectWise INTÉGRATION DE CONNECTWISE À BITDEFENDER CONTROL CENTER Guide d'intégration à ConnectWise Intégration de ConnectWise à Bitdefender Control Center Date de publication 2015.05.14
Plus en détailStockage du fichier dans une table mysql:
Stockage de fichiers dans des tables MYSQL avec PHP Rédacteur: Alain Messin CNRS UMS 2202 Admin06 30/06/2006 Le but de ce document est de donner les principes de manipulation de fichiers dans une table
Plus en détailLES ACCES ODBC AVEC LE SYSTEME SAS
LES ACCES ODBC AVEC LE SYSTEME SAS I. Présentation II. SAS/ACCESS to ODBC III. Driver ODBC SAS IV. Driver ODBC SAS Universel V. Version 8 VI. Références I. Présentation Introduction ODBC, qui signifie
Plus en détailhttp://www.linea21.com info@linea21.com
Livre blanc http://www.linea21.com SOMMAIRE SOMMAIRE... 1 PRESENTATION... 2 TIC ET DEVELOPPEMENT DURABLE... 3 PUBLIER ET COMMUNIQUER... 4 LES GROUPES DE TRAVAIL...5 LE TABLEAU DE BORD PERSONNALISE... 6
Plus en détailUn serveur d'archivage
Un serveur d'archivage destiné au Service Commun de Documentation de l'université de la Méditerranée Encadrement : Noël Novelli Représentants client (S.C.D.) : Axelle Clarisse Ronan Lagadic Equipe Projet
Plus en détailWindows Server 2008. Chapitre 3 : Le service d annuaire Active Directory: Concepts de base
Windows Server 2008 Chapitre 3 : Le service d annuaire Active Directory: Concepts de base omar.cheikhrouhou@isetsf.rnu.tn omar.cheikhrouhou@ceslab.org Objectives Comprendre les concepts de base d Active
Plus en détailHébergement de site web Damien Nouvel
Hébergement de site web Plan L'hébergeur Le serveur web Apache Sites dynamiques 2 / 27 Plan L'hébergeur Le serveur web Apache Sites dynamiques 3 / 27 L'hébergeur L'hébergeur sous-traite l'architecture
Plus en détailInstallation / configuration des applications PreInscription et Inscription Web Ajax
Installation / configuration des applications PreInscription et Inscription Web Ajax 1. Overview 2. Pré-requis 3. Où trouver les applications / ressources 4. Configuration base de données 5. Configuration
Plus en détailXML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)
Présentation du langage XML 1. De SGML à XML 17 2. Les bases de XML 18 2.1 Rappel sur HTML 18 2.2 Votre premier document XML 19 2.3 Les avantages de XML 21 3. La syntaxe XML 21 3.1 La première ligne du
Plus en détailECLIPSE ET PDT (Php development tools)
ECLIPSE ET PDT (Php development tools) Eclipse Eclipse est un IDE (Integrated Development Environment)).C estun projet de la Fondation Eclipse visant à développer tout un environnement de développement
Plus en détailAcronis Backup & Recovery 10 Advanced Server Virtual Edition. Guide de démarrage rapide
Acronis Backup & Recovery 10 Advanced Server Virtual Edition Guide de démarrage rapide Ce document explique comment installer et utiliser Acronis Backup & Recovery 10 Advanced Server Virtual Edition. Copyright
Plus en détailPROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN
PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN 1. DÉVELOPPEMENT D'APPLICATION (CONCEPTEUR ANALYSTE) 1.1 ARCHITECTURE MATÉRIELLE DU SYSTÈME INFORMATIQUE 1.1.1 Architecture d'un ordinateur Processeur,
Plus en détailAvant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4
Les exemples cités tout au long de cet ouvrage sont téléchargeables à l'adresse suivante : http://www.editions-eni.fr. Saisissez la référence ENI de l'ouvrage EP5EJAV dans la zone de recherche et validez.
Plus en détailMercredi 15 Janvier 2014
De la conception au site web Mercredi 15 Janvier 2014 Loïc THOMAS Géo-Hyd Responsable Informatique & Ingénierie des Systèmes d'information loic.thomas@anteagroup.com 02 38 64 26 41 Architecture Il est
Plus en détailwebmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09
AISL - Architecture et Intégration des Systèmes Logiciels - 2011-2012 webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09 Administrer un serveur et
Plus en détailService de réplication des données HP pour la gamme de disques Continuous Access P9000 XP
Service de réplication des données HP pour la gamme de disques Continuous Access P9000 XP Services HP Care Pack Données techniques Le service de réplication des données HP pour Continuous Access offre
Plus en détailQu'est-ce que le BPM?
Qu'est-ce que le BPM? Le BPM (Business Process Management) n'est pas seulement une technologie mais, dans les grandes lignes, une discipline de gestion d'entreprise qui s'occupe des procédures contribuant
Plus en détailMaster I Génie Logiciel
1. Introduction Master I Génie Logiciel Dr. Imed Bouchrika Dept de Mathematique & Informatique Université de Souk-Ahras imed@imed.ws Amira Hakim, Mariem Sari, Sara Khelifi & Imed Bouchrika University of
Plus en détailM2 SIAW - Exemples de stages réalisés. Gabriella Salzano - Document de travail - 28/1/2015
M2 SIAW - Exemples de stages réalisés Gabriella Salzano - Document de travail - 28/1/2015 Les étudiants du M2 SIAW réalisent généralement leurs stages dans des entreprises, parfois dans des laboratoires
Plus en détailWindows Azure Platform Développez, déployez et administrez pour le Cloud Microsoft
Avant-propos 1. Pourquoi ce livre? 11 2. À qui s adresse cet ouvrage? 12 3. Structure de l ouvrage 12 4. Remerciements 13 Le Cloud 1. Introduction 15 2. Présentation du concept 15 2.1 Historique de l'hébergement
Plus en détailIntroduction aux Bases de Données Relationnelles Conclusion - 1
Pratique d un : MySQL Objectifs des bases de données Où en sommes nous? Finalement, qu est-ce qu un? Modèle relationnel Algèbre relationnelle Conclusion SQL Conception et rétro-conception Protection de
Plus en détailTarification comparative pour l'industrie des assurances
Étude technique Tarification comparative pour l'industrie des assurances Les technologies de l'information appliquées aux solutions d'affaires Groupe CGI inc., 2004. Tous droits réservés. Aucune partie
Plus en détailSage CRM. 7.2 Guide de Portail Client
Sage CRM 7.2 Guide de Portail Client Copyright 2013 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur microfilm,
Plus en détailFiche technique: Archivage Symantec Enterprise Vault for Microsoft Exchange Stocker, gérer et rechercher les informations stratégiques de l'entreprise
Stocker, gérer et rechercher les informations stratégiques de l'entreprise Archivage de référence pour les messages électroniques Symantec Enterprise Vault, produit phare en matière d'archivage de contenu
Plus en détail//////////////////////////////////////////////////////////////////// Administration bases de données
////////////////////// Administration bases de données / INTRODUCTION Système d informations Un système d'information (SI) est un ensemble organisé de ressources (matériels, logiciels, personnel, données
Plus en détailSEP 2B juin 20. Guide méthodologique de calcul du coût d une prestation
SEP 2B juin 20 12 Guide méthodologique de calcul du coût d une Sommaire Préambule 3 Objectif et démarche 3 1 Les objectifs de la connaissance des coûts 4 2 Définir et identifier une 5 Calculer le coût
Plus en détail2 Grad Info Soir Langage C++ Juin 2007. Projet BANQUE
2 Grad Info Soir Langage C++ Juin 2007 Projet BANQUE 1. Explications L'examen comprend un projet à réaliser à domicile et à documenter : - structure des données, - objets utilisés, - relations de dépendance
Plus en détailWysiUpStudio. CMS professionnel. pour la création et la maintenance évolutive de sites et applications Internet V. 6.x
WysiUpStudio CMS professionnel pour la création et la maintenance évolutive de sites et applications Internet V. 6.x UNE SOLUTION DE GESTION DE CONTENUS D UNE SOUPLESSE INÉGALÉE POUR CRÉER, MAINTENIR ET
Plus en détailProgrammation des Applications Réparties. Parsers XML DOM et SAX
Programmation des Applications Réparties Parsers XML DOM et SAX Luiz Angelo Steffenel luiz-angelo.steffenel@univ-reims.fr Steffenel Programmation des Applications Réparties Master M1-2007-2008 1 Comment
Plus en détailFORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères
FORMATION PcVue Mise en œuvre de WEBVUE Journées de formation au logiciel de supervision PcVue 8.1 Lieu : Lycée Pablo Neruda Saint Martin d hères Centre ressource Génie Electrique Intervenant : Enseignant
Plus en détailFileMaker Server 13. Publication Web personnalisée avec XML
FileMaker Server 13 Publication Web personnalisée avec XML 2004-2013 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker et Bento sont
Plus en détailGuide de configuration de SQL Server pour BusinessObjects Planning
Guide de configuration de SQL Server pour BusinessObjects Planning BusinessObjects Planning XI Release 2 Copyright 2007 Business Objects. Tous droits réservés. Business Objects est propriétaire des brevets
Plus en détailConditions Particulières de Maintenance. Table des matières. Ref : CPM-1.2 du 08/06/2011
Conditions Particulières de Maintenance Ref : Table des matières 1 CONDITIONS PARTICULIÈRES APPLICABLES AUX CONTRATS DE MAINTENANCE...2 1.1 Préambule...2 1.2 Obligations d'atreal et services rendus...2
Plus en détail1/ Présentation de SQL Server :
Chapitre II I Vue d ensemble de Microsoft SQL Server Chapitre I : Vue d ensemble de Microsoft SQL Server Module: SQL server Semestre 3 Année: 2010/2011 Sommaire 1/ Présentation de SQL Server 2/ Architerture
Plus en détail1 JBoss Entreprise Middleware
1 JBoss Entreprise Middleware Les produits de la gamme JBoss Entreprise Middleware forment une suite de logiciels open source permettant de construire, déployer, intégrer, gérer et présenter des applications
Plus en détailProjet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :
CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE Projet 2 Gestion des services enseignants G r o u p e : B E L G H I T Y a s m i n e S A N C H E Z - D U B R O N T Y u r i f e r M O N T A Z E R S i
Plus en détailMysql. Les requêtes préparées Prepared statements
Mysql Les requêtes préparées Prepared statements Introduction Les prepared statements côté serveur sont une des nouvelles fonctionnalités les plus intéressantes de MySQL 4.1 (récemment sorti en production
Plus en détailSciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION
Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION Classe de terminale de la série Sciences et Technologie du Management et de la Gestion Préambule Présentation Les technologies de l information
Plus en détailManuel Utilisateur de l'installation du connecteur Pronote à l'ent
de l'installation du connecteur Pronote à l'ent Page : 1/28 SOMMAIRE 1 Introduction...3 1.1 Objectif du manuel...3 1.2 Repères visuels...3 2 Paramétrage de la connexion entre l'ent et Pronote...4 2.1 Informations
Plus en détail