Archives du mot-clé Internet et réseaux

Explications sur les antennes Wi-Fi

Antenne Wifi Omnidirectionnelle

Antenne Wifi Omnidirectionnelle

Lorsqu’on est un peu éloigné de sa box internet, la qualité de réception du signal Wifi est généralement très mauvaise. Il existe divers moyens de l’améliorer: se rapprocher lorsque c’est possible, changer de position en recherchant la meilleure réception possible, etc. Une fois toutes ces possibilités épuisées, reste la solution de changer d’antenne Wifi. La mauvaise nouvelle, c’est que la plupart des cartes Wifi, modules intégrés et autres dongles que l’on trouve dans le commerce ne disposent pas d’un connecteur pour antenne, celle-ci est directement intégrée. Heureusement il existe de nombreux bricolages comme celui-ci à base de boite de conserve qui permettent d’obtenir quand même un petit mieux. L’autre alternative, c’est d’investir dans un nouvel adaptateur Wifi qui comporte un connecteur externe (vérifiez bien que vous ne pouvez pas dévisser votre antenne actuelle avant de vous lancer dans un achat.

Dongle Wifi doté d'une antenne amovible

Dongle Wifi doté d’une antenne amovible

Par exemple l’image précédente correspond à un dongle wifi doté d’une antenne amovible que l’on peut trouver chez MHz Shop. Le dongle ne doit pas être choisi au hasard. Gardez simplement à l’esprit que vous pourrez changer l’antenne, donc ne vous préoccupez pas tant de la qualité de la réception du signal (qui se mesure en dBi). Le dongle que je donne en exemple ne correspond pas à celui que j’avais acheté autrefois et qui n’est plus en vente.

Une fois que vous êtes en possession de cet adaptateur wifi amélioré, soit vous êtes satisfait de la nouvelle qualité du signal, soit vous souhaitez l’augmenter plus encore, en passant à une antenne un peu plus évoluée que vous pouvez désormais commander séparément. Direction le marchand d’antennes (Non cet article n’est pas sponsorisé par MHz Shop, c’est simplement que c’est chez eux que je commande d’habitude). Le problème, c’est que chaque antenne possède sa fiche technique, et que pour pouvoir les comparer entre elles, il faut savoir interpréter les informations qui y sont incluses… ce qui n’est pas toujours si simple! Prenons un exemple:

Fiche d'une antenne omni-directionnelle à 5dBi

Fiche d’une antenne omni-directionnelle à 5dBi

Cette image correspond à une de leur fiche produit, j’ai juste un peu hacké le CSS avant de prendre la capture d’écran pour les besoins de la cause. Quels sont les premiers renseignements qui vont nous intéresser dans cette fiche? Eh bien tout d’abord

  • La bande de fréquence (2.4GHz). Celle-ci est  la bande Wifi la plus utilisée de nos jours et notamment par les normes wifi b/g/n que l’on trouve sur la plupart des boxes adsl des FAI. En fait cette bande de fréquences est même un petit peu surchargée. Si vos voisins utilisent le Wifi sur le même canal que vous il peut y avoir un partage de la bande passante, ce qui explique qu’aux heures où tout le monde est connecté, le débit chute.
    Quid des fréquences à 5GHz? => Si votre récepteur wifi est compatible avec la norme n, vous pourriez théoriquement accéder au wifi sur la bande de fréquence de 5GHz qui est beaucoup moins encombrée. Cependant en pratique la chose est compliquée à mettre en oeuvre pour plusieurs raisons: d’abord la très grande majorité des boxes adsl n’émet pas sur cette bande de fréquence. Vous auriez donc besoin d’acheter un équipement spécial à raccorder à votre box pour faire office de point d’accès à 5GHz. Ensuite coté récepteur il va vous falloir une antenne qui peut recevoir sur cette fréquence… en plus de votre antenne à 2.4GHz (ou alors utiliser une antenne bibande, ce qui réduit les possibilités de choix). Cerise sur le gateau, si vous avez des problèmes de réception Wifi, il est probable que le passage sur la fréquence 5GHz n’arrange rien, car l’atténuation du signal liée aux obstacles augmente lorsque l’on monte en fréquence. Le wifi à 5GHz est donc de fait réservé pour le moment à des usages très spécifiques.
  • Le type de connecteur (RP-SMA). Il existe différents types de connecteurs. Dans le cadre du dongle que nous avions sélectionné en exemple plus haut, il y avait un connecteur RP-SMA, nous chercherons donc une antenne qui dispose du même type de connecteur.
  • Le type d’antenne (omni). Pour schématiser, il y a deux types d’antennes: celles qui sont omni-directionnelles peuvent capter tous les signaux Wifi avoisinant. A l’inverse les antennes directionnelles doivent être braquées dans la direction de l’émetteur wifi pour pouvoir recevoir le signal. Dans la pratique les antennes directionnelles permettent d’obtenir une meilleure qualité de signal, mais elles sont plus complexes à règler, en particulier en environnement urbain où les nombreux murs perturbent le signal.

Les trois paramètres que nous venons d’évoquer sont les plus essentiels et doivent être corrects pour que l’antenne fonctionne. Il est temps désormais d’aborder le reste des paramètres:

  • Le Gain : c’est le paramètre le plus important pour déterminer la puissance de l’antenne, plus il est grand mieux c’est! La plupart des dongles et cartes wifi du commerce se contentent d’un gain de 2 dBi, certaines peuvent monter jusqu’à 5dBi. En pratique sur les antennes omnidirectionnelles d’appartement on peut monter jusqu’à un gain de 9dBi. Au delà il faut envisager une antenne extérieure ou changer de technologie d’antenne.
  • La polarisation et l’angle d’ouverture : Dans notre exemple, la polarisation est dite verticale. Grosso-modo vous pouvez considérer qu’il faut placer l’antenne verticalement. Ensuite l’angle d’ouverture à 360°/90°: le premier angle indique que la réception de signal peut se faire dans les 360° par rapport à la verticale, ce qui est normal pour une antenne omnidirectionnelle, qui peut effectivement recevoir les informations de toutes les directions dans le plan horizontal perpendiculaire à la verticale. Le deuxième fourni une indication sur la réception de signaux qui n’arriveraient pas perpendiculairement à l’antenne mais en biais: pour garantir une bonne réception du signal, il faut que l’angle d’arrivée des ondes par rapport au plan horizontal idéal soit de moins de 45° par au dessus ou par en dessous (le total fait donc bien 90°).
  • Impédance et TOS : Ce sont les paramètres les plus difficiles à appréhender, en particulier si vous n’avez jamais fait d’électronique. En ce qui concerne l’impédance, il s’agit d’un paramètre qui caractérise la manière dont l’énergie est transportée. Si l’impédance de l’antenne était différente de celle du dongle wifi, il pourrait se produire des phénomènes de réflexion et de pertes énergétiques. En pratique 50 Ohms correspond à la valeur standard sur des connecteurs SMA, pas de souci à se faire à ce niveau. Là où vous pourriez avoir un problème, c’est dans le cas de deux antennes branchées en parallèles, car un adaptateur est alors nécessaire pour éviter qu’il se produise une chute d’impédance liée à ce parallélisme. En ce qui concerne le TOS, il s’agit d’un paramètre qui caractérise l’efficacité de l’antenne (pour faire simple). En gros, plus il est proche de 1, mieux c’est. Ainsi, un TOS noté « <1.5:1 dB » sera meilleur qu’un TOS noté « <2.0:1 »

Enfin, la fiche technique mentionne des informations supplémentaires qu’il peut être intéressant de noter: longueur du cable, s’agit-il d’un cable faibles-pertes, dimensions de l’antenne. En restant très général on peut considérer comme normal que plus une antenne est grande, plus elle est efficace, il faut donc s’attendre à des dimensions de l’ordre de 20 cm (voire 40 cm) pour les antennes à haut gain… qui vont donc peser un certain poids, du coup si l’antenne n’est pas fournie avec une base, à vous d’estimer si le dongle va le supporter ou si vous devez en plus acheter un support. A propos du cable de raccordement, s’il n’est pas blindé il va faire antenne aussi sur le même principe que les antennes des récepteur radio, mais ce n’est pas forcément ce que vous voulez. Logiquement vous n’aurez pas de problème, le constructeur de l’antenne wifi y aura pensé, mais sur une antenne d’entrée de gamme, c’est un détail auquel il faut être vigilant.

Voir aussi: Glossaire, SWR (en), Passion Radio

Comment trouver le numéro de téléphone d’un médecin

Ce matin je voulais contacter mon médecin traitant. N’ayant pas son numéro sous la main, j’ai eu le réflexe de chercher son nom sur google. Et là j’ai été stupéfait d’obtenir une profusion de résultats en provenance d’annuaires à destination des particuliers qui tous demandaient d’appeler un numéro surtaxé pour obtenir le numéro. Je trouve assez scandaleux de lister ainsi les médecins alors qu’ils n’ont rien demandé et de faire payer une information qui est en fait gratuite. Heureusement le problème a une solution toute bête: il suffit de faire comme autrefois quand on n’avait pas internet: rendez vous sur http://www.pagesjaunes.fr et tapez y votre recherche. Et vous aurez toutes les informations que vous souhaitez gratuitement.

Comment se procurer une clé gpg par des voies détournées..

gpg

Le gros problème avec les clés gpg, c’est que le serveur de clés gpg intégrés aux machines unix utilise un port particulier pour se connecter à internet. Si celui-ci s’avère bloqué, c’est le début de la galère. Heureusement, il est possible d’ajouter les clés manuellement, a condition de réussir à mettre la main dessus en recherchant sur Internet. Alors voici une manière de faire qui marche parfois.

Admettons que lors d’un update des listes de paquets, la console vous sorte un truc du genre:µ
W: GPG error: http://mirror.noreply.org jaunty Release: Les signatures suivantes n’ont pas pu être vérifiées car la clé publique n’est pas disponible : NO_PUBKEY CFF71CB3AFA44BDD

  • Repérez les 8 derniers caractères, ici AFA44BDD.
  • Allez sur google et recherchez [« AFA44BDD » site:http://subkeys.pgp.net/%5D (sans les crochets)
  • Parmis les résultats, il y en a qui tombent sur des pages bloquées par le proxy (donc a priori valides) et d’autres qui passent mais qui retournent des erreurs http. Oubliez ces derniers et concentrez vous sur les résultats bloqués par le proxy.
  • Recherchez sur google un de ces sites de surf anonymes qui servent justement à contourner les proxy, et surfez sur les url bloquées.
  • Bon l’ennui, c’est qu’il faut aussi trouver le petit non de la clé, mais si vous faites en parallèle une recherche sur google portant sur le nom que vous avez, vous devriez trouver tout un tas de petits gars qui ont eu le même problème que vous et qui ont posté sur des forums, faut chercher un peu mais ça se trouve, ici c’était : « 94C09C7F »
  • Faites une recherche dans la page sur un lien qui pointe sur ce nom, et vous devriez arriver sur une page internet qui contient la clé vous pouvez pas la louper, elle ressemble à l’illustration de ce billet. Ne vous souciez pas de la longueur. Celle qui sert d’exemple à ce post fait trois kilomètres, mais parfois elles sont toutes petites.
  • Enregistrez la clé dans un fichier, ouvrez vos sources de mise à jour, aller dans sécurité, ajoutez une clé, sélectionnez le fichier où vous l’avez enregistré, refaites un apt-get update, avec un peu de chance, c’est bon.

IMPORTANT: LE TRUC DONNE DANS CET ARTICLE EST DE TYPE RECETTE DE GRAND MERE. CA MARCHE DANS CERTAINS CAS, RIEN NE DIT QUE ÇA MARCHERA DANS TOUS LES CAS. PAR AILLEURS CE TUTO CONTOURNE LA MANIÈRE DE FAIRE OFFICIELLE. UTILISEZ LA A VOS RISQUES ET PERILS. JE DECLINE TOUTE RESPONSABILITÉ EN CAS DE DISFONCTIONNEMENT DE N’IMPORTE QUEL ORDRE SURVENU A VOTRE ORDINATEUR PAR SUITE DE L’APPLICATION DE CE TUTORIEL.

[Avancé] clés GPG et cyptage asymétrique

gpg

Je vais essayer d’être aussi concis que possible, mais je vais devoir faire une brêve introduction à la cryptographie. Pendant des siècles, la cryptographie a été à clé unique. Par exemple si je prend cet article et que je décide de décaler chaque lettre de l’article de 6 lettres dans l’alphabet, j’aurais alors a=f, b=g, c=h et ainsi de suite. Bien sûr le moyen de décodage est totalement symétrique, il suffit de faire l’inverse. Ca vaut pour cet exemple ultra simple, et vaut également pour tout un tas de codes compliqués, comme le code symbolique de Louis XIV ou la machine enigma. A chaque fois on prend un message original, on le triture de manière plus ou moins complexe pour le coder, et celui qui le reçoit doit connaitre le procéder de codage (la clé) et l’inverser.

Mais le défaut énorme de ce type de codage, c’est qu’il faut que l’émetteur et le récepteur se rencontrent au moins une fois pour convenir de la clé. Dans le monde d’aujourd’hui où des gens se parlent d’un bout du monde à l’autre, ce n’est pas trop faisable. Heureusement le cryptage asymétrique a été inventé: au lieu d’une seule clé, il y en a deux, une publique, et une privée. Et là ou c’est très fort, c’est que ce qui est crypté avec la clé publique ne peut être décrypté que par celui qui possède la clé privée et vice versa.

L’intéret est énorme: Il suffit que chacun donne sa clé publique dans un catalogue ouvert à tous, et tout le monde pourra lui envoyer des messages cryptés sans l’avoir rencontré au préalable. Et lui, il peut utiliser sa clé privée pour crypter ses messages et les signer. Ca permet de garantir l’authenticité du message. Si marc reçoit un message de paul et qu’il veut être sûr que c’est bien paul qui a envoyé le message, il utilise la clé publique sur le message signé par paul avec sa clé privée, et si quelqu’un a essayé de se faire passer pour paul il sera tout de suite repéré puisqu’il ne connait pas la clé privée de paul et n’a donc pas pu signer le message.

Bien sûr tout ça est extrêmement simplifié, et vous trouverez sans doute bien plus de détails sur les sites dédiés au cryptage Asymétrique, au chiffre RSA et à GnuGPG. En tout état de cause, voici une application directe: Une clé gpg est la clé publique d’un éditeur de logiciel. Celui-ci utilise sa clé privée pour signer ses logiciels, et nous pouvons utiliser la clé publique pour vérifier que les logiciels que nous trouvons sur internet viennent bien de lui et pas d’un quelconque pirate qui aurait bidouillé le logiciel pour y introduire un malware.

Ce procédé est très connu dans le monde de Linux, et en particulier dans les distributions issues de Debian, il est utilisé pour garantir l’authenticité des paquets non issus des dépots officiels.

Songbird : le logiciel idéal pour écouter les WebRadios

songbird600

Je ne sais pas si vous appréciez d’écouter des Web Radios, mais moi j’aime beaucoup. Ce qui passe sur la FM n’est pas inintéressant, mais je trouve que c’est trop commercial et formaté, avec un quart d’heure de pub toutes les demi heures pour certaines. Et puis on ne trouve pas de tous les genre. Tandis que le Web est bourré de petites Web Radios sympas, avec très peu de pub, et un répertoire de genre bien plus varié et bien moins commercial que ce qu’on trouve sur la FM. Reste à trouver un bon logiciel pour en profiter…

Après quelques essais, j’ai été séduit par Songbird. Ce logiciel a plus d’un tour dans son sac. D’abord il est gratuit et open-source. Il a des liens de parenté avec Mozilla, il est multi plateforme, idéal pour ceux qui jonglent entre Windows et Linux, et puis il a une interface conviviale, un classement des web radios par genre, un plugin qui affiche un résumé sur la vie de l’artiste dont le morceau est joué, et en plus il bouffe très peu de CPU, ce qui est idéal, c’est pas tous les média players qui peuvent s’en vanter ;).

Le site est en anglais, mais rassurez vous, vous pouvez l’obtenir en français (cf la capture d’écran ci dessus, vous pouvez cliques dessur pour la voir en taille normale 😉 ). Bonne écoute :).

Capturer le localhost dans WireShark/Ethereal sous Windows

Je ne sais pas si certains d’entre vous bossent sur des projets telecom, mais il est une situation dans laquelle on se retrouve tôt ou tard: avoir besoin de tester deux logiciels censés communiquer entre eux par le réseau sur son propre ordinateur, et vouloir sniffer le réseau pour savoir ce qu’ils se disent exactement. Problème, wireshark (nouveau nom d’Ethereal) capture tout ce qui passe par la carte réseau, mais dans le cas de communication réseau internes à l’ordinateur, les paquets empruntent des raccourcis qui les font échapper à cette capture. Comment tricher pour les avoir quand même? Une façon de faire consiste à les forcer à passer par la carte réseau, en indiquant à windows que tous les paquets en provenance de notre ordinateur et à destination de notre adresse ip doivent emprunter la passerelle par défaut.

I visualisation des paramètres initiaux :

D’abord on fait un ipconfig pour repérer son adresse ip, et la passerelle par défaut. Par exemple on obtient ça:

C:\>ipconfig
Windows IP Configuration
Ethernet adapter Local Area Connection:
Connection-specific DNS Suffix  . : toto.titi.tata.com
IP Address. . . . . . . . . . . . : 192.168.16.53
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.16.2

Tant qu’on y est, on peut aussi regarder les paramètres par défaut de routage interne :

H:\>route print 192.168.16.53 | find « 192.168.16.53 »
192.168.16.53  255.255.255.255        127.0.0.1       127.0.0.1       20

Le résultat dit que les paquets à destination de mon adresse IP doivent être redirigés sur mon localhost. C’est ce que nous allons changer.

II Forçage du passage des paquets par le routeur :

Nous allons donc ajouter une route à Windows en lui disant que pour router des paquets vers notre adresse IP, il faut passer par le routeur:

H:\>route add 192.168.16.53 mask 255.255.255.255 192.168.16.2 metric 1

Regardons maintenant les nouveaux parametres de routage de windows :

H:\>route print 192.168.16.53 | find « 192.168.16.53 »
192.168.16.53  255.255.255.255        127.0.0.1       127.0.0.1       20
192.168.16.53  255.255.255.255 192.168.16.2 192.168.16.53       1

La nouvelle route a bien été ajoutée. L’étape suivante concerne notre application qui tourne en interne : Au lieu de lui donner l’adresse hote interne 127.0.0.1, il faut lui donner l’adresse hôte externe, dans cet exemple 192.168.16.53. Une fois que c’est fait, nous pouvons lancer ethereal/wireshark  et notre application, et les paquets seront capturés.

III Résoudre le problème du dédoublement des paquets :

Seul petit problème, le trajet des paquets va être le suivant :
1)      Le paquet part de l’application cliente sur notre ordinateur
2)      Il est routé vers le routeur
3)      Le routeur nous le renvoie
4)      Le paquet est reçu par l’application serveur sur notre ordinateur

Et dans le cas du trajet serveur -> client, c’est la même chose.

Ca implique que chaque paquet passe deux fois par notre carte réseau, et que du coup tous les paquets seront capturés en double par wireshark/ethereal. Pour pallier à ce petit problème, il suffit d’ajouter un filtre dans wireshark, pour lui indiquer par exemple de bloquer les paquets sortant de la carte réseau du routeur. Par exemple, si en plus vous ne voulez que les paquets snmp, et que votre carte réseau a pour adresse 00:ab:cd:ef:12:34, indiquez le filtre suivant dans wireshark/ethereal:

snmp && !(eth.src == 00:ab:cd:ef:12:34)

Et le tour est joué!

IV Rétablir les choses dans leur configuration d’origine :

Lorsqu’on n’a plus besoin de capturer les paquets, il n’est pas nécessaire de polluer le routeur plus longtemps. Il suffit d’enlever la route ajoutée au II :

H:\>route delete
192.168.16.53
H:\>route print 192.168.16.53 | find « 192.168.16.53 »
192.168.16.53  255.255.255.255        127.0.0.1       127.0.0.1       20

Et tout est de retour à l’état initial.

I visualisation des paramètres initiaux :

D’abord on fait un ipconfig pour repérer son adresse ip, et la passerelle par défaut. Dans mon cas ça donne ça :

H:\>ipconfig

Windows IP Configuration

Ethernet adapter Local Area Connection:

Connection-specific DNS Suffix  . : rennes.eu.thmulti.com

IP Address. . . . . . . . . . . . : 141.11.149.18

Subnet Mask . . . . . . . . . . . : 255.255.240.0

Default Gateway . . . . . . . . . : 141.11.159.1

Tant qu’on y est, on peut aussi regarder les paramètres par défaut de routage interne :

H:\>route print 141.11.149.18 | find « 141.11.149.18 »

141.11.149.18  255.255.255.255        127.0.0.1       127.0.0.1       20

Le résultat dit que les paquets à destination de mon adresse IP doivent être redirigés sur mon localhost. C’est ce que nous allons changer.

II Forçage du passage des paquets par le routeur :

Nous allons donc ajouter une route à Windows en lui disant que pour router des paquets vers notre adresse IP, il faut passer par le routeur :

H:\>route add 141.11.149.18 mask 255.255.255.255 141.11.159.1 metric 1

Regardons maintenant les nouveaux parametres de routage de windows :

H:\>route print 141.11.149.18 | find « 141.11.149.18 »

141.11.149.18  255.255.255.255        127.0.0.1       127.0.0.1       20

141.11.149.18  255.255.255.255     141.11.159.1   141.11.149.18       1

La nouvelle route a bien été ajoutée. L’étape suivante concerne notre application qui tourne en interne : Au lieu de lui donner l’adresse hote interne 127.0.0.1, il faut lui donner l’adresse hôte externe, dans mon cas 141.11.149.18. Une fois que c’est fait, nous pouvons lancer ethereal/wireshark  et notre application, et les paquets seront capturés.

III Résoudre le problème du dédoublement des paquets :

Seul petit problème, le trajet des paquets va être le suivant :

1) Le paquet part de l’application cliente sur notre ordinateur

2) Il est routé vers le routeur

3) Le routeur nous le renvoie

4) Le paquet est reçu par l’application serveur sur notre ordinateur

Et dans le cas du trajet serveur -> client, c’est la même chose.

Ca implique que chaque paquet passe deux fois par notre carte réseau, et que du coup tous les paquets seront capturés en double par wireshark/ethereal. Pour pallier à ce petit problème, il suffit d’ajouter un filtre dans wireshark, pour lui indiquer par exemple de bloquer les paquets sortant de la carte réseau du routeur. Par exemple, dans mon cas, je ne veux que les paquets snmp, donc j’indique le filtre suivant à wireshark/ethereal :

snmp && eth.src != 00:19:b9:2e:45:cf

Et le tour est joué!

IV Rétablir les choses dans leur configuration d’origine :

Lorsqu’on n’a plus besoin de capturer les paquets, il n’est pas nécessaire de polluer le routeur plus longtemps. Il suffit d’enlever la route ajoutée au II :

H:\>route delete 141.11.149.18

H:\>route print 141.11.149.18 | find « 141.11.149.18 »

141.11.149.18  255.255.255.255        127.0.0.1       127.0.0.1       20

Et tout est de retour à l’état initial.

Black Out sur le web français

HADOPI - Le Net en France : black-out

Je souhaiterai aujourd’hui relayer cette initiative de la quadrature du net pour protester contre les initiatives journalières du gouvernement français pour brider notre liberté d’expression et nos libertés sur internet en général. Je rappelle quand même pour tous ceux qui l’ignorent, que désormais la présomption d’innocence (fait d’être considéré comme innocent tant que la culpabilité n’a pas été prouvée) qui est quand même un des droits fondamental de l’être humain ne sera plus applicable dans le domaine informatique. Si vous ne pouvez pas prouver votre innocence, vous serez considérés comme coupables! C’est à dire quelqu’un de totalement innocent pourra être jugé coupable si pour son malheur un quelconque pirate a utilisé son adresse IP (via une technique d’IP dynamiques déjà bien répandue).

Bref pour lutter contre cette initiative idiote et toutes celles qui l’accompagnent dans le cadre de la riposte graduée qui ne serviront qu’à rendre les riches plus riches et entraveront lourdement toutes nos libertés individuelles, la quadrature du net a lancé un appel au black out total des blogs et de l’internet français. Dans le cadre de mon blog, je n’ai malheureusement pas les privilèges me permettant de changer sa couleur de fond en noir, aussi je me bornerai à afficher cette bannière démesurée. Faites passer le message!

Et pour ceux qui s’inquiètent des futures évolutions du Web, je vous recommande également cet article très bien fait:Tout le monde a intérêt à transformer Internet en Minitel.

Introduction aux feuilles de style en cascade CSS

css

Introduction

Comme vous le savez sans doute, derrière chaque page Web que vous visitez se cachent un certain nombre de lignes de code écrites dans divers langages. Pour vous en convaincre, il vous suffit pour ceux qui utilisent Firefox d’utiliser la combinaison de touche ctrl+U, ce qui aura pour effet d’afficher le code source de cette page de mon blog.

A l’origine, lorsqu’une page web était construite, on insérait dans son code source à la fois le code de mise en page, et le code correspondant au contenu utile, de même que lorsque l’on écrit un document, on se préoccupe à la fois de ce que l’on y écrit, et de sa mise en page. Mais depuis et avec l’avènement du Web 2.0, il est apparu utile de décorréler ces deux approches.

  • D’une part parce que à chaque site Web correspond un design, et qu’il est inutile que le code brut de présentation soit stocké en dur à 100 endroits différents si le site Web fait 100 pages, alors qu’il suffirait de le stocker quelque part et de le coupler avec le code de contenu de la page lorsque celle-ci est demandée par un utilisateur.
  • D’autre part parce que si un jour on éprouve le besoin de changer le design du site, cela signifie qu’il va falloir modifier chacune des 100 pages manuellement l’une après l’autre, et je ne vous parle même pas des sites Web qui contiennent des dizaines de milliers de pages…

Tandis que si on sépare le code caractérisant le contenu d’une page Web de celui qui concerne sa présentation, on se débarasse de ces inconvénients. Le jour où l’on souhaite changer le design de son site Web, il suffit de modifier le fichier qui caractérise la présentation de l’ensemble des pages du site, et l’ensemble du site change, je ne sais pas si vous voyez la puissance du truc.

Et je pense que vous aurez deviné où je veux en venir. Le code décrivant le contenu d’une page Web, c’est du HTML, et le code caractérisant sa présentation, c’est du CSS.

Présentation du CSS

CSS signifie Cascading Style Sheets  (=feuilles de style en cascade). Vous avez un extrait de feuille CSS dans l’illustration de ce billet. Le principe est simple:

  • Pour chaque balise placée dans le code HTML d’une page, le navigateur va regarder si quelque chose est dit à propos de cette balise dans la feuille de css qui lui correspond. Si non, il va adopter le comportement par défaut. Si oui, il appliquera les modifications spécifiées dans la feuille de style.
  • Les balises peuvent être des balises HTML standard, par exemple body, ou des balises artificielles inventées par le créateur du site internet, ça pourrait être cadrecentral, ou n’importe quoi d’autre. Bien sûr il faut alors qu’elles aient été préalablement  insérées dans le code source suivant une syntaxe particulière.
  • Les paramètres qui peuvent être changés vont de la police utilisée, sa taille et sa couleur à la présentation générale de la page et aux images utilisées.

Au passage, si parfois lorsque vous avez des ennuis de connexion internet, vous chargez des pages présentées très bizarrement, c’est souvent que seul le code html a été chargé, mais pas la feuille de style CSS correspondante. A titre d’illustration, voici à quoi ressemble ce blog sans sa feuille de style:

blog_sans_css_400

Conclusion:

Voila, comme je prévois de faire bientôt un ou deux articles en direct lien avec la notion de feuille de style CSS, grâce à ce billet vous  saurez ce que c’est. Vous pouvez également consulter l’article de Wikipédia qui s’y rapporte ;).

IRC : l’ancêtre et le concurrent d’MSN

capture d'écran du populaire client mIRC.

capture d'écran du populaire client mIRC.

Dans le cadre des tutoriels sur le Web 2.0, nous allons évoquer aujourd’hui tout ce qui est discussion par messagerie instantanée:

Alors avant de rentrer dans les détails, rappelons le principe d’un logiciel de discussion instantanée (=chat en ligne): Tous les utilisateurs se connectent à un même serveur internet. Ils peuvent alors y écrire des phrases qui seront vues instantanément par tous les autres utilisateurs. On peut trouver des chats sur divers sites internet. Mais l’usage le plus répandu est de loin le très célèbre MSN.

Le principe de ce dernier est le suivant: chaque utilisateur dispose d’un logiciel installé sur son ordinateur que l’on va appeler client de messagerie. Dans la plupart des cas, il s’agira du célèbre MSN Messenger de Microsoft, mais il peut également s’agir d’une alternative libre comme Pidgin, Gaim, Amsn, etc. L’utilisateur a une liste d’amis dont il sait s’ils sont ou non connectés, et peu choisir d’engager alors un chat avec eux. En général, ce sont plutôt des conversations à deux personnes, mais il est également possible de créer des petits salons entre amis. Et puis en fonction des clients, on peut ajouter pas mal de fonctionnalités, comme par exemple le couplage avec la webcam de l’utilisateur.

En parallèle, il y a  IRC qui est un peu l’inverse d’MSN. Ici, il n’y a pas de liste d’amis. On peut par contre trouver un annuaire des canaux de discussions, afin de rejoindre celui dont le thème nous convient. Il y a des canaux privés, mais également de nombreux canaux publiques. Dans le cadre d’IRC, ce ne sont pas des discussions à deux personnes, même s’il est possible d’en ouvrir en privé, mais bien plus souvent des salons sur lesquels des centaines de personnes peuvent être connectées en même temps (mais ils ne parlent pas tous en même temps bien sûr). Ainsi, alors qu’MSN est plutôt dédié aux conversations privées, IRC a une dimension bien plus communautaire.

Par exemple sur réseau irc://irc.freenode.net, on peut trouver un canal #ubuntu-fr où il y a des gens connectés à toute heure pour discuter d’Ubuntu, proposer leurs problèmes, ou y répondre. L’ennui avec IRC, c’est qu’il n’est pas toujours simple d’installer un client et de le configurer. Je prévois d’expliquer dans un prochain tutoriel comment utiliser Chatzilla, qui est un client libre qui s’installe sous forme d’extension Firefox. En attendant, voici les commandes qui manquent le plus souvent quand on commence avec IRC (toutes ces commandes sont à taper dans la barre de discussion qui est en général en bas du client de messagerie.):

  • /attach AdresseDunReseau: pour se connecter à un nouveau réseau IRC. Exemple: pour se connecter au réseau freenode, taper: /attach irc://irc.freenode.net
  • /join #NomDeCanal: pour se connecter à un canal de discussion particulier du réseau en cours. Exemple: en supposant que vous veniez de vous être connectés sur Freenode, et que vous vouliez rejoindre le canal #ubuntu-fr, tapez /join #ubuntu-fr
  • /attach AdresseDunReseau/NomDeCanal: Combinaison des deux précédents. Par exemple: /attach irc://irc.freenode.net/ubuntu-fr
  • /nick NouveauPseudo: pour changer le nom par lequel vous êtes identifié par les autre utilisateurs. Exemple: si je suis connecté sous le pseudo AldiansBlog, et que je veux désormais m’appeler FirefoxFan, je vais taper /nick FirefoxFan

Liens Wikipedia: MSN Messenger, IRC, Messagerie Instantannée

Web 2.0 et réseaux sociaux

Je m’aperçois qu’à l’exception de quelques allusions par ci par là, notamment dans mon tout premier article, je n’ai presque pas parlé de ce qu’on appelle le Web 2.0. Pourtant c’est une notion très simple, mais qui englobe énormément de choses. Je ne vais pas vous embrouiller avec une définition précise et tarabiscotée, mais simplement expliquer le concept, et ce qu’on veut généralement dire lorsque l’on parle du Web 2.0.

Alors pour comprendre le Web 2.0, il faut déjà savoir ce qu’était le Web 1.0. Il s’agissait de la première version du web.  A l’origine, le Web était conçu de la manière suivante: il y avait des particuliers qui accédaient à des pages statiques en de texte situées sur des gros serveurs. L’interactivité était réduite, c’était plutôt la consultation d’informations à distance, et il y avait peu de contacts entre particuliers.

Puis peu à peu le Web a évolué vers un nouveau type de fonctionnement qui a par la suite été appelée le Web 2.0.  D’abord des pages Web dynamiques sont apparues (écrites par exemple en php, un langage qui permet de générer la page web demandée par l’utilisateur en fonction de certains paramètres qui vont varier d’un utilisateur à l’autre). Ensuite le Web a commencé à devenir de plus en plus communautaire avec l’apparition des forums de discussions, des listes de diffusion, des chats en ligne comme msn et  irc, des blogs, et de sites de rencontre et d’échange communautaire comme meetic, myspace, facebook, twitter, etc. En parallèle les contenus disponibles en lignes se sont étoffés, avec la diffusion de films, de radios, et de médias en tous genre. Et le peer to peer, qui permet l’échange de données entre particuliers est apparu également.

Aujourd’hui, le terme Web 2.0 désigne donc tout simplement le Web tel qu’il est en ce moment, mais en insistant sur la dimension communautaire et tout ce qu’elle implique au niveau des normes et autres impératifs nécessaires pour une bonne communication.

Ne vous inquiétez pas si vous ne reconnaissez pas tous les termes que j’ai cité, j’aurai probablement l’occasion de revenir dessus par la suite. En fait cet article est plus un genre d’introduction à une notion dont je pourrais être amené à me resservir souvent par la suite :).

De temps en temps vous pourrez entendre parler de Web 3.0 voire même de Web 4.0. Ces termes sont utilisés pour définir de potentielles évolutions futures du Web. On s’en rapproche petit à petit, mais on en est encore loin.