20:35 < Uggy> ca roule :) 20:35 <+racoon97> skateinmars, quelle version d'Apache ? 20:35 < jos[]> c'est a quelle heure la récré ? 20:35 <+gapz> hey Uggy :) 20:35 < Uggy> gapz: ;) 20:35 <@skateinmars> racoon97: 2.X 20:35 <+racoon97> ok :] 20:36 <@skateinmars> salut Uggy (mince je vais me faire traquer ;) ) 20:36 < Uggy> skateinmars: 'lut :) 20:36 < Neoxygen> html seulement ? 20:36 < cemoi> on parle de appache 2? 20:36 <+arthur-> cemoi: oui 20:36 < jos[]> cemoi: au piquet ! 20:36 <@skateinmars> cemoi: oui mais il n'y aura pas de problemes pour s'adapter a apache 1 20:36 <@skateinmars> Neoxygen: on verra php rapidement 20:36 < Neoxygen> oki 20:37 < cemoi> ok 20:37 < waloo> ko 20:37 <@skateinmars> jos[]: pas de recre, un peu de serieux non mais 20:37 -!- ptitgui [n=ptitgui@bro29-2-88-164-249-78.fbx.proxad.net] has joined #ubuntu-fr-classroom 20:37 -!- Pinpi1 [n=pinpin@lns-bzn-48f-62-147-223-115.adsl.proxad.net] has joined #ubuntu-fr-classroom 20:37 -!- mode/#ubuntu-fr-classroom [+m] by skateinmars 20:37 <@skateinmars> Commencons par le Web 20:37 <@skateinmars> Donc, qu'est-ce que le Web à proprement parler ? 20:37 <@skateinmars> Pour essayer de faire simple, bref et compréhensible, on va dire que le Web est un réseau composé de l'ensemble des sites Internet disponibles publiquement, reliés entre eux par des hyperliens. 20:38 <@skateinmars> On est pas trop avancé, il nous faut maintenant savoir ce qu'est un site Internet, aussi appelé site Web. 20:38 <@skateinmars> C'est un ensemble de pages Web, liées entre elles. 20:38 <@skateinmars> Un site web a une adresse. 20:38 <@skateinmars> Regardons par exemple le site d'ubuntu-fr : http://ubuntu-fr.org/ 20:38 -!- Irssi: #ubuntu-fr-classroom: Total of 47 nicks [2 ops, 0 halfops, 8 voices, 37 normal] 20:38 <@skateinmars> La page Web principale de ce site propose des liens hypertextes vers d'autres pages et d'autres sites, par exemple : http://ubuntu-fr.org/telechargement 20:38 <@skateinmars> Bref, tout le monde ici a certainement déjà visité un site Web. 20:38 <@skateinmars> Mais cette mini intro me semble utile utile pour éviter les amalgames que certains font parfois entre Internet et le Web. 20:39 <@skateinmars> Par exemple, ici, vous utilisez IRC, mais pas le Web (à moins d'utiliser CGI:IRC ou une applet Java mais c'est un cas particulier dont nous ne parlerons pas). 20:39 -!- mode/#ubuntu-fr-classroom [-m] by skateinmars 20:39 <@skateinmars> des questions ? 20:39 < jos[]> arf, y a kaamelott 20:39 <+gpocentek> pas de questions ici 20:39 < jos[]> ^^ 20:39 < ptitgui> pas pour le moment 20:40 < termitor> skateinmars: un site web implique le protocole http ? 20:40 < Neoxygen> ben non mais pousse pas trop loins quand meme 20:40 < tetsuo44> tu vas parler de la structure des url (en particulier les constituant d'un domaine) ? 20:40 <@skateinmars> termitor: oui 20:40 <@skateinmars> tetsuo44: plus ou moins oui 20:40 < Uggy> termitor: et hhtps ;) 20:40 < Uggy> termitor: https ;) 20:40 < Neoxygen> ca vas prendre 10 jours 20:41 < termitor> skateinmars: donc un site web, c'estest un ensemble acccessible via http (ou https ) et le web c'est l'ensemble des sites publiquement acessible via http (et https) 20:41 < waloo> termitor: mais dans un site web on peut faire des liens ftp ? c'est des liens vers le dehors du web ? 20:41 <@skateinmars> waloo: oui mais qui restent accessibles par internet 20:41 -!- alex206 [i=alex@tre01-1-82-232-158-38.fbx.proxad.net] has joined #ubuntu-fr-classroom 20:41 < termitor> waloo: oui , mais si tu n'a pas une base http , tu ne va pas loin 20:41 < alex206> bonjour 20:41 <@skateinmars> on peut aussi faire des liens pour le mail, irc, jabber, etc... 20:42 < waloo> gopher 20:42 < waloo> ok 20:42 < waloo> je vois 20:42 < tetsuo44> donc vers des protocoles qui necessite un autre type de client que le navigateur web 20:42 < termitor> et il a meme d'autre protocole qui pourrais remplacer http , genr bxxp 20:42 <@skateinmars> ok, on continue 20:42 -!- mode/#ubuntu-fr-classroom [+m] by skateinmars 20:42 <@skateinmars> Pour accéder à un site web, il vous faut utiliser un client Web, appelé communement Navigateur. 20:43 -!- momowac [n=momowac@adsl196-82-204-217-196.adsl196-15.iam.net.ma] has joined #ubuntu-fr-classroom 20:43 <@skateinmars> Par exemple : firefox, lynx, opera, konqueror, w3m... 20:43 <@skateinmars> C'est la qu'intervient le protocole HTTP. 20:43 <@skateinmars> Voyez par exemple le site suivant http://test.skateinmars.net/ 20:43 -!- AToMiSeR [n=FIRE@82.238.170.171] has joined #ubuntu-fr-classroom 20:43 <@skateinmars> Visitez le avec votre navigateur et vous verrez une page toute simple qui s'affiche. 20:43 <@skateinmars> Comment votre navigateur peut-il afficher cette page ? Il l'a en fait demandée au serveur qui s'occupe de ce site. 20:43 -!- lem_ [n=lemmmy@nic06-1-82-242-227-180.fbx.proxad.net] has quit [Client Quit] 20:43 <@skateinmars> On va faire pareil à la main ! 20:44 <@skateinmars> Ouvrez une console et tapez : 20:44 <@skateinmars> telnet test.skateinmars.net 80 20:44 <@skateinmars> Vous voyez s'afficher ceci : 20:44 <@skateinmars> Trying 82.228.105.196... 20:44 <@skateinmars> Connected to skateinmars.net. 20:44 -!- mode/#ubuntu-fr-classroom [-m] by skateinmars 20:44 <@skateinmars> des problemes jusqu'ici ? 20:45 <+gpocentek> ça marche \o/ 20:45 < cemoi> pas de pb 20:45 < Uggy> ca roule.. 20:45 < waloo> nickel 20:45 <@skateinmars> Vous êtes donc connecté au serveur identifié par le nom skateinmars.net et l'adresse IP 82.228.105.196 20:45 <@skateinmars> Le serveur attend une action de votre part. 20:45 <@skateinmars> Tapez donc dans la console 20:45 < waloo> ha non test.skateinmars.net 20:45 <@skateinmars> GET / HTTP/1.1 20:45 <@skateinmars> Puis entrée, puis 20:45 <@skateinmars> Host: test.skateinmars.net 20:45 < jos[]> j'a pas de telnet 20:46 < jos[]> faut l'installé 20:46 <@skateinmars> installe le paquet telnet jos[] 20:46 -!- Koyl [i=Koyl@33.133-245-81.adsl-dyn.isp.belgacom.be] has joined #ubuntu-fr-classroom 20:46 < waloo> HTTP/1.1 301 Moved Permanently 20:46 < Koyl> re jos[] 20:46 <+Sp4rKy> ^^ 20:46 < jos[]> re Koyl 20:47 <@skateinmars> waloo: tu ne t'es pas trompé dans le Host ? 20:47 < waloo> non, de version de protocole 20:47 < waloo> c'est bon avec HTTP/1.1 20:48 -!- mode/#ubuntu-fr-classroom [+m] by skateinmars 20:48 <@skateinmars> Vous voyez donc s'afficher du texte. 20:48 <+gpocentek> euh... je reçois rien skateinmars... 20:48 -!- asimbonanga [n=animimot@unaffiliated/animimotus] has joined #ubuntu-fr-classroom 20:48 <@skateinmars> Si vous êtes toujours connecté (telnet ne s'est pas arrété) entrez Control+C, puis entrée, et vous verrez un "Connection closed by foreign host." 20:48 -!- lem [n=lemmmy@nic06-1-82-242-227-180.fbx.proxad.net] has joined #ubuntu-fr-classroom 20:49 <@skateinmars> gpocentek: il faut retaper entrée après avoir terminé la ligne Host (2 fois entrée) 20:49 <+gpocentek> ah oui :) 20:49 <+racoon97> ah oui la ça passe 20:49 <@skateinmars> désolé ;) 20:49 <@skateinmars> La connexion au serveur est maintenant terminée. 20:50 <@skateinmars> Ce texte que vous pouvez voir , c'est le même que vous avez vu dans votre navigateur tout à l'heure : c'est une page Web. 20:50 <@skateinmars> Verifiez dans votre navigateur en regardant la source de la page : Bouton droit, "Code source de la page" sous Firefox. 20:50 -!- mode/#ubuntu-fr-classroom [-m] by skateinmars 20:50 <@skateinmars> Tout est ok ? 20:50 <+gpocentek> perfect 20:50 < waloo> il répond des trucs en plus au début... 20:50 <@skateinmars> waloo: on va voir ca ;) 20:51 -!- mode/#ubuntu-fr-classroom [+m] by skateinmars 20:51 <@skateinmars> Vous venez donc d'utiliser le protocole HTTP. 20:51 <@skateinmars> Qu'est-ce qu'un protocole (de communication) tout d'abord ? 20:51 <@skateinmars> C'est une spécification qui définit une manière de communiquer entre plusieurs machines. HTTP, c'est le protocole que l'on a choisi pour le Web. Il y a en d'autres pour d'autres usages, FTP par exemple. 20:51 <@skateinmars> Vous pouvez d'ailleurs le reconnaître dans l'adresse d'une page web : http://bla 20:51 <@skateinmars> HTTP veut dire Hypertext Transfer Procotol, soit « protocole de transfert hypertexte ». 20:52 <@skateinmars> Hypertexte, en raison des liens hypertextes qui pointent vers les ressources accessibles par HTTP. 20:52 <@skateinmars> On utilise donc HTTP à chaque fois que l'on visite une page Web. 20:52 <@skateinmars> Mais penchons nous encore un peu plus sur le sujet. 20:52 <@skateinmars> HTTP est apparu dans les années 89/90, sur une proposition de Tim Berners-Lee, aujourd'hui président du W3C, l'organisme qui produit des recommandations qui servent de standards pour le Web (XML, HTML, CSS entre autres). 20:52 <@skateinmars> Comme pas mal de protocoles il en existe plusieurs versions. 20:52 <@skateinmars> La première version est appelée HTTP/0.9, et la version 1.0 est devenue un standard IETF en mars 1996. Elle est definie dans la RFC 1945. 20:52 <@skateinmars> La norme actuelle est HTTP/1.1 et elle est décrite dans les RFC 2616 : http://tools.ietf.org/html/rfc2616 et 2068 20:52 <@skateinmars> Ce sont _les_ documents à lire pour tout savoir sur HTTP (mais c'est pas grave si vous ne les lisez pas ;) ) 20:53 -!- mode/#ubuntu-fr-classroom [-m] by skateinmars 20:53 <@skateinmars> un detail a clarifier sur ce point ? 20:53 < waloo> *Sir* TBL 20:53 <@skateinmars> (RFC = Request For Comments) 20:54 < Uggy> Ca roule... 20:54 < waloo> http evolue encore, y'aura un 1.2 ? un 2.0 ? 20:54 < cemoi> c'est bon :) 20:54 <@skateinmars> waloo: moui si on veut, avec ses 2 prenoms et tout aussi ;) 20:55 < termitor> waloo: le 1.1 est suffisant, pour le momment, mais il est possibile qu'un autre protocole suplante le http un jour 20:55 <@skateinmars> waloo: je n'ai pas vu d'évolutions a l'ordre du jour mais rien n'est a exclure 20:55 -!- mode/#ubuntu-fr-classroom [+m] by skateinmars 20:55 <@skateinmars> Comme vous avez pu le remarquer lors de l'utilisation de telnet, HTTP utilise par défaut le port 80. 20:55 <@skateinmars> Votre navigateur le sait et c'est pour cela que vous n'avez pas à taper http://www.google.fr:80/ (vous pouvez néanmoins essayer, ca marche). 20:56 -!- crevette [n=baptiste@ANice-256-1-124-113.w90-27.abo.wanadoo.fr] has joined #ubuntu-fr-classroom 20:56 <@skateinmars> Quand on utilise HTTP, il faut définir deux choses essentielles : la ressource sur laquelle on agit, représentée par l'url, "/bob" par exemple. 20:56 <@skateinmars> (pas exactement l'url en fait...) 20:57 <@skateinmars> Puis la méthode à utiliser. 20:57 <@skateinmars> Il y a plusieurs méthodes disponibles, la plus utilisée étant GET. C'est celle que les navigateurs utilisent pas défaut quand vous cliquez sur un lien ou tapez l'adresse d'un site à consulter. 20:57 <@skateinmars> Une autre méthode, très utilisée, et la méthode POST. Elle est souvent utilisée avec des formulaire, pour envoyer un message sur un forum par exemple. 20:57 <@skateinmars> Ceux qui ont deja touché à PHP ou au développement web connaissent ces deux méthodes, il y en a d'autres mais elles sont beaucoup moins courantes : HEAD, PUT, DELETE etc... 20:57 -!- cobex4 [n=cobra@unaffiliated/cobex4] has joined #ubuntu-fr-classroom 20:57 -!- mode/#ubuntu-fr-classroom [-m] by skateinmars 20:57 <@skateinmars> Ok ? 20:57 < asimbonanga> skateinmars: si http:// c'est le protocole, rajouter www juste après c'est pour au cas où on n'aurait toujours pas compris qu'on est sur le net avec ce protocole ? ^^ 20:58 < waloo> asimbonanga: le www ,'est pas obligatoire... 20:58 <@skateinmars> asimbonanga: c'est juste une convention, assez inutile, et pas du tout necessaire 20:58 < Uggy> asimbonanga: www c'est le nom du serveur... tu peut l'apeller comme tu veux 20:58 < crevette> non, c'est le nom du hostname du server 20:58 <@skateinmars> http://no-www.org/ ;) 20:58 < waloo> ou pas :) 20:58 <@skateinmars> crevette: pas forcement 20:58 < The_Marauder> machine.ledomaine.fr 20:58 < termitor> waloo: je confirme , il y a un bxxp et beep , comme protocole (c un protocole connecter, bidirectionnel) 20:58 < crevette> skateinmars: euh ouais ca peut etre un alias 20:59 < waloo> ok merci termitor 20:59 < asimbonanga> donc le www c'est juste redondant 21:00 -!- animimotus [n=animimot@unaffiliated/animimotus] has quit [Connection timed out] 21:00 <@skateinmars> voila, mais les sous domaines (truc.domaine.tld) sont utiles 21:00 -!- mode/#ubuntu-fr-classroom [+m] by skateinmars 21:00 <@skateinmars> Reprenons telnet. 21:00 <@skateinmars> telnet test.skateinmars.net 80 21:00 <@skateinmars> Tapez GET /test/test.txt HTTP/1.0 21:00 <@skateinmars> Host: test.skateinmars.net 21:00 <@skateinmars> Connection: close 21:01 <@skateinmars> Vous obtenez la ressource test/test.txt, qui est un simple fichier texte, après avoir utilisé la méthode GET. 21:01 <@skateinmars> Vous avez également utilisé HTTP en version 1.0 21:02 -!- mode/#ubuntu-fr-classroom [-m] by skateinmars 21:02 <@skateinmars> un probleme ici ? 21:02 <+gpocentek> pas ici 21:02 -!- b52 [n=b52@168.147.102-84.rev.gaoland.net] has joined #ubuntu-fr-classroom 21:02 < Uggy> Ca roule... 21:02 -!- Koyl [i=Koyl@33.133-245-81.adsl-dyn.isp.belgacom.be] has quit [] 21:02 < waloo> pas de bleme 21:02 < cemoi> ok 21:03 <@skateinmars> (je viens de m'apercevoir qu'il y aurait du y avoir un Keep-Alive sur l'autre requete mais c'est pas grave ^^ ) 21:03 < waloo> c'est quoi le Connection: close ? 21:03 < b52> Bonsoir 21:03 < Uggy> asimbonanga: y a des sites sans www (adsl.free.fr meteo.tf1.fr etc..) 21:03 < Uggy> waloo: tu le tape pas... 21:04 <+racoon97> Message indiquant la fermeture de la session telnet 21:04 < waloo> si je le tape pas ça fait pareil :) 21:04 <@skateinmars> on va voir l'utilité de connection 21:04 -!- mode/#ubuntu-fr-classroom [+m] by skateinmars 21:04 <@skateinmars> refaites donc les etapes precedentes, mais Pour Connection, utilisez 21:04 <@skateinmars> Connection: keep-alive 21:05 <@skateinmars> vous pouvez voir que telnet reste connecté au serveur et vous pouvez ainsi envoyer une autre requete 21:05 -!- mode/#ubuntu-fr-classroom [-m] by skateinmars 21:05 < tetsuo44> Uggy en premier (aprés le protocole) c'est le nom de serveur .... www trucmuche ou autre on verra ça aprés 21:06 -!- mode/#ubuntu-fr-classroom [+m] by skateinmars 21:06 <@skateinmars> analysons un peu plus ce que l'on vient de faire : 21:07 <@skateinmars> - sur la première ligne, on choisit la méthode à utiliser (GET), l'adresse de la ressource (/test/test.txt), et la version de HTTP à utiliser 21:07 <@skateinmars> - sur la deuxième ligne on choisit l'hôte à contacter. C'est obligatoire dans la norme HTTP supérieure à 0.9, et très utile pour un serveur qui hébergerait plusieurs sites sur la même IP. 21:07 <@skateinmars> - Sur la troisième ligne on a défini une option supplémentaire que l'on avait ignoré la première fois. 21:07 <@skateinmars> L'option Connection permet de spécifier si l'on veut rester connecté au serveur après avoir recu la ressource ou si l'on souhaite se déconnecter. 21:07 -!- cemoi_ [n=cemoi@AMontpellier-251-1-25-38.w81-251.abo.wanadoo.fr] has joined #ubuntu-fr-classroom 21:07 <@skateinmars> (on peut voir la différence avec keep-alive) 21:07 <@skateinmars> Il y a bien d'autre options disponibles, chacune étant un "en-tête". 21:08 -!- mode/#ubuntu-fr-classroom [-m] by skateinmars 21:08 -!- asimbonanga is now known as animimotus 21:08 <@skateinmars> ok ? 21:08 < cemoi_> ok 21:08 <+gpocentek> skateinmars: le keep-alive garde pas la connection indéfiniment, si ? 21:08 < waloo> gpocentek: y'a un timeout visiblement 21:08 <+gpocentek> le serveur a l'air de clore la session 21:08 < crevette> non 21:09 <+gpocentek> ok 21:09 < waloo> j'ai découvert une commande GET dans mon shell du coup :) 21:09 <@skateinmars> gpocentek: non, cela dépend des autres en-tetes que l'on peut specifier comme Keep-Alive 21:09 < Uggy> skateinmars: le serveur qui recoit pas de "Connection" prend ca comme un Connection: Close dans le protocole ? 21:09 <+gpocentek> ok 21:09 <@skateinmars> Ainsi que de la configuration du serveur 21:09 < crevette> http://httpd.apache.org/docs/1.3/keepalive.html 21:10 <@skateinmars> Uggy: il me semblait que oui jusqu'a il y a quelques minutes ^^' 21:10 -!- remi____ [n=reber@LNeuilly-152-21-126-73.w193-253.abo.wanadoo.fr] has joined #ubuntu-fr-classroom 21:10 < remi____> soir 21:10 < Uggy> skateinmars: pkoi "jusqu'a il y a quelques minutes" ? 21:11 <@skateinmars> Uggy: la derniere fois que j'ai testé sans spécifier Connection, je restai connecté, mais pas ce soir 21:11 -!- cobex4 [n=cobra@unaffiliated/cobex4] has left #ubuntu-fr-classroom ["Konversation terminated!"] 21:11 < cemoi_> c'est possible de remettre la commande je suis passé sur une autre bécane sous linux 21:11 < Uggy> skateinmars: aah ok :) ..bon... 21:11 < remi____> ya qqn qui sait pourquoi dans xgl lorsqu'on clique sur les desktop virtuels (bas a gauche), toutes les barres des taches/menus disparaissent ? 21:11 < waloo> skateinmars: ça dépend de la versio du protocole : 1.1 => keep-alive par défault, 1.0 => close 21:11 <+gpocentek> remi____: #ubuntu-fr stp 21:11 < remi____> gpocentek, pourquoi ? 21:11 <+gpocentek> remi____: y'a un cours en route ici 21:12 < crevette> remi____: ici c'est classroom 21:12 < remi____> ooops 21:12 < waloo> (il me semble) 21:12 < Uggy> waloo: bien vu !!! :) 21:12 < crevette> Apache 1.1 comes with Keep-Alive support on by default, 21:12 <@skateinmars> waloo: mmhh en effet je viens de voir ca 21:13 < cemoi_> c'est pas possible de reavoire la commande svp? 21:13 <@skateinmars> cemoi_: quelle commande ? le tout ? 21:13 < termitor> cemoi_: http://paste.ubuntu-nl.org/39397/ 21:13 < cemoi_> oui je viens de changer de machine c'est pour ça 21:14 <@skateinmars> suis le lien de termitor 21:14 < termitor> cemoi_: dans le lien , tu as les 2 dernieres page 21:14 < cemoi_> ok merci 21:14 <@skateinmars> on va continuer 21:14 -!- mode/#ubuntu-fr-classroom [+m] by skateinmars 21:14 <@skateinmars> Regardons maintenant les quelques lignes renvoyées par notre action : 21:14 -!- cemoi [n=cemoi@AMontpellier-251-1-25-38.w81-251.abo.wanadoo.fr] has quit [Client Quit] 21:14 <@skateinmars> HTTP/1.1 200 OK 21:14 <@skateinmars> Ici on peut voir le protocole utilisé, et le code de retour. 21:14 <@skateinmars> Le code de retour est très important, il nous permet de savoir si la requête a reussi ou non. 21:14 <@skateinmars> Ici le code est 200, soit OK. 21:15 <@skateinmars> Le code 200, vous le recevez à peu prêt tout le temps, il signifie que la requête a réussi. 21:15 <@skateinmars> Bien sur vous ne le voyez pas dans votre navigateur puisque celui-ci affiche la ressource recue (ce qui vous interresse plus d'habitude que de savoir simplement si elle a été recue !) 21:15 <@skateinmars> Si vous êtes curieux vous pouvez essayer un telnet sur une ressource non existante, et vous verrez le code 404 bien connu qui signifie que la ressource n'existe pas. 21:15 <@skateinmars> Les codes d'erreur en 2XX sont des codes de réussite, en 3XX ce sont des redirections, en 4XX des erreurs de requête et en 5XX des erreurs du serveur. 21:15 <@skateinmars> Une liste de tous les codes est bien sur dispo dans la RFC. 21:15 -!- mode/#ubuntu-fr-classroom [-m] by skateinmars 21:15 <@skateinmars> ok ? 21:15 < tetsuo44> vivi 21:15 <+gpocentek> limpide 21:16 <@skateinmars> Passons aux autres lignes : 21:16 <@skateinmars> - Server: Apache/2.2.3 (Debian) DAV/2 SVN/1.4.2 mod_python/3.2.10 Python/2.4.4 PHP/5.2.0-8+etch7 proxy_html/2.5 mod_ssl/2.2.3 OpenSSL/0.9.8c 21:16 <@skateinmars> C'est simplement le nom et les informations sur le serveur qui vous a répondu. Ici Apache version 2.2.3. 21:16 <@skateinmars> On peut configurer son serveur pour cacher ces options et éviter les crackers qui recherchent une version précise d'apache vulnérable à certaines failles. 21:17 <@skateinmars> (notez qu'il vaut mieux corriger la faille dans ce cas ;) ) 21:17 <@skateinmars> - Last-Modified nous donne la date à laquelle la ressource a été modifiée pour la dernière fois 21:17 <@skateinmars> - ETag: représente un identifiant du fichier 21:17 <@skateinmars> Ces deux options permettent au navigateur de les comparer avec les fichiers qu'il a dans son cache pour ne pas retélécharger inutilement un fichier qu'il a déjà demandé auparavant. 21:17 -!- momowac [n=momowac@adsl196-82-204-217-196.adsl196-15.iam.net.ma] has quit [Remote closed the connection] 21:17 <@skateinmars> - Content-Length définit la taille du contenu que le serveur vous envoie, et 21:18 <@skateinmars> - Content-Type, c'est le type MIME du contenu (texte, image etc...) 21:18 <@skateinmars> des questions sur ce point ? 21:18 < cemoi_> c'est ok 21:19 <@skateinmars> notez qu'il est un peu bête de se servir de ETag et Last-Modified si l'on télécharge tout de même la ressource 21:20 <@skateinmars> on peut donc utiliser HEAD au lieu de GET pour demander ce genre d'infos 21:20 -!- isin [n=inax@88.171.248.72] has joined #ubuntu-fr-classroom 21:21 <@skateinmars> bon, ca a l'air ok ;) 21:21 -!- mode/#ubuntu-fr-classroom [+m] by skateinmars 21:21 <+gpocentek> ouep :) 21:21 <@skateinmars> Voila le topo basique sur HTTP, avec ca vous pouvez jouer un peu sur les sites que vous connaissez, et bientôt sur votre propre serveur :) 21:21 <@skateinmars> http://fr.wikipedia.org/wiki/HTTP vous permet d'aller plus loin si la RFC vous donne des boutons. 21:21 <@skateinmars> Je n'ai pas parlé de HTTPS, celui-ci est la variante de HTTP qui utilise SSL pour sécuriser les échanges. Il utilise le port 443. 21:22 <@skateinmars> Passons à Apache 21:22 <@skateinmars> On va donc installer le serveur "Apache HTTP Server", qui est le plus connu des serveurs web et le plus utilisé. 21:22 <@skateinmars> Il a été concu en 1995 a partir d'une série de patchs sur le serveur NCSA HTTPd, un des premiers serveurs existants, d'ou son nom : "A patchy server" (qui ressemble a la prononciation d'Apache en anglais) 21:22 <@skateinmars> C'est un logiciel libre, distribué sous la licence Apache, version 2.0 21:22 <@skateinmars> La version courante est la 2.2.6, et 1.3.39 pour la branche "legacy" 1.X qui est parfois préférée pour éviter de migrer d'une branche à l'autre. 21:22 <@skateinmars> Nous allons utiliser la version 2.X, n'ayant pas de contraintes à ce niveau. 21:23 <@skateinmars> L'Installation : 21:23 <@skateinmars> Je part du principe que vous avez une machine sous ubuntu ou debian sous la main, et nous allons donc utiliser apt-get. 21:23 <@skateinmars> Ouvrez une console et installez apache avec la commande suivante : 21:23 <@skateinmars> - sudo apt-get install apache2 apache2-mpm-prefork 21:24 <@skateinmars> (ou utilisez su, ou synaptic...) 21:24 <@skateinmars> Cela vous installera peut-etre d'autres packages 21:24 -!- mode/#ubuntu-fr-classroom [-m] by skateinmars 21:24 <@skateinmars> tenez moi au courant lorsque cela sera terminé :) 21:25 <+gpocentek> ok ici 21:25 < Uggy> skateinmars: Tu sais comment est "généré" le ETag: ? 21:25 <@skateinmars> Uggy: une doc de yahoo sur le sujet : http://developer.yahoo.com/performance/rules.html#etags 21:26 < Uggy> skateinmars: merci m'sieur 21:26 <@skateinmars> d'origine avec apache il semble qu'ils le generent depuis son inode 21:26 <@skateinmars> The ETag format for Apache 1.3 and 2.x is inode-size-timestamp. 21:27 < Uggy> skateinmars: ok.. je lirais ca merci... ;) 21:27 <@skateinmars> :) 21:27 <@skateinmars> il y a des gens qui n'ont pas fini d'installer apache ? 21:28 <+Sp4rKy> ceux là devraient penser à lighttpd 21:28 * Sp4rKy sort 21:28 <@skateinmars> (vous pouvez ignorer ce grossier personnage) 21:28 <+Sp4rKy> :þ 21:28 < crevette> :) 21:28 <@skateinmars> on continue donc 21:28 < cemoi_> c'est quoi la difference entre apache2 et legacy 21:28 < cemoi_> l'histoire de la mise à jour? 21:29 <@skateinmars> cemoi_: la version 1.X est plus ancienne mais toujours maintenue 21:29 < cemoi_> ok 21:29 < Uggy> la branche 1.x est toujours maintenue ? 21:29 <@skateinmars> comme pour les noyaux 2.4 et 2.6 21:29 < Uggy> ok 21:29 <@skateinmars> Uggy: oui mais juste pour les bugfixes et probs de securité 21:29 -!- mode/#ubuntu-fr-classroom [+m] by skateinmars 21:30 <@skateinmars> Vous pouvez donc voir une fois cela terminé qu'apache a été démarré : 21:30 <@skateinmars> * Starting web server (apache2)... 21:30 <@skateinmars> Vérifions son bon fonctionnement, en ouvrant votre navigateur et vous rendant sur http://localhost/ 21:30 <@skateinmars> Vous verrez une page vous informant que le serveur marche correctement :) 21:31 <@skateinmars> Maintenant que le serveur est installé et marche correctement, nous allons voir les bases à connaître de sa configuration. 21:31 <@skateinmars> Rendez-vous dans le répertoire /etc/apache2/, et regardez les fichiers le composant : 21:31 <@skateinmars> apache2.conf conf.d envvars httpd.conf mods-available mods-enabled ports.conf sites-available sites-enabled 21:31 <@skateinmars> La plupart de ces fichiers sont plus ou moins spécifiques à debian/ubuntu et nous permettent de séparer la configuration en plusieurs parties. 21:32 <@skateinmars> Voyons donc ces fichiers : 21:32 <@skateinmars> - httpd.conf est le fichier utilisé par apache1, il est conservé vide dans apache2 pour assurer la rétrocompatibilité. On en aura pas besoin. 21:32 <@skateinmars> - envvars est utilisé pour définir des variables d'environnement propres à apache. Je ne m'en suis jamais servi... 21:32 <@skateinmars> - ports.conf est plus interressant. Regardez son contenu : 21:32 <@skateinmars> Listen 80 21:32 <@skateinmars> Cette option de configuration (appelée directive) demande à apache d'écouter sur le port 80. Si vous utilisez HTTPS vous aurez à y spécifier le port 443. 21:32 <@skateinmars> Bien sur on peut utiliser n'importe quel port mais restons dans les normes 21:33 <@skateinmars> - apache2.conf Ceci est le fichier principal de configuration, on y reviendra plus tard 21:33 <@skateinmars> - conf.d est un répertoire qui contient plusieurs petits fichiers qui seront analysés par apache. 21:33 <@skateinmars> Le seul fichier pour le moment est charset, qui spécifie le charset à utiliser par défaut. 21:33 <@skateinmars> Vous pouvez y ajouter d'autres fichiers du même genre pour éviter d'encombrer le fichier principal. 21:33 <@skateinmars> - mods-available contient la liste des modules d'apache installés, et mods-enabled les modules activés 21:33 <@skateinmars> - sites-available et sites-enabled contiennent la liste des vhosts à utiliser, on y reviendra. 21:34 <@skateinmars> questions ? 21:34 <+arthur-> skateinmars: -m 21:34 -!- mode/#ubuntu-fr-classroom [-m] by skateinmars 21:34 < shadok> 'lu skateinmars :D 21:34 <@skateinmars> merci arthur- un petit oubli ^^' 21:34 <+arthur-> hihi 21:35 <+gpocentek> pas de questions pour moi 21:35 < Uggy> Ca roule.. 21:35 < shadok> bien le sujet du cours ca va accompagner mon repas, pas de question sinon :) 21:35 < waloo> ok 21:35 <@skateinmars> ok on reprend donc 21:35 <@skateinmars> Ouvrons maintenant, avec les droits root, le fichier apache2.conf 21:35 <@skateinmars> Vous pouvez voir qu'il est allègrement commenté. Un commentaire commence par # et le texte qui suit est ignoré par apache. 21:36 <@skateinmars> Voyons un peu les premières options : 21:36 <@skateinmars> - ServerRoot "/etc/apache2" 21:36 <@skateinmars> Cette option définit le dossier de base qui contient la configuration d'apache. A ne pas toucher donc. 21:36 <@skateinmars> - Lockile, PidFile, si vous ne comprenez pas les commentaires vous n'avez pas besoin de savoir à quoi ca sert ;) 21:36 <@skateinmars> - Timeout. Enfin une option interressante. C'est le nombre de secondes maximum au bout duquel une connection au serveur est interrompue 21:37 <@skateinmars> - KeepAlive. On a vu son utilité tout à l'heure, vous pouvez ici le désactiver. Il y a également d'autres options pour KeepAlive pour affiner cette option. 21:37 <@skateinmars> - On va zapper les options dans les blocs IfModule, néanmoins vous pouvez ici voir un bout de configuration typique d'apache, entre balises. 21:37 <@skateinmars> - User et Group déterminent l'user avec lequel seront exécutés les processus d'apache. 21:37 <@skateinmars> On va arreter la, vous devez avoir une idée d'à quoi servent les options en lisant les commentaires associés. 21:37 <@skateinmars> Regardons tout de même la ligne 184 et suivantes, qui vous confirment que les fichiers ports.conf et autres sont pris en compte. 21:38 <@skateinmars> Bien sur vous pouvez désactiver certains fichiers pour faire un peu de menage, comme httpd.conf 21:38 <@skateinmars> (Personellement j'ai déplacé le fichier ports.conf dans le répertoire conf.d mais à chacun ses manières.) 21:38 <@skateinmars> questions ? 21:38 < shadok> ca drop les droits a un autre user le user et group ? 21:39 < shadok> c'est bien ca ? 21:39 <@skateinmars> oui 21:39 < shadok> nickel 21:39 <@skateinmars> enfin il y a un processus maitre qui reste root, et lance d'autre procs/threads avec moins de droits 21:39 < shadok> hmm ok, ca reduit la surface d'attaque quand meme quoi 21:39 <@skateinmars> vous pouvez verifier avec un ps aux|grep apache :) 21:40 <@skateinmars> Continuons 21:40 < waloo> le maitre ne répond pas aux requetes http j'imagine 21:40 <@skateinmars> waloo: non en effet 21:41 <@skateinmars> Voyons maintenant le répertoire sites-available. Il contient les différents vhosts que vous utiliserez. 21:41 <@skateinmars> Les vhosts (Virtual Hosts) vous permettent de définir plusieurs sites différents sur une même machine, le plus souvent des sous-domaines (www.chose.fr, machin.chose.fr...) 21:41 <@skateinmars> Éditez le seul vhost existant pour le moment : default 21:41 -!- Netw0rker [n=blabla@cable-195-162-210-39.upc.chello.be] has joined #ubuntu-fr-classroom 21:41 <@skateinmars> NameVirtualHost définit les IPs à utiliser par apache, ici * signifie qu'on utilise n'importe quel IP pour acceder au serveur : 127.0.0.1 (ip locale), 192.168.x.x (ip du reseau local), ou une IP externe. 21:41 <@skateinmars> Cette directive est en dehors du Vhost, on pourrait donc la déplacer dans apache2.conf. Dans tous les cas elle ne doit pas être reprise dans les autres vhosts si elle est déjà définie à * 21:42 <@skateinmars> Ensuite vient le vhost proprement dit : il est compris dans un bloc , un peu à la manière d'une balise XML. 21:42 <@skateinmars> Ces blocs définissent la "portée" de la validité des directives qui y sont définies. 21:42 <@skateinmars> Le * derrière VirtualHost définit ici également que le vhost est valable pour toutes les IPs sur lesquelles apache écoute. 21:43 <@skateinmars> La directive ServerAdmin vous permet de spécifier un email à utiliser en cas de problème, sur une page d'erreur 404 par exemple. 21:43 <@skateinmars> Il manque une directive importante que l'on va ajouter : 21:43 <@skateinmars> ServerName machin 21:43 <@skateinmars> Remplacez machin par le nom que vous souhaitez utiliser pour le vhost. Si vous possedez un compte dyndns ou d'un service du genre vous pouvez l'utiliser, sinon mettez un peu n'importe quoi comme truc.com 21:43 <@skateinmars> ok ? 21:43 <+gpocentek> ouep 21:44 < animimotus> skateinmars: pkoi pas dans apache2.conf ? 21:44 <@skateinmars> animimotus: pour utiliser un vhost justement 21:45 <@skateinmars> tu peut appliquer ces parametres en dehors d'un vhost mais ils seront appliqués sur le "vhost par defaut" 21:45 <@skateinmars> ensuite : 21:45 <@skateinmars> DocumentRoot définit le dossier dans lequel seront stockés les fichiers du site. 21:45 <@skateinmars> Les sous-blocs suivants définissent des options spécifiques au dossier du site. 21:45 <@skateinmars> Options FollowSymLinks par exemple demande à apache de suivre les liens symboliques si necessaire, 21:45 < cemoi_> on lem et n'importe ou ça? 21:46 < cemoi_> le ServerName machin 21:46 <@skateinmars> cemoi_: non, dans le bloc du Vhost 21:46 <@skateinmars> après serveradmin par exemple 21:46 < cemoi_> ok mais n'importe ou ds le bloc 21:46 <@skateinmars> oui 21:46 < cemoi_> ok 21:46 -!- mode/#ubuntu-fr-classroom [+m] by skateinmars 21:46 <@skateinmars> AllowOverride permet de définir si l'on peut changer certaines options en utilisant des fichiers .htaccess dans le répertoire du site 21:47 <@skateinmars> Indexes permet d'autoriser le listage de fichiers d'un répertoire qui ne contient pas d'index. 21:47 <@skateinmars> (un exemple de listage : http://test.skateinmars.net/test/ ) 21:47 <@skateinmars> Je passe le reste qui est assez explicite, ou pas assez interressant. 21:47 <@skateinmars> Voyons simplement Alias, qui permet de définir un répertoire précis pour certaines requêtes. 21:47 <@skateinmars> Ici /doc correspondra au dossier /usr/share/doc/, mais comme le montre Allow seul les IPs locales y ont accès. 21:47 <@skateinmars> ok ? 21:48 <+gpocentek> ouep 21:48 <+gpocentek> ça permet par exemple d'accéder à toutes la doc des paquets debian en allant sur http://localhost/doc, c'est ça ? 21:48 <+gpocentek> toute* 21:48 <@skateinmars> voila 21:49 -!- The_Marauder__ [n=Marauder@cam44-1-82-67-123-151.fbx.proxad.net] has joined #ubuntu-fr-classroom 21:49 <+gpocentek> ça tue 21:49 <+gpocentek> skateinmars: mode -m ;) 21:49 <@skateinmars> enfin non, plutot http://localhost/doc/ ;) 21:49 -!- mode/#ubuntu-fr-classroom [-m] by skateinmars 21:49 -!- The_Marauder [n=Marauder@unaffiliated/themarauder/x-928450] has quit [Read error: 104 (Connection reset by peer)] 21:50 <@skateinmars> Enregistrons les changements et fermons le fichier. 21:50 <@skateinmars> Il faut maintenant que le vhost soit actif. 21:50 <@skateinmars> Pour activer un vhost il faut créer un lien symbolique du fichier vhost vers le dossier sites-enabled/, mais une commande est la pour nous aider dans cette tâche. 21:50 -!- The_Marauder__ is now known as The_Marauder 21:50 <@skateinmars> (Tout d'abord faites un sudo rm sites-enabled/000-default, c'est une configuration d'origine d'apache plus génante qu'autre chose.) 21:51 <@skateinmars> Utilisez donc "sudo a2ensite nomduvhost". Notez que a2dissite va logiquement réaliser le contraire. Cette méthode du lien symbolique permet de réaliser rapidement des changements dans la configuration d'apache. 21:51 < waloo> sudo a2dissite 000-default, non ? 21:51 < waloo> du coup... 21:51 <@skateinmars> waloo: non ca on vient de le supprimer 21:52 < waloo> oui, mais poruqoi avec rm ? 21:52 < shadok> (apache2 a l'air plus sympa que le 1 coté config, je suis obligé de lacher là :p pas grave ca loggue) 21:52 <@skateinmars> normalement il doit y avoir le même nom dans sites-available et sites-enabled mais par defaut debian/ubuntu renomme le lien en 001-default 21:52 <@skateinmars> du coup on vire ce lien et on en recrée un avec a2ensite 21:52 < waloo> ok 21:53 <@skateinmars> Comme vous l'indique le résultat de la commande, vous devez recharger la configuration d'apache avec un sudo /etc/init.d/apache2 reload 21:53 <@skateinmars> Vous devrez recharger apache à chaque changement de configuration. Notez aussi l'option force-reload du script. 21:53 <@skateinmars> Petite note aussi, vous pouvez utiliser sudo invoke-rc.d apache2 reload, c'est selon les goûts :) 21:54 <@skateinmars> Après cela votre vhost est actif. Reste encore une modif à faire : ouvrez le fichier /etc/hosts, et entrez une nouvelle ligne : 21:55 -!- illovae2 [n=illovae@dunnewind.net] has joined #ubuntu-fr-classroom 21:55 <@skateinmars> 127.0.0.1 nomduvhost 21:55 <@skateinmars> Avec nomduvhost le ServerName que vous avez choisi. Cela permettra à votre système de faire la correspondance entre le nom de l'host et votre machine locale. 21:55 <@skateinmars> ok ? 21:55 <+gpocentek> ouep 21:56 * gpocentek est fier d'hoster machin.com sur sa machine ^^ 21:56 <@skateinmars> :) 21:56 < Uggy> ca roule ... 21:56 <@skateinmars> Testez maintenant votre vhost ! Ouvrez votre navigateur (ou telnet :) ) et entrez votre ServerName dans la barre d'adresse. Ca devrait marcher :) 21:56 < animimotus> sudo a2ensite default refait le 000-default ^^ 21:56 < Uggy> a2ensite c'est "special" Ubuntu a priori ? (ou debian) c'est pas "apache" ? 21:57 < waloo> oui, a2ensite fait des 00x-nomvhost 21:57 <@skateinmars> Uggy: special debian oui 21:57 < Uggy> skateinmars: ok merci.. 21:57 <@skateinmars> waloo: euh non justement :] 21:57 <+gpocentek> ah... 21:58 <+gpocentek> c'est ce qu'il a fait ici il me semble 21:58 <@skateinmars> waloo: ca utilise le même nom pour le lien que le nom du fichier 21:58 <@skateinmars> ah ? 21:58 <+gpocentek> il m'ajoute le 000- 21:58 < waloo> oui, pareil 21:58 <+gpocentek> skateinmars: ah non 21:59 <@skateinmars> ah oui si :) 21:59 <+gpocentek> il le faut que si le fichier s'appelle 'default' 21:59 <+gpocentek> avec 'foobar' le lien s'appelle 'foobar' aussi 21:59 < waloo> ha oui tiens 21:59 <+gpocentek> gauvain@joe:/etc/apache2$ ls sites-enabled/ 21:59 <+gpocentek> 000-default foobar 21:59 <@skateinmars> ok, ca doit être l'exception qui confirme la regle 21:59 <+gpocentek> hehe :) 22:00 < animimotus> (y raconte que des conneries le skateinmars :p) 22:00 <@skateinmars> notez que si on demande un Host qui n'est pas specifié dans les vhosts il utilisera le premier vhost inteprété si on a rien précisé en dehors des vhosts 22:00 < waloo> a2ensite est pas trop documente... 22:00 < Neoxygen> un peux agitée la classe 22:01 -!- mode/#ubuntu-fr-classroom [+m] by skateinmars 22:01 <+gpocentek> (en tout cas apache marche bien ici :) ) 22:01 <@skateinmars> on reprend :) 22:01 <@skateinmars> ca serait mieux si on rajoutait une page. Téléchargez la source du fichier d'index que l'on a vu tout à l'heure (http://test.skateinmars.net/) et enregistrez la dans /var/www/index.html 22:01 <@skateinmars> Rechargez la page, et admirez le résultat. 22:02 -!- mode/#ubuntu-fr-classroom [-m] by skateinmars 22:02 < Uggy> c'est quoi le "premier vhost" ? en fonction du nom c'est ca ? 22:03 <@skateinmars> Uggy: oui voila, d'ou le hack avec 001-default 22:03 < Uggy> ok..c'est pour confirmer ;) 22:03 <@skateinmars> notez que sous apache 2 les pages a utiliser comme index sous spéficiées dans le module dir 22:03 <@skateinmars> (mods-available/dir.conf) 22:04 <@skateinmars> (mmh, pas sous apache forcément, plutot sous debian) 22:05 -!- mode/#ubuntu-fr-classroom [+m] by skateinmars 22:05 <@skateinmars> On a donc maintenant un apache fonctionnel, mais on va terminer avec un petit bonus et installer mod_php histoire de connaître les modules. 22:05 <@skateinmars> Les modules sont des extensions d'apache qui rajoutent des fonctionnalités diverses, du support d'un langage aux réécritures d'urls. 22:05 <@skateinmars> On va ainsi installer mod_php5 qui rajoutera comme son nom l'indique le support de php5 directement dans apache. 22:05 <@skateinmars> Installez le paquet libapache2-mod-php5, attendez le redemarrage d'apache, et voila :) 22:05 -!- mode/#ubuntu-fr-classroom [-m] by skateinmars 22:06 -!- crevette [n=baptiste@ANice-256-1-124-113.w90-27.abo.wanadoo.fr] has quit ["Ex-Chat"] 22:06 <@skateinmars> (notez qu'apache devrait recharger sa configuration une fois le module installé) 22:06 < cemoi_> installez? pat-get insatll? 22:06 < cemoi_> apt-get* 22:06 <+gpocentek> cemoi_: oui 22:06 <@skateinmars> cemoi_: sudo apt-get install libapache2-mod-php5 22:06 < cemoi_> ok ok 22:07 <@skateinmars> quelqu'un n'a pas terminé ? 22:08 < Uggy> Ca roule... 22:08 < cemoi_> ok 22:08 <@skateinmars> On va vérifier que cela marche. regardez le dossier mods-enabled, vous pourrez y voir un php5.conf et php5.load. 22:08 <@skateinmars> La aussi, il s'agit de liens symboliques vers mods-available comme pour les vhosts, et vous devinerez l'utilité de a2enmod et a2dismod :) 22:08 -!- illovae2 [n=illovae@dunnewind.net] has quit ["leaving"] 22:09 <@skateinmars> Créez ensuite le fichier /var/www/test.php, et écrivez-y le contenu suivant : 22:09 <@skateinmars> 22:09 <@skateinmars> Ouvrez ensuite cette page dans votre navigateur (http://servername/test.php) 22:10 <@skateinmars> Vous y verrez la page interprétée (la fonction phpinfo affiche une page html d'informations sur votre installation de php) 22:10 <@skateinmars> ok ? 22:10 < cemoi_> ouep 22:10 <+gpocentek> ROCK ON 22:11 <@skateinmars> (remarquez que gpocentek est très motivé pour apprendre le php) 22:11 -!- crevette [n=baptiste@ANice-256-1-124-113.w90-27.abo.wanadoo.fr] has joined #ubuntu-fr-classroom 22:11 <+gpocentek> à mort :/ 22:11 <@skateinmars> :) 22:12 < waloo> zut j'ai installé libapache2-mod-python à la place (un vieux reflexe :) 22:12 <@skateinmars> bon hé bien c'est fini :] 22:12 <+Sp4rKy> ouaihhh 22:12 <@skateinmars> waloo: tant que c'est pas mod_perl ca va ;) 22:12 * gpocentek hugs skateinmars 22:12 <+Sp4rKy> bravo 22:12 < waloo> skateinmars: un mot sur la protection des pages ? 22:12 <+Sp4rKy> *claps* *claps* 22:12 <@skateinmars> hé euh la conclusion ;) 22:12 < cemoi_> merci! 22:12 -!- mode/#ubuntu-fr-classroom [+m] by skateinmars 22:12 <@skateinmars> (petite conclusion :) ) 22:12 <@skateinmars> Voila, avec ceci vous avez un environnement quasiment prêt pour du développement web, il vous suffira d'installer une base de donnée et phpmyadmin si nécessaire. 22:12 <+Sp4rKy> ºoº 22:13 <@skateinmars> Il vous faut néanmoins savoir qu'apache n'est pas _le_ serveur web le meilleur, même s'il est de très grande qualité. 22:13 <@skateinmars> Après avoir un peu touché à apache je vous conseille d'aller tester d'autres serveurs tels que lighttpd, nginx ou cherokee, et d'explorer des configurations basées sur fastcgi, ne serait-ce que par curiosité. 22:13 <@skateinmars> N'oubliez pas non plus que même si on voit souvent apache, php et mysql ensemble il ne sont aucunement liés, n'hésitez donc pas à tester les langages python, ruby (et rails) ou encore le SGBD postgresql. 22:13 <@skateinmars> Sources et liens 22:13 <@skateinmars> http://httpd.apache.org/docs/2.2/ 22:13 <@skateinmars> http://www.ietf.org/rfc/rfc2068.txt 22:13 <@skateinmars> http://www.ietf.org/rfc/rfc2616.txt 22:13 <@skateinmars> Pour s'amuser avec les headers HTTP : 22:13 <@skateinmars> http://www.xml.com/pub/a/2004/12/15/telnet-REST.html 22:13 <@skateinmars> http://www.nextthing.org/archives/2005/08/07/fun-with-http-headers 22:13 <@skateinmars> Voila, merci :) 22:13 -!- mode/#ubuntu-fr-classroom [-m] by skateinmars 22:14 < Uggy> Alors c'est quoi le meilleur pour ton utilisation ? :) 22:14 <@skateinmars> Uggy: dans ma boite on utilise nginx, ca marche super pour php et rails :) 22:14 < animimotus> tain j'ai rien appris :\ 22:14 < Uggy> skateinmars: ok :) 22:15 < waloo> moi si :) 22:15 <@skateinmars> waloo: tu veut un point sur les htaccess ? 22:15 < cemoi_> mais en producatiob là la config ça le fait pas si? niveau sécurité? 22:15 < waloo> skateinmars: si quu'un demande, ourquoi pas 22:15 < waloo> moi je connais 22:15 <+gpocentek> cemoi_: pourquoi donc ? 22:15 < shadok> c'est pas lighttpd qui gere pas les .htaccess ? 22:15 < cemoi_> bé je sais pas je demande 22:16 <@skateinmars> shadok: nginx ne les gere pas mais c'est pas très grave selon le contexte 22:16 < cemoi_> si non c'est trop simple là... la config du serveur 22:16 <+gpocentek> cemoi_: je pense pas qu'il y ait de problème là... 22:16 -!- phil [n=phil@jem75-1-82-228-147-76.fbx.proxad.net] has joined #ubuntu-fr-classroom 22:16 < shadok> avec une debian hardened saimieu cemoi_ 22:16 < shadok> skateinmars: hmm ok, je connaissais meme pas celui là 22:16 <+gpocentek> skateinmars: tu peux nous dire comment on cache les détails du serveur ? 22:16 <@skateinmars> cemoi_: ca va la, il ne devrait pas y avoir de problemes si on tiens son apache a jour, qu'on abuse pas du chmod a tout va et qu'on troue pas ses scripts 22:17 <+gpocentek> apache x.y.z mod_python blabla & cie 22:17 < cemoi_> ok shadok mais es qu'il faut psychoter niveau sécurité? 22:17 <@skateinmars> shadok: un serv russe :} 22:17 -!- davromaniak [n=cyril@ubuntu/member/davromaniak] has quit ["dodo"] 22:17 -!- Netw0rker [n=blabla@cable-195-162-210-39.upc.chello.be] has quit ["Quitte"] 22:17 < shadok> cemoi_: toujours, pourquoi ? :D 22:17 -!- davro-desktop [n=davro@ubuntu/member/davromaniak] has quit ["Quitte"] 22:17 < cemoi_> pour le php par exemple 22:17 < shadok> skateinmars: c'est sensé rassurer ? ^^ 22:17 <@skateinmars> gpocentek: ServerSignature Off 22:17 < cemoi_> faut pas bloquer certaine fonctions? 22:17 < shadok> gpocentek: cacher les details je vois pas trop l'utilité :) 22:18 < shadok> cemoi_: faut surtout faire gaffe aux droits des dossiers 22:18 < waloo> cemoi_: si tu fais de l'hébergement ça se fait, si tu as confiance en les développeurs sur ton site, c'est pas utile 22:18 <+gpocentek> shadok: pour rendre les listes plus belles :p 22:18 <@skateinmars> gpocentek: mmh ca c'est pour les listages et autres pages d'apache, pour les headers : ServerTokens 22:18 < shadok> gpocentek: huhu 22:18 <@skateinmars> gpocentek: le tout est commenté dans apache2.conf :) ligne 207 22:19 < cemoi_> set_time_limite par exemple 22:19 <+gpocentek> ok 22:19 < shadok> (http://en.wikipedia.org/wiki/Security_through_obscurity en passant) 22:19 <@skateinmars> cemoi_: ca c'est pour php 22:19 < animimotus> ServerTokens Prod dans apache2.conf 22:20 < cemoi_> oui je sais justement quand on install php5 toutes les focntions sont activées 22:20 < cemoi_> non? 22:20 < waloo> non 22:20 < cemoi_> à... 22:20 <@skateinmars> oui, ca se configure dans /etc/php5/apache2/php.ini 22:20 < waloo> certaines bibliothèques sont dans d'autres packages 22:21 <@skateinmars> waloo: toutes les fonctions de bases sont la 22:21 < waloo> oui, de base 22:21 < cemoi_> waloo, je comprends mais déja avec la base... 22:22 < waloo> mais par exemple pour connecter une base mysql, faut un le paquet php5-mysql 22:22 -!- crevette [n=baptiste@ANice-256-1-124-113.w90-27.abo.wanadoo.fr] has quit ["Ex-Chat"] 22:22 <@skateinmars> comme readfile, fopen, exec etc waloo :) 22:22 < waloo> oui, ça ok 22:22 < cemoi_> c'est que tres souvent sur les serveurs ils bloquent les fontions les plus intéréssantes mais aussi les plus dangereuses pour leur serveurs... 22:22 <@skateinmars> oui oui après pas de mysql, mais on peut tres bien utiliser postgresql ;) 22:22 < waloo> sur les serveurs d'hébergement mutualisé, oui 22:22 <+gpocentek> ou sqlite :) 22:23 <+gpocentek> (comment ça c'est pas bien) 22:23 < cemoi_> sur les mutualisé ouai... 22:23 * waloo utilise eXist 22:23 < waloo> comme bd 22:23 < cemoi_> au fait chez ovh ils ont ssh mais on peux pas faire de rsync... 22:23 < cemoi_> sur les mutuaisé je parle 22:24 < cemoi_> mutualisé* 22:24 < shadok> a voir leur conf gentoo chez ovh c'est pas etonnant 22:24 < shadok> c'est des burnes coté config (le reste je sais pas mais j'ai pas specialement envie de savoir) 22:24 < cemoi_> le rsync il marche juste de serveur à serveur et que les leurs évidament 22:25 < cemoi_> j'ai pas trouvé d'hébergeur capable de me proposé la possibilité de faire du rsync... sauf sur serveur dédié 22:27 < shadok> perso si je loue un server c'est du dedié ou rien mais pour le moment j'ai vraiment pas l'utilité 22:27 -!- Pinpi1 [n=pinpin@lns-bzn-48f-62-147-223-115.adsl.proxad.net] has left #ubuntu-fr-classroom [] 22:27 <@skateinmars> shadok: tu peut mettre un serv chez toi aussi ;) 22:27 < cemoi_> bé un dédié c'est énorme... 22:27 < cemoi_> un serv chez sois ça rame vu les adsl... 22:27 < waloo> cemoi_: pas forcement 22:28 < shadok> j'ai déjà un server ssh chez mes darons mais pour le moment j'ai pas d'autre besoin, ptet un dns un jour ^^ 22:28 <@skateinmars> cemoi_: tu crois que skateinmars.net est ou ? 22:28 < waloo> y'a des 'petits' dédies (kimsuffi, dedibox) 22:28 < Uggy> il faut un "dédié" partagé.. :) 22:28 < cemoi_> waloo, bé eee 160go c'est énorme 22:28 <@skateinmars> et j'ai vu personne s'en plaindre encore ;) 22:28 < shadok> cemoi_: bof ca me va tres bien, y a pas assez de bons films pour que c a me coute 30€ par mois 22:28 <@skateinmars> Uggy: avec une 30aine de potes ? :) 22:29 < Uggy> skateinmars: on est ... 8 ? :) 22:29 < waloo> Uggy: ben y'a des vds aussi 22:29 < shadok> parlant de ca j'ai deux heroes a voir moua :p 22:29 <@skateinmars> :) 22:29 < waloo> dédié mutualisés 22:29 < cemoi_> skateinmars, t'a quoi comme ligne adsl? 22:29 < Uggy> skateinmars: mais 4 "présents" :) 22:29 <@skateinmars> Uggy: j'espere que tu as pas perdu ton temps ce soir :] 22:29 < cemoi_> waloo, ça dois douiller tout ça no? 22:30 < waloo> la dedi une 20 € / mois 22:30 <@skateinmars> Uggy: j'ai honteusement copié ton systeme "moitie protocole et joujou avec telnet, moitie soft" :) 22:30 < Uggy> skateinmars: bah j'ai appris par exemple d'ou venait le nom apache :) (A patchy... ) :) 22:30 <@skateinmars> ^^ 22:30 < cemoi_> ok 22:30 < Uggy> skateinmars: T'as super bien fait ... :) c'etait nickel :) 22:31 < waloo> c'est vrai que le ncsa httpd a bien été patché depuis :) 22:32 < cemoi_> ça ressort quelque part les cours d'ici? 22:32 < Uggy> en parlant de joujou avec telnet... pour ceux qui connaissent pas -> "rlwrap" 22:32 -!- jos[] [n=chatzill@d213-103-60-185.cust.tele2.fr] has quit ["ChatZilla 0.9.78.1 [Firefox 2.0.0.6/2007072300]"] 22:32 < Uggy> permet d'avoir un historique virtuel a l'interieur du telnet 22:33 < Uggy> Bon bahh un grand merci a skateinmars pour avoir préparé ce cours !!!! :) 22:33 < shadok> cemoi_: ici j'ai du 8M/1M et du 2M/256K chez les darons, c'est amplement suffisant pour ce que je fais. apres le jour ou j'aurais le temps je monterais un vpn entre les deux 22:33 < cemoi_> yes 22:33 <@skateinmars> de rien :) 22:33 < Uggy> clap clap clap 22:34 < cemoi_> c'est bien cool 22:34 <@skateinmars> Uggy: oui merci pour rlwrap je l'ai pas mal utilisé pour preparer ce cours :] 22:34 < Uggy> au fait qqun a pris les logs ? 22:34 <@skateinmars> Sp4rKy: a loggué normalement 22:34 < cemoi_> cemoi2005.serveftp.net 22:34 < Uggy> skateinmars: ok ;) 22:34 < cemoi_> hu hu 22:34 < cemoi_> ;) 22:35 < shadok> je les ai sinon 22:35 < shadok> bon, a + les gens et bonne soirée, ptet a un de ces 4 skateinmars :) 22:35 <@skateinmars> bonne soiree shadok :) 22:35 < shadok> merki 22:36 -!- _Evil_ [n=evil@chn60-2-88-168-152-112.fbx.proxad.net] has left #ubuntu-fr-classroom ["Bye"] 22:37 < cemoi_> elle marche cette url? 22:37 < cemoi_> http://cemoi2005.serveftp.net 22:37 < Uggy> non... netFilter ? 22:38 <@skateinmars> routeur qui bloque 22:38 < cemoi_> à bon? 22:38 < Uggy> ouep ou NAT... 22:39 <@skateinmars> le ping est bloqué déjà 22:39 < cemoi_> à ouai...non non je fait ça à partir d'une machine virtuel 22:39 < cemoi_> ouai mais le ping ça géne pas 22:39 < cemoi_> si? 22:39 < Uggy> non 22:39 <@skateinmars> ca a quand meme son utilite :) 22:40 < cemoi_> pour connaitre les ports ouvert :d 22:40 <@skateinmars> non c'est pas lié 22:41 < Uggy> Ping=ICMP.. donc pas de ports TCP/UDP