wiki:document

Version 2 (modified by g7moreau, 9 years ago) (diff)

Arborescence

Structuration d'un document

Liminaire

L'idée principale de la structuration d'un document complexe se résume en deux points :

  • découpage du source en petits fichiers
  • formatage du document final dans un dossier à part.

Le premier point est important pour aider le travail collaboratif (risque de conflit moindre), simplifier le travail du gestionnaire de code source (subversion...). L'ensemble des fichiers peuvent être distribués dans des sous dossiers ou positionné en vrac. Tout dépend de leur nombre et de la manière de chacun.

Cependant, le nom de chaque fichier doit être unique. En effet, lors du formatage dans un dossier temporaire, des fichiers temporaires mis en vrac soit créés, aucune arborescence correspondant à l'arborescence initiale est reconstruite. C'est à la fois plus simple à faire et avoir deux fichiers ayant le même nom est toujours une très mauvaise idée en programmation et finit toujours un jour ou l'autre par poser de gros soucis.

Par ailleurs, il est fondamental lorsqu'on travaille sur un gros projet de séparer le code source, gérer par un gestionnaire de code source, des fichiers temporaires ainsi que des fichiers finaux. Ainsi, seul le fichier source est important à sauver, à archiver, à transmettre...

Par défaut, les compilateurs travaillent dans le dossier courant. LaTeX ne fait pas exception. Ce comportement, réaliste pour des petits projets, présente trop de risque pour les gros projets. Ainsi, avec un paramétrage adéquate, le code source peut être mis en lecture seule lors du formatage. Il y a de nombreuse manière de faire cela et dans la solution proposée, un simple changement des droits sur les fichiers assure une protection efficace. Cependant, celle-ci est facultative...

Arborescence

Il est hors de question que l'utilisateur se souvienne de commande complexe et effectue des manipulations fastidieuses, répétitives donc avec des risques d'erreurs importants.

Un très bon outil fait cela depuis des années : make. Un Makefile est donc proposé qui se charge de tout le travail. Pour que celui-ci fonctionne, il faut que la structure du projet soit la suivante :

/chemin/du/projet/src/code/source

Le code source doit être dans un sous dossier d'un dossier src. Il peut y avoir autant de sous dossier que l'on souhaite. Le document peut être dans un sous dossier /tex/ par exemple, mais celui-ci doit être placer sous le dossier /src/.

Il ne doit y avoir qu'un seul dossier /src/ dans le chemin global. Un sous dossier ne peut donc prendre le nom de /src/. C'est voulu car faire cela est une mauvaise idée.

Le Makefile crée alors deux dossiers ou il placera ses fichiers :

  • /chemin/du/projet/tmp : dossier temporaire qui sers de cache à toutes les étapes intermédiaires ;
  • /chemin/du/projet/doc : dossier où seront placés les documents finis.