tig12.net
Site personnel

Admin

 Programme pour une yourte

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 :

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éé.


Forum
Programme pour une yourte
- 15 juillet 2010
C’est tres gentil mais apres avoir consacré de l’énergie pour exploiter votre travail, je me vois dans l’impossibilité d’utiliser les programmes de calcul, n’étant pas prof d’informatique (et pas faute d’avoir essayé). A quand la vulgarisation ? Y a t’il une autre source de votre part ? merci francisdepaoli arobase yahoo point fr
Programme pour une yourte
- 3 mai 2010

Quelqu un peut il m expliquer comment se debarrasser de ces erreur : " Warning : imagettftext() [function.imagettftext] : Invalid font filename in C :\wamp\www\src\yurtparts\Floor.php on line 161

Warning : imagettftext() [function.imagettftext] : Invalid font filename in C :\wamp\www\src\yurtparts\Floor.php on line 220

etc.

généré " ? Merci

Programme pour une yourte
Par tig12 - 4 mai 2010

Le fichier index.php va charger un fichier de configuration :
$configFile = 'users/config-yourte2007.txt

Dans ce fichier de configuration (par ex config-yourte2007.txt), il y a des lignes qui indiquent au programme où aller chercher les polices de caractères.

C’est réglé pour ubuntu, et il faut changer ça :

Remplacer :

//font = C :/WINDOWS/Fonts/ARIAL.TTF // Police pour les lettres normales - windows
//font2 = C :/WINDOWS/Fonts/SYMBOL.TTF // Police pour lettres grecques - windows

font = /usr/share/fonts/truetype/msttcorefonts/Arial.ttf // Police pour les lettres normales - linux ubuntu font2 = /usr/share/fonts/truetype/symbol/SYMBOL.TTF // Police pour lettres grecques - linux ubuntu

par :
font = C :/WINDOWS/Fonts/ARIAL.TTF // Police pour les lettres normales - windows
font2 = C :/WINDOWS/Fonts/SYMBOL.TTF // Police pour lettres grecques - windows

//font = /usr/share/fonts/truetype/msttcorefonts/Arial.ttf // Police pour les lettres normales - linux ubuntu //font2 = /usr/share/fonts/truetype/symbol/SYMBOL.TTF // Police pour lettres grecques - linux ubuntu

donc :
- Enlever les // en début des lignes pour windows, et vérifier que les fichiers C :/WINDOWS/Fonts/ARIAL.TTF et SYMBOL.TTF existent bien
Si elles n’existent pas, elles sont récupérables depuis :
http://www.tig12.net/pages/pratique...
et http://www.tig12.net/pages/pratique...

- Mettre des // en début des lignes pour ubuntu pour les désactiver, ou supprimer ces lignes

+ Il faut faire la même chose lignes 99-100

Un autre programme sur la construction d’une yourte
Par Thierry - 5 mai 2009

On m’a signalé ce lien : http://www.simplydifferently.org/Yurt_Notes ?page=1.

c’est un autre programme pour faire une yourte ; je ne l’ai pas testé, mais ça a l’air assez complet.

Installation sous ubuntu pour une utilisation en mode console
Par Thierry - 26 avril 2009


- Installer php5

sudo apt-get install php5 php5-gd

- Il faut aussi avoir les polices Arial et Symbol :
Si elles sont déjà présentes,
SYMBOL.TTF est en général dans /usr/share/fonts/truetype/symbol
Arial.ttf est en général dans /usr/share/fonts/truetype/msttcorefonts
(si vous avez déjà installé les polices Microsoft, Arial.ttf doit être présente)

Si elles n’y sont pas, récupérez les :

cd /usr/share/fonts/truetype
sudo wget -c http://www.tig12.net/pages/pratique/yourte/program/fonts/SYMBOL.TTF
sudo mkdir symbol
sudo mv SYMBOL.TTF symbol
sudo wget -c http://www.tig12.net/pages/pratique/yourte/program/fonts/Arial.ttf
sudo mkdir msttcorefonts
sudo mv Arial.ttf msttcorefonts
Si vous mettez les polices dans des répertoires différents, il faut le signaler au programme dans le fichier de configuration qui contient les caractéristiques de la yourte :
font = 		/usr/share/fonts/truetype/msttcorefonts/Arial.ttf   // Police pour les lettres normales - linux ubuntu
font2 = 	/usr/share/fonts/truetype/symbol/SYMBOL.TTF   // Police pour lettres grecques - linux ubuntu

Le programme peut maintenant être utilisé en mode console.
Si le programme a été sauvé dans /home/moi/yourte/programme :

php -f /home/moi/yourte/programme/index.php
Utilisation sous Windows : gd2 manque
Par thierry - 21 avril 2009

On dirait que gd2 (une extension dont php a besoin pour faire des dessins) pose problème.

je viens d’installer wamp pour voir, et gd2 est intallé par défaut.

Si ce n’est pas la cas, deux solutions :

1 - Aller dans c :\wamp\bin\php\php5.2.9-1\php.ini
Il y a une ligne :
extension=php_gd2.dll
Si la ligne est :
 ;extension=php_gd2.dll
(avec un point-virgule au début), ça veut dire que la ligne est commentée, il faut enlever le point-virgule, enregistrer le fichier et redémarrer apache.

Pour redémarrer apache, il y a normalement une icône pour wamp, en bas à droite de l’écran ; en cliquant dessus, menu apache / service / restart

2 - passer par l’icone de wamp en bas à droite de l’écran et cocher php / php extensions / php_gd2

S’il n’y pas l’icone en bas à droite, c’est parcequ’en installant wamp, il faut cocher deux cases. Dans ce cas, désinstaller wamp et reinstaller en cochant les cases.

--Site écrit avec SPIP--Licence du contenu publié sur ce site--