Programme pour une yourte

Programme PHP générant les plans d'une yourte
Distribué en logiciel libre (licence GPL).
Développé en php 5.2, aussi testé avec php 7

Exemple de plan généré par ce programme

Je ne peux pas garantir que ce programme ne contienne pas de bug. Tout ce que je sais, c'est que la yourte que j'ai construite en suivant ces plans tient debout...

Utilisation

Il y a 2 possibilités :
  • Le plus simple est d'utiliser une version en ligne, mais je n'ai pas encore remis ça en place.
  • Vous pouvez aussi télécharger le programme pour l’installer sur votre ordinateur et l’exécuter en local.
    Dans ce cas Téléchargez le programme (vous pouvez aussi le cloner avec git depuis ce dépôt).

Fichier de configuration

La syntaxe de ce fichier est celle des fichiers ini (utilisée par exemple pour php.ini), légèrement modifiée :
- Sections : le document est découpé en sections, marquées par des lignes contenant un seul mot entre crochet. Par exemple, la ligne :
[document]
marque le début de la section “document” du fichier.

- Syntaxe : chaque section contient des lignes permettant de définir les valeurs de la yourte.
La syntaxe est :
cle = valeur
Ex :
D = 6.60
permet de spécifier que le diamètre de la yourte est de 6 m 60.

- Commentaires : les lignes commençant par ; ou # sont ignorées.
Les commentaires “style C” sont aussi pris en compte : le texte compris entre /* et */ est ignoré ; le texte suivant les caractères // est ignoré jusqu’à la fin de la ligne.

- Contenu :
- La section document permet de spécifier quoi générer.
- La section general permet de spécifier les données liées à la forme générale de la yourte.
- Chaque partie de yourte correspond ensuite à une section.

A propos du code

Voila quelques indications si vous voulez modifier le programme :
Le code se trouve dans le répertoire src/, qui contient trois sous-répertoires :
- libext/ (external libraries) contient du code auxiliaire utilisé par le programme ;
- css/, fonts/, images/ contiennent des fichiers qui sont recopiés tels quels dans le répértoire résultat (images, CSS).
- yurtparts/ contient le code des différentes parties de la yourte.

Pour fabriquer les plans, un objet de la classe Yurt est construit. Cet objet va stocker les données venant du fichier de configuration (variable privée $config).
Pour générer les plans, il faut appeler la méthode generateDocument(). Dans cette méthode, des objets YurtPart ( = partie de yourte) vont être créés. Ces objets sont seulement capables de générer leurs plans ; l’assemblage sous forme de document est effectué par generateDocument().
Les objets YurtPart stockent en leur sein une référence à l’objet Yurt qui les créée.
Un objet Yurt contient aussi une variable privée $results, qui permet de stocker les résultats calculées par les YurtParts ; c’est utile si une partie a besoin de résultats calculés par d’autres parties ; par exemple, la toile du toit a besoin de la longueur des perches. Les objets Perches stockent donc cette valeur dans l’objet Yurt qui l’a créé.