# Foire Aux Questions Terraform

Auteur: Robert Gasch, Mis à jour par David A. Bartold, Traduit par Raymond Ostertag

Ceci est la FAQ pour Terraform, un générateur/modeleur interactif et fractal de paysages. Il y a des chances pour que vous rencontriez plus de problèmes que ce que j'ai prévu de répondre ici, donc si vous avez une suggestion concernant ce document envoyer moi un email.

- Tour d'horizon de Terraform

- Qu'est-ce que Terraform ?
- Sous quels systèmes fonctionne-t-il ?
- Quelles dépendances a-t-il ?
- Comment est-il distribué ?
- Pourquoi le développez vous ?
- Jusqu'où est-il complet ?
- Quelle est votre but/mission avec lui ?
- A propos de rendu photo-réaliste ?
- Comment puis-je contribuer ?
- Appel à contributeurs !
- Super. Qui êtes-vous donc ?
- Remerciements

- Faire fonctionner et utiliser Terraform

- Y a-t-il ici quelque information sur toutes les fonctions de tranformation de terraform ?
- Quels formats de fichier Terraform supporte-t-il ?
- Est-ce que terraform supporte les thèmes Gtk+ ?
- Le rendu avec POV-Ray échoue
- Comment puis-je personnaliser la façon dont les images sont rendues avec POV-Ray ?

- Compiler Terraform et troubles d'ordre général

- Comment puis-je compiler terraform ?
- Quelque chose ne marche pas. Où devrais-je regarder d'abord ?
- Comment soumettre un rapport de bogue et pourquoi devrais-je m'embarrasser à faire celà ?
- Quelque chose ne marche pas. Comment puis-je voir ce qui se passe ?
- Terraform plante en chargeant un fichier
- Terraform plante. Quelle information utile puis-je fournir aux auteurs ?
- Terraform s'arrète avec un message d'erreur

## Tour d'horizon de Terraform

Cette section couvre les questions qui appartiennent entièrement à Terraform.

### Qu'est-ce que Terraform?

Terraform est un générateur/visualiseur interactif et fractal de paysages. Il vous permet de créer un terrain fractal ( aussi appelé Height field ) et le transforme en utillisant des algorithmes. Il est pensé pour être un outil pour ceux qui veulent générer des modèles de terrain numérqiue pour l'utiliser avec un raytraceur ou autres simulations. Il est écrit en C, utilise les librairies GNOME et, en tant que tel, à une interface utilisateur graphique.

### Sous quel systèmes fonctionne-t-il ?

Terraform a été écrit sous Linux (ou GNU/Linux ) et devrait fonctionner sous tout système type UNIX qui a les bonnes librairies et compilateurs installés. La liste suivante est une liste de système dont je sais que terraform a compilé dessus avec succès :

- Linux ix86 Debian 2.1 glibc
- Linux ix86 Mandrake 7.0 glibc ( gcc-2.95)
- Linux ix86 Mandrake 6.0 glibc ( pgcc-2.91.66, gcc-2.95)
- Linux ix86 Mandrake 6.1 glibc ( pgcc-2.91.66, gcc-2.95)
- Linux ix86 Redhat 5.2 glibc ( egcs-2.91.57)
- Linux ix86 Redhat 6.0 glibc ( egcs-2.91.66)
- Solaris Sparc 2.6 ( egcs 2.91.66)
- Solaris Sparc 2.7 ( gcc 2.8.1)

Les versions de compilateur données ci-dessus sont destinées à servir de point de référence pour une plateforme particulière et le compilateur l'accompagnant. D'autres versions de compilateurs que gcc et egcs mpeuvent fonctionner tout juste ou même mieux, surtout si la version est supérieure à celle listée ci-dessus. Le script configure vérifie si votre système à les librairies requises et si votre compilateur supporte toutes les fonctionnalités requises par ANSI C.

### Quelles dépendances a-t-il ?

Terraform nécessite les suivantes :

- GNOME Desktop, version 1.2
- GNOME Print v0.25 ou supérieur
- GNOME XML

Le script configure vérifie si toutes les fonctionnalités nécessaires sont supportées par votre système. Typiquement, vous devriez essayer d'avoir la version la plus récente des librairies requises d'installées sur votre système.

### Comment est-il distribué ?

Terraform est publié sous licence GNU GPL et, de ce fait, le code source est fourni. Fondamentalement vous avez tout ce que j'ai. Terraform est disponible depuis son site web http://terraform.sourceforge.net et peut-être depuis d'autres sites tels que Sunsite gtkbuffet mirror et Linuxberg.

La raison de l'utilisation de la licence GPL est simple : j'ai énormément profité ( tout comme l'entière communauté Linux ) de la disponibilité des logiciels libres qui sont publiés avec leur code source. Je souhaite que le processus continue et voir la GPL comme la mère des licences logicielles open source ce qui assurera la continuité de la disponibilité/ouverture des codes sources..

### Pourquoi le développez vous ?

Parce que je pense que coder est agréable et que je n'ai pas d'autre vie :-) ... la vérité est que je cherchais quelque chose comme les gforce et hf-lab de John Beale mais avec une interface plus jolie. Les outils de John sont très bien mais ce sont des commandes en ligne ce qui souvent n'est pas l'idéal pour l'infographie.

### Jusqu'où est-il complet ?

Eh bien, c'est lentement arrivé jusqu'ici. La première version publique ( 0.1.0, version 07dec98 ) était très rudimentaire et contenait beaucoup de bogues.

Avec la version 0.2.10 ( publiée le 07avr1999 ) les choses semblent un peu mieux : Terraform est maintenant un peu plus complet et ne plante pas autant tandis qu'il a gagné de nombreuses fonctionnalités.

Avec la version 0.3.1 ( publiée le 23mai1999) les choses semblent à nouveau un peu mieux. Les dialogues ont été améliorés en un dialogue avec un aperçu temps réel et j'ai résolu un peu de bogues, certains d'entre eux causant apparemment des plantages aléatoires sur certaines plateformes.

Avec la version 0.4.4 ( publiée le 28oct1999) on a un joli ensemble complet de dialogues et un moteur qui peut conserver plusieurs terrains ouverts en parallèle.

Avec la version 0.5.0 ( publiée le 20dec1999) la code source est un peu plus sain/propre et terraform supporte maintenant l'internationalisation.

Avec la version 0.6.x ( fev2000 ou plus tard ) la plupart des bases fonctionnent, la plupart des dialogues sont débogués/terminés, l'application ne plante plus très souvent et généralement les choses se passent bien, excepté pour les bogues occasionnels qui frappent soit terraform soit Gtk--.

Avec la version 0.7.x ( 18jun2000 ou plus tard) les scènes POV-Ray sont ajoutées et le début d'une interface de sélection émerge. L'opération Déplacement fut ajoutée et de nombreux bogues corrigés.

La version courante ( 0.8.x ) fonctionne sous le bureau GNOME , a un code interface généré par Glade, un nouveau code de lignes de contour, son propre format natif de fichier, un rafraichissement plus rapide des écrans de visualisation du terrain, moins de bogues, et une aide en-ligne. Ainsi ma progression sera au mieux constante mais certainement pas rapide comme l'éclair.

### Quel est votre but/mission avec lui ?

Je n'ai pas exactement une vision claire ( je ne vais pas m'asseoir et faire une charte de développement ), je voudrais éventuellement qu'il convienne à GIMP comme terrain numérique. Voici certaines choses qu'éventuellement je voudrais que terraform ait ( si vous n'êtes pas sur de quoi je parle jettez un oeil à The GIMP, d'où plusieurs idées sont tirées ) :

- capacité à 'dessiner' votre terrain avec différents 'pinceaux'

### A propos de rendu photo-réaliste ?

Typiquement j'utilise POV-Ray pour le rendu des paysages que je crée. Cependant, il y a quelques temps, sur www.slashdot.org il fut mention d'une application Windows (blah!) appelée 'terragen' qui produit des rendus photo-réalistes. Je ne l'ai pas téléchargée/installée mais leur page web semblait très belle. Bien sur, dans le monde merveilleux de MS Windows, il ne semble pas avoir quelque intention de publier leurs sources.

Si l'absence d'un outil natif de rendu photo-réaliste achevé vous chagrine, je vous invite à répondre à mon appel à contributeurs ci-dessous.

### Comment puis-je contribuer ?

Faire de Terraform une application complète et aboutie va demander quelques efforts importants ( ou au moins obstinés ) de ma part ( ne retenez pas votre souffle pour attendre la version 1.0). Pour sûr, si vous pouvez contribuer à quoi que ce soit ( code, déboguages, suggestions, documentation ), lisez mon Appel à contributeurs ci-dessous.

### Appel à contributeurs !

Si vous pouvez contribuer à quoi que ce soit ( code, déboguages, documentation ou même suggestions ) j'apprécierais de vous lire. Une partie de la philosophie open source semble être "Fais le toi-même", voici votre chance.

Prouvons au monde que l'ensemble de l'open source fonctionne vraiment et que nous pouvons faire quelque chose qui n'a pas à honte face à terragen ( ou peut-être même mettra la honte à terragen ? ). Si vous êtes capable et motivé pour aider de quelque façon que ce soit à arriver à ce que terraform produise des images photo-réalistes de paysages, s'il vous plaît, contactez-moi.

Nous avons fait quelques progrès sur cet aspect les quelques mois derniers. Le support de POV-Ray est maintenant très bon et est encore travaillé. Le support de l'OpenGL est passé d'affreux à basique-mais-acceptable, et nous travaillons ( ou du moins pensons à ) l'intégration avec quelques autres interface graphique agréables.

### Super. Qui êtes-vous donc ?

'The crack pipe, lots of illegal drugs or just a mission'. Vous prenez ce qui vous semble le plus approprié.

### Remerciements

Terraform à plusieurs égards est bati sur du code public disponible. Voyez les AUTEURS pour plus de détails sur ce ce que nous avons volé et où.

## Faire fonctionner et utiliser Terraform

Cette section couvre les questions d'ordre général que vous pourriez avoir en utilisant des aspects particulier de l'utilisation de Terraform.

### Y a-t-il quelque information sur toutes les fonctions de transformation de terraform ?

Vérifiez la documentation en-ligne. Elle contient une description rapide de ce que les différentes opérations font vraiment. Si ça ne satisfait pas votre curiosité, il y a toujours le code source...

### Quels formats de fichiers Terraform supporte-t-il ?

Types de fichiers supportés :

File Type | Read | Write
Terraform Native | Y | Y
BMP | Y | N
DEM | Y | N
GTOPO30 | Y | N
Matlab Binary | Y | Y
OCT | Y | Y
PGM ASCII | Y | Y
PGM BINARY | Y | Y
PNG | Y | N
TIFF | Y | N
TGA | Y | Y
AutoCAD Modeller | N | Y

### Est-ce que Terraform supporte les themes Gtk+ ?

Oui. Depuis la version 0.3.1 terraform supporte correctement les Gtk themes. Si vous avez un thème gtk sur votre sytème, vous pouvez le mettre en tant qu'utilisateur en faisant ce qui suit :

    cp /usr/whereever/THEMENAME/gtk/gtkrc $HOME/.gtkrc

Si vous obtenez des erreurs à propos de ne pouvoir ouvrir les fichiers de thèmes , vous devez éditer votre .gtkrc et ajouter une ligne telle que :

    pixmap_path "/usr/whereever/THEMENAME/gtk"

au *début* de ce fichier. Terraform devrait maintenant charger le thème dès le démarrage.

### Le rendu avec POV-Ray échoue

Vous pouvez obtenir plus d'informations sur le problème rencontré en cliquant sur 'Détails' de la boîte de dialogue d'erreur si elle apparait. Il y a plusieurs causes possibles à l'échec de POV-Ray :

- Vous devez utiliser la version 3.1 de POV-Ray ou supérieure, la version 3.0 ne fonctionnera pas.
- Assurez-vous que Terraform peut trouver un exécutable POV-Ray pour X. Dans les options globales, cliquez sur l'onglet POV-Ray et assurez-vous qu'il pointe vers le bon exécutable. Les noms les plus populaires sont "x-povray" et "povray-x". Quelquefois c'est juste "povray".
- Assurez-vous que POV-Ray peut trouver ses fichiers 'include' standard. Dans votre fichier ~/.povrayrc il devrait se trouver une liqne similaire à : "Library_Path=/usr/share/povray31/include".

### Comment puis-je personnaliser la façon dont les images sont rendues avec POVRay ?

Vous pouvez créer votre propre fichier de thèmes de terrain et le mettre dans le répertoire de données des thèmes (habituellement /usr/share/terraform/themes). La prochaine fois que vous ouvrez la boîte de dialogue 'Edition> Options' , le menu déroulant theme va afficher votre nouveau fichier modèle en option. Pour plus d'informations sur comment construire vos propres textures, voyez le document écrire ses propres modèles POV-Ray .

## Compiler Terraform et troubles d'ordre général

Cette section couvre quelques unes des choses qui pourraient aller de travers quand vous essayez de compiler ou exécuter Terraform.

### Comment puis-je compiler Terraform ?

Supposant que vous avez téléchargé le source archivé ,vous devriez être capable de faire ce qui suit :

tar -xvzf terraform-0.x.x.tgz ./configure make && make install

Si vous utilisez SuSE, il est recommandé d'exécuter ./configure avec ces arguments de la commande en ligne : "--prefix=/opt/gnome --sysconfdir=/etc/opt/gnome".

### Quelque chose ne va pas. Où devrais-je regarder d'abord ?

Etant donné que Terraform est basé sur GNOME, verifiez que GNOME et ses paquetages de développements sont installés sur votre système.

### Comment soumettre un rapport de bogue et pourquoi devrais-je m'embarasser à faire celà ?

Comment : envoyez un email à rng@chello.nl et décrivez ce que vous avez fait et ce qui n'a pas été.

Pourquoi : Suivant mon expérience, beaucoup de petits bogues subtils arrivent seulement quand on compile le code sur un autre OS ou plateforme matérielle. Ainsi, si vous n'êtes pas sur un système Linux Intel Glibc, et que quelque chose plante, j'apprécierais un email; surtout s'il arrive à un endroit où manifestement celà indique habituellement un bogue qui pourrait justement ne pas apparaitre sur mon système. Votre rapport de bogue m'aidera à faire de Terraform une application meilleure.

### Quelque chose ne marche pas. Comment puis-je voir ce qui se passe ?

Essayez d'exécuter Terraform depuis 'gdb' et faites un 'backtrace' "bt" pour voir le 'callstack'.

### Terraform plante en chargeant un fichier.

Assurez-vous que l'extension de votre nom de fichier corresponde avec le type de fichier réel. Par exemple : n'essayez pas de renommer un fichier *.tga en un *.bmp et puis de le charger dans terraform. L'extension est souvent considérée comme une caractéristique du type du fichier.

### Terraform plante. Quelle information utile puis-je fournir aux auteurs ?

Si vous avez téléchargé l'exécutable précompilé vous ne pouvez pas faire grand chose dans ce cas car l'exécutable est nettoyé de toutes les informations de déboguage.La meilleur chose est probablement de m'envoyer un email me décrivant ce que vous avez fait.

Si vous avez compilé votre propre exécutable depuis le code source, s'il vous plaît recompilez terraform avec l'argument -g ( ajoutez l'argument -g aux variables TF_CFLAGS et TF_CXXFLAGS dans terraform/src/Makefile). Puis utilisez gdb ( ou un autre débogueur ) pour m'envoyer une trace de la pile :

    gdb ./terraform
    r [append any necessary options here]
    .... this will run until it crashes ...
    bt
    q

La commande bt devrait vous donnez une trace de la pile qui devrait m'aider à me représenter ce qui est aller de travers. Vous pouvez utiliser ./configure --disable-debug pour compiler un exécutable sans le mécanisme de traçage intégré.

Si vous avez téléchargé l'exécutable statique, ne vous embarassez pas à le faire car votre exécutable a été nettoyé de toutes les informations de déboguage. Merci pour votre coopération.

### Terraform s'arrète avec un message d'erreur

C'est une situation qui ne devrait pas arriver; celà signifie une erreur logique quelque part dans l'application. S'il vous plaît envoyez-moi un email avec ce que vous avez fait de telle façon que je puisse reproduire et résoudre l'erreur.