Colloque Juriconnexion

14 NOVEMBRE 2002 : Données juridiques électroniques : pour une démarche qualité

10h30-11h00

Production et diffusion des données juridiques électroniques (XML, DTD,...) : la phase de normalisation

par Stéphane Cottin
Chef du service du greffe, Conseil Constitutionnel.
et Guiraude Lame
Responsable système d'information juridique. Caisse Nationale des Caisses d'Epargne

Problématique : créer une chaîne de solidarité du producteur au consommateur de données juridiques

Etat de l'art :

Ecueils et limites :

Enjeux :

 

Définitions et présentations de quelques DTD


Bibliographie :

Données générales :

Le travail le plus important sur les recherches publiées depuis 50 ans sur l'automatisation des données juridiques est certainement la bibliographie de la thèse de Jean Leclercq. Thèse Lille II octobre 1999 (à télécharger sur http://www.village-justice.com/informatique_juridique/articles/informatique.html ) Les Représentations Informatiques des Connaissances Juridiques. - l'Expérience Française -

On retiendra notamment

- Mackay P., La normalisation des documents juridiques. Le choix et la définition de standards en vue de l'échange de documents informatisés (EDI) dans l'administration de la justice, in L'écriture du droit... face aux technologies de l'information (25-27 octobre 1993), Diderot Éditeur, 1996, p.319.

Par source du droit :

Sur les Normes :

- http://

  • Bergeal, Catherine. Savoir rédiger un texte normatif : Loi, décret, arrêté, circulaire... 3e éd. augmentée et mise a jour au 1er janvier 2000. Paris : Berger-Levrault , 2000. 263 p. Gestion publique. Série"Guides d'action"

    - Rémy, Dominique, "Légistique, l'art de faire les lois". Romillat, Paris, 1994.

    Textes :

    - Circulaire du 8 décembre 1986 relative à la mise en place d'un système normalisé de numérotation - NOR - des textes officiels

    - Circulaire du 30 janvier 1997 relative aux règles d'élaboration, de signature et de publication des textes au Journal officiel et à la mise en oeuvre de procédures particulières incombant au Premier ministre (J.O n° 27 du 1 février 1997 page 1720)

    - Circulaire du 20 octobre 2000 relative au mode de décompte des alinéas lors de l'élaboration des textes (J.O n° 253 du 31 octobre 2000 page 17302)

    Sur la Jurisprudence :

    Plus spécifiquement, sur la Cour de cassation, on trouvera dans le fascicule 759 du Jurisclasseur Procédure civile, une bibliographie conséquente, mais aussi le texte intégral de nombreux textes législatifs et réglementaires sur le sujet. On y retiendra notamment les fascicules rédigés par André Perdriau, auteur aussi de La pratique des arrêts civils de la Cour de cassation, Litec 1993.

    - Estoup, Pierre. Les jugements civils : principes et méthodes de rédaction. Paris : Litec, 1988, xi,112 p.

    - Droit comparé : Voir le colloque "Juges et jugements : l'Europe plurielle. L'élaboration de la décision de justice en droit comparé", colloque organisé par l'Institut de droit comparé de Paris et l'Ecole nationale de la magistrature, les 5 et 6 mai 1997, à l'Ecole nationale de la magistrature. Paris : Société de législation comparée, 1998, 111 p.

    Sur la Doctrine :

    http://www.bibliotheques.uqam.ca/recherche/Thematiques/Sc_juridiques/docjur/doctrine.html#citations

    Normes AFNOR Z44 005 / ISO 690

    The Blue Book: A Guide to Legal Citation 17th ed. ISBN: 8765015479


    Quelques définitions. Guiraude Lame

    XML

    XML (entendez eXtensible Markup Language et traduisez Langage à balises étendu, ou Langage à balises extensibles) est en quelque sorte un langage HTML amélioré permettant de définir de nouvelles balises. Il s'agit effectivement d'un langage permettant de mettre en forme des documents grâce à des balises (markup).

    Contrairement à HTML, qui est à considérer comme un langage défini et figé (avec un nombre de balises limité), XML peut être considé comme un métalangage permettant de définir d'autres langages, c'est-à-dire définir de nouvelles balises permettant de décrire la présentation d'un texte (Qui n'a jamais désiré une balise qui n'existait pas ?).
    La force de XML réside dans sa capacité à pouvoir décrire n'importe quel domaine de données grâce à son extensibilité. Il va permettre de structurer, poser le vocabulaire et la syntaxe des données qu'il va contenir.

    En réalité les balises XML décrivent le contenu plutôt que la présentation (contrairement À HTML). Ainsi, XML permet de séparer le contenu de la présentation .. ce qui permet par exemple d'afficher un même document sur des applications ou des périphériques différents sans pour autant nécessiter de créer autant de versions du document que l'on nécessite de représentations !

    XML a é mis au point par le XML Working Group sous l'égide du World Wide Web Consortium (W3C) dès 1996. Depuis le 10 février 1998, les spécifications XML 1.0 ont é reconnues comme recommandations par le W3C, ce qui en fait un langage reconnu. (Tous les documents liés à la norme XML sont consultables et téchargeables sur le site web du W3C, http://www.w3c.org/XML/)

    XML est un sous ensemble de SGML (Standard Generalized Markup Language), défini par le standard ISO8879 en 1986, utilisé dans le milieu de la Gestion Electronique Documentaire (GED). XML reprend la majeure partie des fonctionnalités de SGML, il s'agit donc d'une simplification de SGML afin de le rendre utilisable sur le web !

    Source http://www.commentcamarche.net/xml/xmlintro.php3

    Le Document Type Definition

    Le DTD ou Document Type Declaration ou encore Document Type Definition est l'ensemble des règles et des propriés que doit suivre le document XML. Ces règles définissent géralement le nom et le contenu de chaque balise et le contexte dans lequel elles doivent exister. Cette formalisation des éments est particulièrement utile lorsqu'on utilise de façon récurrente des balises dans un document XML.

    Source http://www.ccim.be/ccim328/xml/

    Ainsi, plusieurs concepteurs peuvent se mettre d'accord sur la définition d'un seul et même DTD, ce qui leur permettra de produire des documents uniformément structurés donc écheangeables.

    Le CSS

    Pour afficher les balises XML, on peut faire appel aux bonnes vieilles feuilles de style (CSS), maintenant classiques dans le paysage Html. A chaque balise "inventée" dans le fichier XML, on va définir un ément de style que le navigateur pourra alors afficher.

    Source http://www.ccim.be/ccim328/xml/

    Ainsi, à chaque balise XML d'un ou plusieurs documents peut correspondre une mise en forme.

    Le XSL - Les feuilles de style du XML

    Comme le XML n'utilise pas des balises préfinies (car on peut inventer ses propres balises), le navigateur ne "comprend" pas les balises du XML et ne sais pas trop comment afficher un document XML.

    Pour néanmoins afficher des documents XML, il est nécessaire d'avoir un mécanisme pour décrire comment le document pourrait être affiché. Un de ces mécanismes est les feuilles de style classiques du Html (CSS), mais le XSL pour e Xtensible Stylesheet Language est de loin un langage de feuille de style plus adapté au XML et donc plus performant..

    Source http://www.ccim.be/ccim328/xml/

    Les éditeurs

    N'attendez pas de miracle des éditeurs XML ! Comme en XML vous fabriquez sur mesure vos balises, les éditeurs ne peuvent avoir qu'un rôle d'aide à l'encodage et à la structure de votre document.

    Les éditeurs XML sont cependant d'une grande utilité si vous avez de nombreuses balises récurrentes dans votre document XML. En outre, s'il en nécessaire d'actualiser souvent les données du votre fichier Xml, il sera beaucoup plus facile de vous retrouver dans l'interface d'un éditeur que dans le fouillis de balises du code source.

    Source http://www.ccim.be/ccim328/xml/

    Ex : XMLSpy, Xmetal …


    DOM

    DOM (Document Object Model, traduisez modèle objet de document) est une spécification du W3C (World Wide Web Consortium) définissant la structure d'un document sous forme d'une hiérarchie d'objets, afin de simplifier l'acs aux éments constitutifs du document.

    Plus exactement DOM est un langage normalisé d'interface (API, Application Programming Interface), indépendant de toute plateforme et de tout langage, permettant à une application de parcourir la structure du document et d'agir dynamiquement sur celui-ci. Ainsi Javascript et ECMAScript utilisent DOM pour naviguer au sein du document HTML, ce qui leur permet par exemple de pouvoir récupérer le contenu d'un formulaire, le modifier, ...

    DOM se divise en deux spécifications :

    · La spécificaion DOM level 1 (DOM niveau 1) se séparant en deux catégories

    o Core DOM level 1: La spécification pour les documents en général (dont XML)

    o HTML DOM level 1: La spécification retenant uniquement les méthodes applicables à HTML

    · La spécificaion DOM level 2 ajoutant de nouvelles fonctionnalités comme la prise en compte des feuilles de style CSS dans la hiérarchie d'objets.

    Source http://www.commentcamarche.net/xml/xmlintro.php3

    SAX

    SAX est une API basée sur un modèle énementiel, cela signifie que SAX permet de déclencher des énements au cours de l'analyse du document XML.
    Une application utilisant SAV implémente géralement des gestionnaires d'énements, lui permettant d'effectuer des opérations selon le type d'ément rencontré.

    Source http://www.commentcamarche.net/xml/xmlintro.php3


    http://fr.groups.yahoo.com/group/juriconnexion/files/

    Rappel des codes après le nom d'un ément :
    rien = 1 exactement (peut être vide, mais le champ est présent, et une seule fois)
    + = 1 à n (idem rien mais peut être redondé à l'infini)
    * = 0 à n (peut ne pas être présent, peut être redondé)
    ? = 0 ou 1 (mais pas plus)

    http://fr.groups.yahoo.com/group/juriconnexion/files/cass.dtd

    <?xml version="1.0" encoding="UTF-8"?>

    <!-- edited with XML Spy v4.1 (http://www.xmlspy.com) by Renzo ZANATTA (MEMOREM) -->

    <!ELEMENT UD_CASS (IDENT, DATE_TRAIT, JURIDICTION+, JUGEMENT+, PARTIES+, COMPO+, ARRET+)>

    <!ELEMENT IDENT (#PCDATA)>

    <!ELEMENT DATE_TRAIT (#PCDATA)>

    <!ELEMENT JURIDICTION (C0AG_NATUREJP, C0AA_JURIDICTION, C0AB_FORMATION)>

    <!ELEMENT C0AG_NATUREJP (#PCDATA)>

    <!ELEMENT C0AA_JURIDICTION (#PCDATA)>

    <!ELEMENT C0AB_FORMATION (#PCDATA)>

    <!ELEMENT JUGEMENT (C0AD_DATE_ARRET, C0AJ_NUM_ENREG, C0AJ_NUM_POURV*, ARRET_DOC, C0AM_CODE_PUBL, C0AM_LIB_PUBL, C0AV_SOLUTION, C0AX_JGT_ATTAQUE, C0EA_REF_PUBL, C0EC_REF_DOCT)>

    <!ELEMENT C0AD_DATE_ARRET (#PCDATA)>

    <!ELEMENT C0AJ_NUM_ENREG (#PCDATA)>

    <!ELEMENT C0AJ_NUM_POURV (#PCDATA)>

    <!ELEMENT ARRET_DOC (#PCDATA)>

    <!ELEMENT C0AM_CODE_PUBL (#PCDATA)>

    <!ELEMENT C0AM_LIB_PUBL (#PCDATA)>

    <!ELEMENT C0AV_SOLUTION (#PCDATA)>

    <!ELEMENT C0AX_JGT_ATTAQUE (#PCDATA)>

    <!ELEMENT C0EA_REF_PUBL (#PCDATA)>

    <!ELEMENT C0EC_REF_DOCT (#PCDATA)>

    <!ELEMENT PARTIES (C0AO_DEMANDEUR, C0AP_DEFENDEUR)>

    <!ELEMENT C0AO_DEMANDEUR (#PCDATA)>

    <!ELEMENT C0AP_DEFENDEUR (#PCDATA)>

    <!ELEMENT COMPO (C0DA_PDT, C0DB_RAPP, C0DC_AV_GEN, C0DD_AVOCATS, C0DE_AVOCATS)>

    <!ELEMENT C0DA_PDT (#PCDATA)>

    <!ELEMENT C0DB_RAPP (#PCDATA)>

    <!ELEMENT C0DC_AV_GEN (#PCDATA)>

    <!ELEMENT C0DD_AVOCATS (#PCDATA)>

    <!ELEMENT C0DE_AVOCATS (#PCDATA)>

    <!ELEMENT ARRET (CITATIONS?, ANALYSE?, TEXTE_INTEGRAL?)>

    <!ELEMENT CITATIONS (C700_CITATRAITE?, C705_CITACONSTIT?, C710_CITACODE?, C720_CITALOI?, C730_CITAORDONNANCE?, C740_CITADECRET?, C741_CITAARRETE?, C750_CITACIRCUL?, C757_CITACONVCOLL?, C760_CITAJP1?, C761_CITAJP2?)>

    <!ELEMENT C700_CITATRAITE ANY>

    <!ELEMENT C705_CITACONSTIT ANY>

    <!ELEMENT C710_CITACODE ANY>

    <!ELEMENT C720_CITALOI ANY>

    <!ELEMENT C730_CITAORDONNANCE ANY>

    <!ELEMENT C740_CITADECRET ANY>

    <!ELEMENT C741_CITAARRETE ANY>

    <!ELEMENT C750_CITACIRCUL ANY>

    <!ELEMENT C757_CITACONVCOLL ANY>

    <!ELEMENT C760_CITAJP1 ANY>

    <!ELEMENT C761_CITAJP2 ANY>

    <!ELEMENT ANALYSE (TITRE_P*, SOMMAIRE*, TITRE_REF*)*>

    <!ELEMENT C8XA_TITREP (#PCDATA)>

    <!ELEMENT C8XB_SOMMAIRE (#PCDATA)>

    <!ELEMENT C8XD_TITRE_REF (#PCDATA)>

    <!ELEMENT TITRE_P (CODESEC*, TEXTESEC*)*>

    <!ELEMENT SOMMAIRE (CODESEC*, TEXTESEC*)*>

    <!ELEMENT TITRE_REF (CODESEC*, TEXTESEC*)*>

    <!ELEMENT TEXTE_INTEGRAL (CODESEC*, TEXTESEC*)*>

    <!ELEMENT C700_TYPE (#PCDATA)>

    <!ELEMENT C700_LIGNE_REF (#PCDATA)>

    <!ELEMENT C9ZA_TEXTE_INTEGRAL ANY>

    <!ELEMENT CODESEC (#PCDATA)>

    <!ELEMENT TEXTESEC ANY>


    http://fr.groups.yahoo.com/group/juriconnexion/files/juridice.dtd

    <?xml version='1.0' encoding='UTF-8' ?>

    <!--Generated by XML Authority-->

    <!ELEMENT UD_CASS (ID_DOCUMENT , IDENT , DATE_TRAIT , TYPE_ARRET , JURIDICTION , JUGEMENT , PARTIES , COMPO , ARRET , SOURCE , DT_CREATION , AUT_CREATION , DT_MODIF , AUT_MODIF , NUMPOURVOIS)>

    <!ELEMENT ID_DOCUMENT (#PCDATA)>

    <!ELEMENT IDENT (#PCDATA)>

    <!ELEMENT DATE_TRAIT (#PCDATA)>

    <!ELEMENT TYPE_ARRET (#PCDATA)>

    <!ELEMENT JURIDICTION (C0AG_NATUREJP , C0AA_JURIDICTION , C0AB_FORMATION)>

    <!ELEMENT C0AG_NATUREJP (#PCDATA)>

    <!ELEMENT C0AA_JURIDICTION (#PCDATA)>

    <!ELEMENT C0AB_FORMATION (#PCDATA)>

    <!ELEMENT JUGEMENT (C0AD_DATE_ARRET , C0AJ_NUM_POURV , ARRET_DOC , C0AM_CODE_PUBL , C0AM_LIB_PUBL , C0AV_SOLUTION , C0AC_JGT_ATTAQUE , C0EA_REFL_PUBL , C0EC_REF_DOCT)>

    <!ELEMENT C0AD_DATE_ARRET (#PCDATA)>

    <!ELEMENT C0AJ_NUM_POURV (#PCDATA)>

    <!ELEMENT ARRET_DOC (#PCDATA)>

    <!ELEMENT C0AM_CODE_PUBL (#PCDATA)>

    <!ELEMENT C0AM_LIB_PUBL (#PCDATA)>

    <!ELEMENT C0AV_SOLUTION (#PCDATA)>

    <!ELEMENT C0AC_JGT_ATTAQUE (#PCDATA)>

    <!ELEMENT C0EA_REFL_PUBL (#PCDATA)>

    <!ELEMENT C0EC_REF_DOCT (#PCDATA)>

    <!ELEMENT PARTIES (C0AO_DEMANDEUR , C0AP_DEFENDEUR)>

    <!ELEMENT C0AO_DEMANDEUR (#PCDATA)>

    <!ELEMENT C0AP_DEFENDEUR (#PCDATA)>

    <!ELEMENT COMPO (COMPOSITION , C0DA_PDT , C0DB_RAPP , C0DC_AV_GEN , C0DD_AVOCATS)>

    <!ELEMENT COMPOSITION (#PCDATA)>

    <!ELEMENT C0DA_PDT (#PCDATA)>

    <!ELEMENT C0DB_RAPP (#PCDATA)>

    <!ELEMENT C0DC_AV_GEN (#PCDATA)>

    <!ELEMENT C0DD_AVOCATS (#PCDATA)>

    <!ELEMENT ARRET (CITATIONS , ANALYSE , TEXTE_INTEGRAL)>

    <!ELEMENT CITATIONS (TEXTE_VISE , RAPPROCHEMENT)>

    <!ELEMENT TEXTE_VISE (#PCDATA)>

    <!ELEMENT RAPPROCHEMENT (#PCDATA)>

    <!ELEMENT ANALYSE (TITRE_P , PREMIER_MAILLON , AUTRE_MAILLONS , SOMMAIRE , TITRES_REFERENCE)>

    <!ATTLIST ANALYSE id CDATA #REQUIRED >

    <!ELEMENT TITRE_P (#PCDATA)>

    <!ELEMENT PREMIER_MAILLON (#PCDATA)>

    <!ELEMENT AUTRE_MAILLONS (AUTRE_MAILLON*)>

    <!ELEMENT AUTRE_MAILLON (#PCDATA)>

    <!ATTLIST AUTRE_MAILLON id CDATA #REQUIRED >

    <!ELEMENT SOMMAIRE (#PCDATA)>

    <!ELEMENT TITRES_REFERENCE (TITRE_REF*)>

    <!ELEMENT TITRE_REF (#PCDATA)>

    <!ATTLIST TITRE_REF id CDATA #REQUIRED >

    <!ELEMENT TEXTE_INTEGRAL (#PCDATA)>

    <!ELEMENT SOURCE (#PCDATA)>

    <!ELEMENT DT_CREATION (#PCDATA)>

    <!ELEMENT AUT_CREATION (#PCDATA)>

    <!ELEMENT DT_MODIF (#PCDATA)>

    <!ELEMENT AUT_MODIF (#PCDATA)>

    <!ELEMENT NUMPOURVOIS (NUMPOURVOI)>

    <!ELEMENT NUMPOURVOI (#PCDATA)>

    <!ATTLIST NUMPOURVOI id CDATA #REQUIRED >


    http://fr.groups.yahoo.com/group/juriconnexion/files/jade.dtd

    <?xml version="1.0" encoding="UTF-8"?>

    <!-- edited with XML Spy v4.1 (http://www.xmlspy.com) by Renzo ZANATTA (MEMOREM) -->

    <!ELEMENT UD_JADE (IDENT, DATE_TRAIT, JURIDICTION+, JUGEMENT+, PARTIES+, COMPO+, INFO+, ARRET+)>

    <!ELEMENT IDENT (#PCDATA)>

    <!ELEMENT DATE_TRAIT (#PCDATA)>

    <!ELEMENT JURIDICTION (C0AF_NUM_ROLE+, C0AA_JURIDICTION+, C0AB_FORMATION+)>

    <!ELEMENT C0AF_NUM_ROLE (#PCDATA)>

    <!ELEMENT C0AA_JURIDICTION (#PCDATA)>

    <!ELEMENT C0AB_FORMATION (#PCDATA)>

    <!ELEMENT JUGEMENT (C0AD_DATE_ARRET+, C0AJ_NUM_ENR_REQ+, ARRET_DOC, C0AM_CODE_PUBL+, C0AM_LIB_PUBL, C0AV_SOLUTION, C0AX_JGT_ATTAQUE, C0EA_REF_PUBL, C0EC_REF_DOCT)>

    <!ELEMENT C0AD_DATE_ARRET (#PCDATA)>

    <!ELEMENT C0AJ_NUM_ENR_REQ (#PCDATA)>

    <!ELEMENT ARRET_DOC (#PCDATA)>

    <!ELEMENT C0AM_CODE_PUBL (#PCDATA)>

    <!ELEMENT C0AM_LIB_PUBL (#PCDATA)>

    <!ELEMENT C0AV_SOLUTION (#PCDATA)>

    <!ELEMENT C0AX_JGT_ATTAQUE (#PCDATA)>

    <!ELEMENT C0EA_REF_PUBL (#PCDATA)>

    <!ELEMENT C0EC_REF_DOCT (#PCDATA)>

    <!ELEMENT PARTIES (C0AO_DEMANDEUR+, C0AP_DEFENDEUR+)>

    <!ELEMENT C0AO_DEMANDEUR (#PCDATA)>

    <!ELEMENT C0AP_DEFENDEUR (#PCDATA)>

    <!ELEMENT COMPO (C0DA_PDT, C0DB_RAPP, C0DC_CGVT, C0DD_AVOCATS)>

    <!ELEMENT C0DA_PDT (#PCDATA)>

    <!ELEMENT C0DB_RAPP (#PCDATA)>

    <!ELEMENT C0DC_CGVT (#PCDATA)>

    <!ELEMENT C0DD_AVOCATS (#PCDATA)>

    <!ELEMENT INFO (C0AG_NATUREJP, C0AS_DEGRE_JGT, C0AU_TYPE_RECOURS, C0AV_SOLUTION, C0AX_JGT_ATTAQUE, C0EC_REF_LEBON)>

    <!ELEMENT C0AG_NATUREJP (#PCDATA)>

    <!ELEMENT C0AS_DEGRE_JGT (#PCDATA)>

    <!ELEMENT C0AU_TYPE_RECOURS (#PCDATA)>

    <!ELEMENT C0EC_REF_LEBON (#PCDATA)>

    <!ELEMENT ARRET (CITATIONS+, ABSTRATS+, RESUMES+, TEXTES)>

    <!ELEMENT CITATIONS (C700_CITATRAITE?, C705_CITACONSTIT?, C710_CITACODE?, C720_CITALOI?, C730_CITAORDONNANCE?, C740_CITADECRET?, C741_CITAARRETE?, C750_CITACIRCUL?, C757_CITACONVCOLL?, C760_CITAJP1?, C761_CITAJP2?)>

    <!ELEMENT C700_CITATRAITE ANY>

    <!ELEMENT C705_CITACONSTIT ANY>

    <!ELEMENT C710_CITACODE ANY>

    <!ELEMENT C720_CITALOI ANY>

    <!ELEMENT C730_CITAORDONNANCE ANY>

    <!ELEMENT C740_CITADECRET ANY>

    <!ELEMENT C741_CITAARRETE ANY>

    <!ELEMENT C750_CITACIRCUL ANY>

    <!ELEMENT C757_CITACONVCOLL ANY>

    <!ELEMENT C760_CITAJP1 ANY>

    <!ELEMENT C761_CITAJP2 ANY>

    <!ELEMENT ABSTRATS (CODESEC?, TEXTESEC?)*>

    <!ELEMENT C8AA_ABSTRATS (#PCDATA)>

    <!ELEMENT RESUMES (CODESEC?, TEXTESEC?)*>

    <!ELEMENT C9AA_RESUMES (#PCDATA)>

    <!ELEMENT TEXTES (CODESEC*, VISAS*, CODESEC*, MOTIFS*, CODESEC*, DISPOSITIF*, CODESEC*, TEXTESEC*)*>

    <!ELEMENT C91A_TEXTE_INTEGRAL (#PCDATA)>

    <!ELEMENT CODESEC (#PCDATA)>

    <!ELEMENT VISAS ANY>

    <!ELEMENT MOTIFS ANY>

    <!ELEMENT DISPOSITIF ANY>

    <!ELEMENT TEXTESEC ANY>

    <!ELEMENT br (#PCDATA)>

    <!ENTITY lt "<">

    <!ENTITY gt ">">