Organisation de projet

Auteur
Nibau Rui
Date
()
Catégories
Informatique
Tags

Tentative de formalisation de quelques pratiques d'organisation d'un projet informatique.

Présentation

Je travaille sur des projets basés sur différents languages de programmation. Jongler entre les possibilités et spécificités techniques de chacun de ces langages n'est pas toujours aisé, mais la manière d'organiser le code peut amener un semblant d'unité.

Au boulot, j'utilise principalement le java ; c'est un monde où la structuration des projets est fortement normalisée et il est donc préférable de ne pas trop y toucher. Pour d'autres langages, PHP, javascript, css ou python, la normalisation est moins forte voire inexistante ; j'essaye néanmoins d'adopter une organisation commune.

Spécifications

  • build
  • docs
    • html
    • txt
  • src
  • tests
    • samples
    • unit
  • build.sh
  • LICENCE
  • README
Organisation de base d'un projet.

Remarques

Cette organisation n'est pas toujours idéale : il est par exemple conseillé en python de placer le dossier de tests à l'intérieur des sources afin de pouvoir les exécuter plus aisément en tant que module. Dans le cas de projets python, le processus de build devra donc inclure le dossier test.

Les dépendances peuvent aussi poser problème quand elles sont situées à l'extérieur du code. Dans ces cas là, de simples liens symboliques arrangent l'affaire.

Autres organisations

ZIADé, Tarek. The Hitchhiker's Guide to Packaging. The Hitchhiker's Guide to Packaging v1.0 documentation, . Creating a Package

COLLECTIF. Packages/1.0. CommonJS, . Le code source est à placer dans un dossier lib/.

COLLECTIF. Guide de référence du programmeur. framework.zend.com, . Recommended Project Directory Structure

Historique

2011-04-10
Première formalisation de la structure utilisée depuis plusieurs mois.
2011-08-28
Constitution d'une documentation plus détaillée.