Conventions
-----------

Ce qui a sa place sur le site
  - On ne s'impose pas d'organiser nos ressources prcisment comme c'est
    prsent par le cursus, tant que c'est clair pour les visiteurs de l'cole. On
    peut regrouper des trucs ensembles (genre Prog premire partie et Prog
    deuxime partie, en prcisant la dpendance).
  - Il faut mieux avoir des documents de qualit sur un sujet bien dfini que
    d'essayer de mettre de tout et n'importe quoi, pour ne pas diluer notre
    valeur ajoute qui est justement de slectionner les choses bien foutues que
    l'on peut trouver sur le web.
  - Les premiers utilisateurs du site sont les tudiants de l'ENS et du MPRI, il
    faut donc qu'ils trouvent rapidement tous les documents qu'ils cherchent
    (sous peine de ne pas revenir).  Dans une moindre mesure, les enseignants de
    ces cursus sont aussi des utilisateurs naturels, soit pour s'inspirer de ce
    qu'on fait leurs prdcesseurs, soit parce qu'ils veulent avoir leurs
    documents sur le site au mme titre que leurs collgues.  On peut ajouter
    une page "documents non rfrencs" qui explique la politique et a les
    quelques liens html vers les pages des ressources que les utilisateurs
    s'attendraient  trouver.
  - Lorsque l'on recense des document venant d'autres cursus, on ne garde pas :
    - les ressources de niveau < L3, ni de remise  niveau en arrive en L3.
    - les cours sur l'utilisation des languages C, Java, Caml, SQL.

Indexation des documents
  - Un "document" est fait pour correspondre  un fichier, on n'utilise pas un
    document pour mettre le titre d'un 
    livre non lectronique de la biblio, et on n'utilise pas les
    documents pour faire des sparations entre les parties d'un
    cours. On ne met pas non plus "seconde partie du cours" dans le titre du
    premier chapitre de cette seconde partie.
  - On regroupe dans une archive les collections de petits documents
    (typiquement un ensemble de fichiers sources accompagnant un cours
    de programmation) et les documents utiles mais pas  tout le monde.
  - Choix des formats :
    - par dfaut, on prend la version PDF
    - sauf si elle est mal encode et que c'est tout flou, dans ce cas PS
    - s'il y a des versions imprimables en 2 ou 4 pages par feuille,
      on peut le prciser dans le champ dtails et dire d'aller sur
      la page de l'auteur si besoin. Par dfaut, on prend la version
      1 page par feuille, puisque la plupart des imprimantes grent
      l'impression multi-page (ou on peut aussi convertir avec des outils
      appropris en plus).
    - s'il y a le choix entre PS et PS.GZ (c'est rare), on prend PS.GZ.
    - s'il y a le choix entre PS et DVI (c'est rare), on prend PS.
  - On ne cre par un docgroup s'il ne contient pas de documents
    (autrement dit, le nom du prof qui n'a pas fait de polys, on s'en fout
     en gnral, et sinon on met son nom dans le champ dtails)
  - Faire attention  ne pas rcuprer des URLs contenant des paramtres
    du genre "?PHPSESSID=..." (il faut les effacer  la main)

Nommage des dossiers
  - ressource : tout en minuscules, mots spars par un soulign (_),
    commencer par les mots cls du titres, puis le nom du lieu
    (_x , _ensulm, _enslyon, _ucbl, _cachan, _mpri, _mit, etc.)
  - session :
    - pour un cours, l'anne duquel le 1er Janvier est compris dedans :
      2006/2007 -> le dossier "2007"
      on peut aussi avoir "2007_sem1" et "2007_sem2" si c'est dcoup
    - pour un livre ou un sminaire, la date de la version,
      par exemple "2007_05" (on peut aussi envisager "2007" ou "2007_05_12")
  - docgroup : si possible suivre les conventions
    - "cours", "dms", "tds", "exams", "projet", "extra" (pour les docs supplmentaires)
    - "transparents" (s'il faut faire la diffrence entre notes de cours et transparents)
    - "contenu" (pour un livre)
  - On utilise des noms anglais (cours, slides, contents)
    quand les cours sont en anglais (pour les visiteurs trangers).

Nommage des titres
  - session :
    - cours : "2006 - 2007" ou "2006 - 2007, Semestre 1"
    - livre : "Version du 5 avril 2005", ou "Version de Mai 2007"
  - docgroup : utiliser par dfaut les conventions suivantes :
    - "Cours", "Notes de cours" / "Transparents du cours"
    - "Contenu du livre", "Chapitres du livre"
    - "DMs", "Examens", "TDs" (si c'est sur papier), "TPs" (si c'est sur
      machine) (en gnral c'est rare que les sujets TPs machine soient d'un
      niveau intressant pour la recherche. A part certains cours de Coq ou de
      compilation bien choisis, on ne devrait pas avoir beaucoup de TPs sur
      DENIF.)
  - documents (espaces avant et aprs les deux points) :
    - cours : "1. Mon titre"
    - tds : "TD 1 : Mon titre" ou "TD1 : Mon titre", "TD1 : Correction"
    - partiels : "Partiel : Sujet", "Partiel : Corrig"
  - plus gnralement : on n'est pas oblig de copier le titre mis
    par l'auteur. En particulier, il faut corriger les majuscules, et on
    vire les infos inutiles. Par exemple, on ne fait pas :
    "TD12 : divers (partiel 2004 de Romain Kervarc, merci  lui)"
    mais plutt : "TD12 : Partiel de 2004".

Quand le titre du cours et le contenu changent peu , suffixer le
nom de la session par le titre en cours. Par exemple :
"2005 - 2006 : Languages formels"
"2004 - 2005 : Languages et Automates"
Supprimer l'ventuel article : non pas "Les principes des langages de programmation"
mais "Principes des langages de programmation"


Champ "dtails"
  - on ne met pas la description du contenu des cours, car a apparat
    dans les titres des documents lists
  - on peut ventuellement mettre le nom du prof qui donne le cours
    s'il n'a pas de polycopis associs cette anne l mais qu'il a sur
    le site d'autres ressources intressantes sur le mme sujet
  - on peut mettre quelques ouvrages bibliographiques cls
    s'il y en a moins de 3 et qu'ils ne sont pas dispo sous forme lectronique.
    Si la biblio est longue on met en cache la page web qui dcrit le cours.
    Deux mthodes :
    - Soit on visite dans le frame de droite une page pointant sur cette page
      web, par exemple
      http://www.ens-lyon.fr/DMI/IF/2006-2007/master/index.html pour ajouter
      http://www.ens-lyon.fr/DMI/IF/2006-2007/master/webMasterFr016.html
      et on clique sur le bouton "forcer le tlchargement".
    - soit on colle le lien de la page  mettre en cache dans le frame de gauche
      et on ajoute ?DENIF_bForceDownload=1  la fin (ou on clique sur le bouton
      "forcer le tlchargement").
  - on peut prciser qui a crit quoi (lorsqu'il y a plusieurs auteurs, ou des scribes),
    et prciser si le polycopi n'a pas encore t bien relu.
  - pour les DMs et Partiels, on peut ventuellement prciser quelle quantit
    du cours il faut matriser pour pouvoir les rsoudre (si cela n'apparat
    pas implicitement).
  - on ne met pas "plus de dtails sur la page du cours", car la page du cours
    est amene  disparatre  plus ou moins brve chance. Si les dtails ont
    vraiment de l'importance et apportent de l'information utile (c'est rarement
    le cas de la description du cours sur les pages officielles), on cre un
    document qui pointe vers la page html correspondant et on demande au systme
    de mettre en cache cette page (typiquement, a sera le premier lment de la
    liste des cours, des TDs, ou d'un projet). Voir la mthode pour la biblio
    longue ci-dessus.

Paramtres hrits
  - l'hritage des proprits fonctionne sous forme d'arbre, il faut l'utiliser :
    on doit minimiser le nombre de fois que l'on force un certain mode pour une
    ressource.
  - Lorsqu'on cre une ressource, par dfaut il faut mettre tous les noeuds
    en "hriter(visible)" et "hriter(final)"
  - Si la ressource est en cours de droulement, on met en mode "propos",
    ce qui permet de penser  revenir plus tard pour mettre  jour tous les
    documents.
  - En gnral il faut viter de crer des entres pour des cours dont les polys
    ne sont pas dj disponibles, sinon a oblige plus tard  :
    - forcer le tlchargement des donnes  la main
    - a fait genre on vend la peau de l'ours avant de l'avoir tu.
  - Le mode "masqu" permet de cacher des choses :
    - soit parce que les fichiers d'origine taient en accs restreint
      (auquel cas on met une note dans le champ sDtails  ce propos)
    - soit parcequ'il reste du travail de rangement  faire
      (idem, on met une note pour dire ce qu'il reste  faire)
  - lorsqu'une ressource est en mode final-visible, c'est que l'on n'a pas  y
    revenir (tant qu'il n'y a pas de nouvelle session)

Contact avec les auteurs et mise en cache
  On met en cache invisible les cours donns  l'tranger (genre MIT) ou qui ont
  donn lieu  des livres. Pour le reste, cache autoris (plus confortable:
  tlchargement plus rapide et avec zip).
  On contacte l'auteur :
  - lorsque les ressources n'est pas (ou plus) sur le net
  - lorsqu'il manque un ou deux fichiers dans une srie
    (typiquement l'auteur a oubli d'uploader un TD).



Documents ajouts  la main
---------------------------

Il est possible de rentrer  la main des fichiers dans le /data du site,
cependant c'est fortement dconseill en gnral car :
  - on perd trace d'o vient le fichier
  - nous sommes directement mis en cause en cas de litige avec l'auteur

La seule situation o l'on voudrait faire a, c'est si le prof est vraiment
incapable de mettre en place les fichiers sur sa page perso (en gros il est soit
incapable, soit fainant), et dans ce cas on peut mettre les fichiers
directement sur le site  condition d'tre en mesure de passer le flag lgal 
"cache autoris", c'est--dire qu'on a eu l'autorisation explicite du prof pour
cela.

Procdure :
  - crer sur denif.ens-lyon.fr avec le nom du fichier  la place de l'url
  - ssh gdsdmi01.ens-lyon.fr
  - mettre le fichier dans le rpertoire /var/wwwdenif/data/... correspondant
  - excuter /var/wwwdenif/set-data-rights.pl
