Pour faire les plans de la yourte, je me suis aidé de petits programmes qui font les calculs ; ils m'ont été utiles pour choisir certaines valeurs, pour simuler ce que ça donne, ou chaque fois que j'ai changé d'avis sur une valeur, j'ai pu le faire sans avoir à tout recalculer à la main.
Ces programmes sont téléchargeables depuis les pages contenant les plans de la yourte.
Le programme présenté ici rassemble ces petits programmes, et permet de générer un document imprimable avec les plans et mesures de tous les éléments de la yourte. L'intérêt d'avoir tous les calculs rassemblés en un seul programme est de pouvoir changer une valeur, et voir ce que ça donne pour les différents éléments.
Ce programme est un peu brut de décoffrage, il faudrait que je construise une deuxième yourte pour l'utiliser et l'améliorer, mais ce n'est pas dans mon intention.
Ce programme est distribué en logiciel libre (licence GPL).
Utilisation
1 -
Télécharger le programme.
2 - Installation : décompresser ce zip et le mettre à un endroit de votre disque visible par le logiciel serveur (Apache en général) ; si vous utilisez windows, voir la page
Installer des programmes php sous Windows.
Il faut aussi que votre PHP dispose de la bibliothèque
GD2, qui permet de fabriquer des images à la volée.
- Sous Windows, il faut aller dans le fichier
php.ini (qui est en général dans C:/WINDOWS), et décommenter (= enlever le point-virgule en début de ligne) la ligne :
;extension=php_gd2.dll
- Sous Linux Ubuntu, en plus de l'installation de php, il faut effectuer la commande :
sudo apt-get install php5-gd, pour disposer de GD2, puis
sudo apache2ctl restart pour que ça soit pris en compte.
3 - Configuration : le programme est fourni avec un fichier de configuration contenant les données de la yourte que j'ai construite :
config-yourte2007.txt.
Vous pouvez modifier ce fichier, ou créer votre propre fichier, en mettant les valeurs de votre yourte (voir paragraphe suivant).
Editez ensuite le fichier
index.php.
Si vous avez créé un nouveau fichier de configuration, remplacez
config-yourte2007.txt par le nom de votre fichier.
Adaptez la valeur de
$output_dir selon votre situation : cette variable contient le nom du répertoire qui contient le résultat de l'exécution du programme (par défaut le répertoire
output).
4 - Utilisation : pour générer les plans de la yourte, faites ensuite pointer votre navigateur internet à la page
http://localhost/chemin/vers/le/repertoire/du/programme
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 (on peut mettre des commentaires à la C).
-
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.
- La section
[floor], permet de spécifier les données liées au plancher.
etc. Les noms de section sont en anglais.
Si vous fonctionnez sous windows, il vous faudra modifier les valeurs de
font et
font2, qui indiquent le répertoire où se trouvent les polices de caractères.
Programmes individuels
Avant de faire un programme qui rassemble les différents éléments, j'ai écrit chaque programme séparément, fonctionnant de manière autonome.
Ils sont listés ici :
-
yourte_generalites.php.zip, voir la page : Généralités : surfaces, volumes, pente du toit.
-
yourte_plancher.php.zip, voir la page : Plancher de la yourte : plan d'un élément de plancher et mesures.
-
yourte_plancher_arrondi.php.zip, voir la page : Plancher de la yourte : plan et mesures pour découper les planches du bord extérieur, en rond.
-
yourte_treillis.php.zip, voir la page : Treillis de la yourte : caractéristiques du treillis et des tasseaux à acheter ; position des trous à percer dans les tasseaux pour les attacher.
-
yourte_toile_toit.php.zip, voir la page : Toile du toit de la yourte : mesures pour la découpe et la couture de la toile du toit.
-
yourte_perches.php.zip, voir la page : Perches de la yourte : longueur et caractéristiques des perches.
-
yourte_couronne.php.zip, voir la page : Couronne de la yourte : caractéristiques de la couronne, du bois à acheter, des trous à percer.
-
yourte_planche_couronne.php.zip, voir la page : Couronne de la yourte : plan et mesures pour la découpe des planches en arc de cercle.
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 ;
-
auxiliary_files contient 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éé.