====== Installation depuis les sources ======
  *[[http://forum.kubuntu-fr.org/viewtopic.php?pid=1220598#p1220598|Trouvé ici]] \\ 
Les archives sous formes **.tar.** peuvent être de deux types :

1- Un tout-compris, on décompresse et c'est près à partir. On peut voir ça avec des applications Java ou PHP (dotclear par exemple). Dans ce cas le fichier est simplement le répertoire tout emballé. Il suffit de le décompresser, éventuellement le paramétrer et le placer dans un endroit où l'utilisateur peut lire (et parfois écrire). Typiquement, /opt en gérant bien les droits.

2- Ce sont les sources du programme.

C'est l'ancien système, celui avant le temps des paquets. Il a pour avantage d'être compilé sur de nombreuses plateformes alors qu'un paquet est limité à quelques plateformes (par exemple: Ubuntu et Debian). Les sources ne sont pas utilisables tel quel : un programmeur peut les analyser mais un ordinateur ne sait pas les exécuter. Il faut transformer les sources en un exécutable, c'est la compilation.

Il y plusieurs moyens pour compiler un programme, et ça dépend du programme. Pour les programmes en Java, Ant est souvent utilisé. Pour les programmes en C et C++, il faut Make. Ant et Make ne sont pas des compilateurs, ce sont des programmes qui aident à la compilation. 

En effet, il ne suffit pas de prendre tous les fichiers sources et de dire "je veux en faire un exécutable" : il faut en réalité compiler les fichiers un par un. Les fichiers compilés peuvent alors s'assembler en des groupes. Ces groupes peuvent aussi se combiner. Il y a ainsi un ordre à respecter pour que la compilation se déroule bien. Puisque c'est super lourd de faire tout ça à la main, on crée un fichier qui automatise le processus. C'est ce fichier qui est utilisé par Ant ou Make pour réaliser la compilation.

Pour les programmes en C/C++, il vous faut le paquet build-essential. Il comprend entre-autre Make et GCC. GCC étant le compilateur.

La démarche typique d'installation est:
  $./configure
  $make
  #make install

**./configure** lance un script qui prépare le terrain, il initialise différents fichiers de configuration en fonction de l'ordinateur utilisé. C'est à ce moment que les grosses options du programme sont choisies. Par exemple : 32 bits ou 64bits? Installation dans le répertoire standard? Si le programme a des dépendances, elles ne sont pas gérées. Un message affichera la librairie manquante et le processus échouera.

Une fois que la configuration s'est réalisée avec succès, on lance **make**. Make va faire apparaître plein de messages à l'écran : ce sont les lignes de commandes lancées automatiquement pour la compilation de toutes les parties du programme et la réponse du compilateur. Une compilation d'une grosse application peut prendre des heures. Je crois que l'option -p permet d'indiquer le nombre de processus à lancer, ce qui peut accélérer les choses pour les possesseurs d'un multiprocesseur/multicoeur.

Une fois cette phase terminée, l'application est compilée, prête à être utilisée. Elle est "personnalisée" : elle a été compilée en tenant compte des spécificités de votre ordinateur. L'installation n'est pas encore terminée car tous les fichiers créés sont encore dans le répertoire local. Si vous faites "make clean", tous les fichiers compilés seront effacés et vous pouvez repartir de zéro.

Pour installer réellement l'application, un **make install** fait l'affaire. Il faut le faire en **root** car, par défaut, il place les fichiers dans les répertoires prévus par les développeurs. Or, ceux-ci ne sont généralement accessibles qu'à root. Installation terminée.

Enfin, il faut signaler que la configuration n'est parfois pas nécessaire, voir make install. Aussi, je ne saurais qu'insister sur l'importance d'utiliser des paquets, et un gestionnaire de ceux-ci, afin que l'ordinateur garde une cohérence. Avec les sources, c'est une installation sauvage et une désinstallation qui l'est encore plus. Il y a quelques outils de gestion qui civilisent tout ça mais bon...


**Note:**
Une fois installé on peut effacer le fichier téléchargé... sauf que certains programmes gardent des traces nécessaires à une désinstallation propre dans ce fichier (enfin, une fois que le programme est installé uniquement).

Donc supprimer les sources, c'est se priver d'un (possible) outil aidant à la désinstallation. Sans lui, il faudra supprimer l'application à la main, le plus proprement possible... ce qui finit toujours par aboutir sur des systèmes pas des stables.

//merci à Lord Alembert//