Pour la création du site regroupant tous les TPE des classes de 1ère S au LFB, nous avons du trouver une façon de classifier et de catégoriser les TPE indépendamment du design. La solution à ceci fut la création d'un fichier utilisant le format XML, et une définition de balises spécifiques regroupant l'information requise pour donner toutes les informations sur les TPE différents. Nous appellerons ici ce format TPEML (pour TPE Markup Language), en manque d'un meilleur nom.
Le rôle de ce fichier est simple: une liste de TPE, avec une entrée pour chacun, avec l'information pour celui-ci: thème, sujet, auteurs, URL du dossier, etc. Ce document décrira précisément les précautions et règles à suivre afin d'éditer ce document (d'ailleurs appelé tpe.xml ici), et fera aussi la liste de toutes les balises et attributs de ce format.
Un certain nombre de précautions sont nécessaires lors de l'édition du fichier XML (tpe.xml).
XML nécessite une certaine attention à la façon de laquelle vous encodez vos fichiers. Parmi les points importants du standard XML, une partie est celle de l'internationalisation, qui est faite par l'utilisation de Unicode et de UTF-8. Ceci ne pose pas de problème aux américains, mais pour les français, habitués à utiliser ISO-8859-1 comme encodage standard (Latin-1), ceci induit bon nombre de changements, surtout parce que le support UTF-8 n'existe pas partout, et surtout: peu au niveau des navigateurs (quoique les dernières versions, qui supportent le XML, s'en occupent).
Pour éviter des complications, il a donc été décidé que nous utiliserions le "vieil" encodage ISO-8856-1. Ceci n'importera pas beaucoup pour vos travaux: faites juste attention à ne pas sauvegarder en UTF-8, UTF-16, Unicode ou autre avec votre éditeur (XML). Si vous êtes en doute, sauvegardez juste "normalement".
L'en-tête XML sera donc:
<?xml version="1.0" encoding="iso-8859-1" ?>
Ce fichier doit impérativement être synchronisé entre tous les auteurs, sion il y a un risque de corruption du fichier.
Avec CVS, le travail est facilité: Commencez, avant de changer quoi que ce
soit, par faire un cvs update
. Maintenant, faites
vos modifications, puis faites un cvs commit
.
Il risque d'y avoir changement par quelqu'un d'autre entre-temps. Dans le
meilleur des cas, CVS s'en occupera et mettra tous les changements en commun.
Sinon, vous risquez de voir un message apparaître comme quoi il y a eu un
conflit, par exemple avec un C tpe.xml
. Vous
verrez donc les deux versions du fichiers en ouvrant tpe.xml, et vous devrez
remélanger tout ça dans un seul fichier. N'hésitez pas a
poser des questions.
Voici la liste de toutes les balises, figurant dans un ordre logique, avec des exemples de leur utilisation. Le DTD de TPEML est disponible ici: http://www.bioinformatics.org/tpe-lfb/tpeml/tpeml.dtd. Utilisez-le de la manière suivante:
<!DOCTYPE listetpe PUBLIC "-//LFB//DTD TPEML 1.0//FR" "http://www.bioinformatics.org/tpe-lfb/tpeml/tpeml.dtd">
Le DTD de TPEML définit toutes les entités de XHTML 1.0. Vous pouvez donc utiliser des entités assez pratiques comme ç, é, etc.
La balise <listetpe> est la base du document TPEML. Tous les autres éléments sont contenus dans celui-ci.
Attributs: aucun
Contenu: un certain nombre de balises <tpe>
Exemple:
<listetpe> <tpe id="..."> . . . </tpe> </listetpe>
La balise <tpe> identifie un seul TPE. Ses sous-éléments donneront chaque pièce d'information nécessaire pour l'identification du TPE.
Attributs:
Contenu: éléments sujet, theme, auteurs, resume, site, dossier, problematique, carnets, fiche_synthese.
Exemple:
<tpe id="oeil-couleur"> <theme theme_id="images" /> <auteurs> <auteur> <nom>Ellefsen</nom> <prenom>Per Einar</prenom> <classe> <annee>1</annee> <filiere>S</filiere> <numero>3</numero> </classe> <email>per.einar@skynet.be</email> </auteur> <auteur> <nom>Lekhal</nom> <prenom>Haïba</prenom> <classe> <annee>1</annee> <filiere>S</filiere> <numero>3</numero> </classe> <email>snynigga@hotmail.com</email> </auteur> </auteurs> <sujet>La perception des couleurs par l'oeil</sujet> <site>http://www.bioinformatics.org/oeil-couleur/</site> <dossier> <format type="HTML">http://www.bioinformatics.org/oeil-couleur/dossier/</format> <format type="RTF">http://www.bioinformatics.org/oeil-couleur/dossier/book.rtf</format> <format type="PDF">http://www.bioinformatics.org/oeil-couleur/dossier/book.pdf</format> </dossier> <problematique> Comment est constitué l'oeil? Quels sont les mécanismes qui nous permettent de percevoir le monde extérieur en couleur? Pourquoi certaines personnes ne perçoivent-elles pas les couleurs comme nous? </problematique> <resume> En passant premièrement par une description de l'anatomie de l'oeil ... </resume> <carnets> <carnet url="http://www.bioinformatics.org/oeil-couleur/carnets/haiba/">Haïba Lekhal</carnet> <carnet url="http://www.bioinformatics.org/oeil-couleur/carnets/per/">Per Einar Ellefsen</carnet> </carnets> </tpe>
Obligatoire - Cette balise donne une information sur le thème auquel le TPE se rapporte.
Attributs:
images | Images |
croissance | Croissance |
eau | Eau |
risques_nat_tech | Risques naturels et technologiques |
sci_almnt | Sciences et aliments |
temps | Temps, rythmes et périodes |
Contenu: Aucun. Élément vide.
Exemple:
<theme theme_id="risques_nat_tech" />
Obligatoire - Le sujet choisi par les auteurs pour ce TPE.
Attributs: aucun
Contenu: le sujet (#PCDATA)
Exemple:
<sujet>La perception des couleurs par l'oeil</sujet>
Obligatoire - Liste des auteurs du TPE. Contien une balise <auteur> pour chacun d'entre eux.
Attributs: aucun
Contenu: des balises <auteur>
Exemple:
<auteurs> <auteur> <nom>Ellefsen</nom> <prenom>Per Einar</prenom> <classe> <annee>1</annee> <filiere>S</filiere> <numero>3</numero> </classe> <email>per.einar@skynet.be</email> </auteur> <auteur> <nom>Lekhal</nom> <prenom>Haïba</prenom> <classe> <annee>1</annee> <filiere>S</filiere> <numero>3</numero> </classe> <email>snynigga@hotmail.com</email> </auteur> </auteurs>
Information sur un auteur.
Attributs: aucun
Contenu: balises nom, prenom, classe, email
Exemple: voir auteurs
Obligatoire - Le nom de famille d'un auteur
Attributs: aucun
Contenu: le nom de famille
Exemple: voir auteurs
Obligatoire - Le prénom d'un auteur
Attributs: aucun
Contenu: le prénom
Exemple: voir auteurs
Obligatoire - Informations sur la classe de l'auteur
Attributs: aucun
Contenu: balises annee, filiere, numero
Exemple: voir auteurs
Obligatoire - L'année de la classe dans laquelle se trouve l'auteur (T, 1, 2, 3, etc.)
Attributs: aucun
Contenu: l'année (pour Terminale: T, pour 1ère: 1, etc.). Ne doit contenir que le chiffre ou "T", rien d'autre.
Exemple: voir auteurs
Si elle existe, la filière dans laquelle se trouve l'élève (S, ES, L)
Attributs: aucun
Contenu: La filière (S, ES ou L)
Exemple: voir auteurs
Obligatoire - Le numéro de la classe (par exemple, pour 1ère S 3: 3).
Attributs: aucun
Contenu: Le numéro: 1,2,3...
Exemple: voir auteurs
L'adresse e-mail de l'auteur, si elle est connue
Attributs: aucun
Contenu: Une adresse e-mail
Exemple: voir auteurs
Obligatoire - Un résumé du TPE, de 2 à 3 phrases.
Attributs: aucun
Contenu: Le résumé
Exemple:
<resume> Ce TPE traite de ... </resume>
La problématique du TPE, sous forme de questions.
Attributs: aucun
Contenu: la problématique. Peut se trouver sur plusieurs lignes.
Exemple:
<problematique> Comment est constitué l'oeil? Quels sont les mécanismes ...? </problematique>
Si le TPE est hébergé sur Internet, l'adresse (URL) de ce site.
Attributs: aucun
Contenu: L'URL du site.
Exemple:
<site>http://likium.multimania.com/tpe/</site>
Une liste des formats disponibles du TPE, et leur adresses Internet. Même si cet élément n'est pas obligatoire, il devrait être présent pour un bon fonctionnement.
Attributs: aucun
Contenu: Une balise <format> pour chaque format disponible.
Exemple:
<dossier> <format type="HTML">http://www.bioinformatics.org/oeil-couleur/dossier/</format> <format type="RTF">http://www.bioinformatics.org/oeil-couleur/dossier/book.rtf</format> <format type="PDF">http://www.bioinformatics.org/oeil-couleur/dossier/book.pdf</format> </dossier>
Information relative à l'existence d'un format spécifique du dossier.
Attributs:
Contenu: L'URL (de préférence absolu: de la forme http://..., mais peut aussi être relatif si vous êtes sûr du résultat) de ce format précis
Exemple:
<format type="PDF">http://www.bioinformatics.org/oeil-couleur/dossier/book.pdf</format>
S'ils sont connus, une liste des carnets de bord du TPE.
Attributs: aucun
Contenu: Une balise <carnet> par carnet de bord.
Exemple:
<carnets> <carnet url="http://www.bioinformatics.org/oeil-couleur/carnets/haiba/">Haïba Lekhal</carnet> <carnet url="http://www.bioinformatics.org/oeil-couleur/carnets/per/">Per Einar Ellefsen</carnet> </carnets>
Information sur un carnet de bord.
Attributs:
Contenu: Le nom de l'élève à qui appartient le carnet de bord.
Exemple:
<carnet url="http://www.bioinformatics.org/oeil-couleur/carnets/haiba/">Haïba Lekhal</carnet>
S'ils sont connus, une liste des fiches de synthèse des élèves pour ce TPE.
Attributs: aucun
Contenu: Une balise <fiche> par fiche de synthèse.
Exemple:
<fiche_synthese> <fiche url="http://likium.multimania.com/tpe/nicolas.pdf">Nicolas Naville</fiche> <fiche url="http://likium.multimania.com/tpe/mehdi.pdf">Mehdi Benhmade</fiche> </fiche_synthese>
Information sur une fiche de synthèse.
Attributs:
Contenu: Le nom de l'élève à qui appartient la fiche de synthèse.
Exemple:
<fiche url="http://likium.multimania.com/tpe/mehdi.pdf">Mehdi Benhmade</fiche>