Lamp

Publié le 31 juillet 2009 par Ubugnu
Salut à toutes et à tous,
Cela fait bien longtemps que je n'ai pas émis de billet et pour cause: j'étais (et je suis encore) très occupé à étudier la formulation Hamiltonienne de la Relativité Générale, plus précisement le formalisme ADM (Arnowitt-Deser-Misner) qui donne une méthode pour isoler les temps de l'espace et ainsi pouvoir faire un traitement canonique .... [je dis n'importe quoi hein !!? LOL]
Anyway, je voulais au moins emettre deux billets pour ce mois de Juillet, des fois qu'on disent que je suis devenu fénéant LOL.
Revenons à nos équations ... euh pardon: à nos moutons, Aujourd'hui je vais vous parler de LAMP (Linux Apache MySQL PHP) qui est en quelquesorte l'équivalent du WAMP de Windowns, la seule différence est que sous Windowns ça s'installe comme une application qui regroupe le tout tandis que sous Linux il faut installer chacune des "pieces" séparément, certains y verraient un bon point pour Win, moi je vous dis que ça en est un pour Nunux car de la sorte on sait ce qu'on manipule et ce qu'on fait.
Assez de bavardages, commencons par les définitions:

Développer ...

Linux : Boite magique qui vous permets de faire tout ce que tonton Billou ne vous laisse pas faie :-p
Apache : C'est un serveur http, tout comme le serveur d'un réstaurant, vous lui dites quelle page vous voulez (via l'url) et il vous "sert" le code html de cette page (qui sera interprété par votre navigateur pour faire une page internet toute belle), la cuisine (là où il va cherhcer ce qu'il va servir) est un dossier bien particulier (sous Ubuntu ça sera /var/www) tout ce que vous y metterais pourra être accéssible par n'importe qui qui tapera votre adresse IP dans son navigateur (ou par vous si vous taper "localhost" ou "127.0.0.1" dans le votre).
MySQL : C'est un language de programmation de gestion des Bases de Données (BDD), pour ceux qui ne connaissent pas, ce sont des structures qui permettent de classifier l'information, grosso modo, une base de données est constituée de tables (des tableaux), ces tables comportent des champs, ces champs permettent de localiser une information (une variable) très facilement. Par exemple on dit à MySQL:
"vas me charcher le
mot de passe de l'utilisateur Arnowitt dans la table Utilisateurs qui se situe dans la BDD forum"
via la requete SQL:
SELECT motdepasse FROM `forum`.`Utilisateurs` WHERE utilisateur
= 'Arnowitt'
Ce petit exemple est juste pour vous montrer l'utilité d'une BDD.
PHP : Language de programmation pour générer des pages web dynamiques :-) la grande différence avec le HTML (qui génère des pages web statiques) est que le script php s'éxécute d'abord sur le serveur (Apache) et envoie le contenu HTML ainsi généré à l'utilisateur qui à émis la requete (http :-p) l'avantage est que le résultat renvoyé pour une même page peut être différent en fonction d'une multitude de paramètre (ce que le client à envoyé, son IP, son O.S, l'heure, une variable dans un fichir local, une variable dans la BDD,...) les possibilités sont immenses.
Maintenant qu'on a fait le tour de la question, sachez que tout installer n'est en rien obligatoir, si vous voulez faire que du HTML en local (sur votre machine) vous n'avez besoin de rien, votre navigateur fera l'affaire, si vous voulez rendre votre machine un serveur (vos pages sont accéssibles via votre IP) Apache fera l'affaire, maintenant si vous voulez que vos pages soient dynamiques il faudra PHP, MySQL n'est en rien obligatoire, mais vous vous rendrez très vite compte de la puissance d'un système de BDD donc je vous invite à tout installer :-).
Mais contrairement aux autres sites qui proposent des solutions en ligne de commande, on va utiliser votre gestionnaire de paquets préféré (Synaptic, Adept, ...) faites simplement les recherches suivantes : Apache2, MySQL-server, PHP5, PHP5-MySQL (prévoir aussi le module php5-mcrypt qui nous sera utile pour phpmyadmin qui est une interface graphique de gestion des BDD) cochez tous les paquets qui corréspondent à ceux que j'ai énnuméré (en gras), confirmez d'éventuelles dépendances, et lancer le téléchargement/installation.
Quand tout sera fini, testons tout ça:
Apache : Allez dans votre navigateur préféré et tapez localhost dans l'url, si vous voyez "it works" alors cela voudra dire que .... it works :p
PHP : grrr !!! faudra une ptite combine pour pouvoir créer un fichier php pour le tester car, comme je vous l'ai déja dis, la où le serveur va chercher les pages (la cuisine) c'est dans /var/www (les pages html seront les plats froids, directement servis, php seront par contre cuisinés avant d'être servis, selon les gouts du client et ceux du chef cuisinier) mais voila, on n'a pas la permission d'écrire dans /var/www :-( seul le root (le supeutilisateur) peut le faire, pas de panique c'est simple de remédier à cela, je vous le dirais une autre fois inchallah, pour le moment nous allons nous métamorphoser en root hhhhhh, c'est simple, allez dans un Terminal, taper :
sudo nautilus

Nautilus est le géstionnaire de fichier sous Gnome (pour KDE ça sera sudo konqueror) maintenant vous pourrez créer et supprimer (bref tout faire) en root.
Allez maintenant dans le dossier /var/www, vous trouverez déja le fichier html index.html (en faite celui qui contient le fameux "it works"), clique droit, créez un nouveau document, nommez le test.php par exemple, ouvrez le et recopier ce petit script php:
<?php echo "Hello Algeria!"; ?>
enregistrez puis allez vérifier si l'url: localhost/test.php montre bien un "Hello Algeria!", si ça marche, ça voudra dire que le code php echo "Hello Algeria!"; s'est bien éxécuté.
[...]
Désolé là il est presque minuit je suis fatigué je lis quelques passages du Coran et je m'endores, la prochaine fois inchallah on testera le module MySQL de php et par la même occasion MySQL lui même, enfin je vous présenterais phpmyadmin le gestionnaire graphique de BDD.