Archives pour la catégorie Internet et réseaux

Ressuciter un site internet qui n’existe plus ou n’est plus accessible

Ressuciter une page

Lorsqu’une page n’est plus accessible…

Certaines recherches sur internet mènent à des sites qui sont dans le cache du moteur de recherche, mais qui de fait n’existent plus. Il peut également arriver qu’en essayant d’accéder à l’un de ses favoris on ait la désagréable surprise de constater que le site internet correspondant n’est plus en ligne. Dans ce type de situation, tout n’est pas encore perdu, il est parfois encore possible de retrouver tout ou partie du site dans la « mémoire » d’internet.

Utiliser le cache des moteurs de recherche…

Faisons le test de rechercher ce blog, « aldiansblog » dans Google, Yahoo, Bing. On obtient les résultats suivants:

Résultat Google

Résultat Google

Résultat Yahoo

Résultat Yahoo

Résultat Bing

Résultat Bing

Chaque fois vous noterez la possibilité d’accéder à la version en cache du résultat, soit via le lien En cache de Yahoo, soit via un petit menu déroulant. Lorsque le site internet auquel on veut accéder n’est plus disponible, ce cache peut vous permettre d’obtenir tout de même les informations recherchées, j’en faisait déjà mention dans mon précédent article sur le cache en informatique.

Utiliser une capture enregistrée sur un site d’archive..

Il existe un certain nombre d’organisations qui se sont donné pour but de constituer une archive du Web. C’est le cas par exemple de la célèbre Wayback Machine (voici un tuto en français sur ce site), mais il y a d’autres possibilités, comme par exemple Pandora (qui est gérée par le gouvernement australien), ou encore en plus original, screenshots.com permet d’obtenir une capture d’écran du site internet.

Il existe d’autres possibilités, mais elles sont moins facilement accessibles.

Utiliser une extension Firefox..

Diverses extensions Firefox permettent d’accéder à du contenu archivé, vous pouvez par exemple rechercher wayback ou encore cache pour en obtenir une liste. Pour ma part, j’ai utilisé Resurrect Pages dans la capture d’écran qui illustre ce billet. Comme vous pouvez le voir, elle intègre dans la page d’erreur par défaut de Firefox un certain nombre de boutons, pouvant mener à une version archivée de la page. Par ailleurs, si vous faites un clic droit, personnaliser sur une de vos barres d’outils, vous pourrez trouver dans la fenêtre qui s’ouvrira une petite icône correspondant à l’extension, que vous pourrez glisser dans l’une de vos barres d’outils, afin de pouvoir l’utiliser depuis n’importe quelle page et pas uniquement les pages en erreur, ce qui peut être pratique lorsque vous souhaitez voir une version précédente d’une page qui a changé récemment.

Filtrer les hotspot wifi par leur adresse mac

WirelessMon

WirelessMon

Dans un précédent article, Désactiver la gestion du wifi par Windows, je faisais déjà allusion à la problématique d’avoir plusieurs possibilités de connexion sur des hotspots de même nom, et de ne pas savoir comment faire pour en sélectionner un en particulier (par exemple celui qui a le meilleur signal). J’ai donc recherché activement un logiciel capable de gérer la connexion à un réseau wifi en se basant sur autre chose que le nom de réseau (le SSID), et en l’occurrence, l’adresse MAC. Pour le moment je n’ai pas encore réussi à trouver d’utilitaire gratuit, mais je cherche encore. WirelessMon vous coutera donc 30$ si vous l’utilisez durant plus d’un mois, car c’est le délai de la version démo.

Il affiche la liste de tous les points d’accès disponibles avec leur nom et leur adresse MAC. Sur cette capture d’écran tirée du Web il y en a peu, mais pour ma part, en milieu urbain j’en détecte plus de 30! Il affiche également une mire qui donne une valeur indicative de la force du signal. L’expérience a montré qu’en fait c’est joli mais à prendre avec des pincettes, de même que ce que pourrait vous afficher n’importe quel logiciel: quand il ne vous affiche rien, c’est qu’il ne détecte rien à l’instant T, mais ça ne veut pas dire qu’il y a rien. Je vous conseille donc d’utiliser un scanner de réseaux wifi en complément pour déterminer quel est le réseau wifi le plus optimal et de n’utiliser ce logiciel qu’une fois que votre choix est fait.

Filtrage par adresse mac

Filtrage par adresse mac

Venons-en justement à l’étape de la connexion:  cliquez droit sur le réseau qui vous intéresse, choisissez de vous connecter, et une fenêtre de connexion s’affiche alors. Sélectionnez l’option qui correspond au filtrage par adresse MAC et validez. Puis désactivez la gestion du wifi par Windows si ce n’est pas déjà fait (j’ai observé que faire cette étape avant de se connecter peut perturber WirelessMon). Vous êtes au bout, vous avez réussi à vous connecter sur le réseau précis que vous souhaitiez, en dépit du fait qu’il ait le même nom que d’autres réseaux alentour. Mais attention, si vous n’avez pas désactivé la gestion du wifi par Windows, vous courez le risque que Windows vous reconnecte sur le réseau de son choix à la moindre baisse de signal, et WirelessMon ne l’empêche absolument pas, je l’ai découvert à mes dépends. NB: En cas d’indisponibilité temporaire du hotspot, ce qui arrive heureusement assez rarement, la connexion sera ré-initialisée et vous serez peut être amenés à renvoyer votre login et votre mot de passe wifi. Personnellement ça m’arrive heureusement assez rarement…

NB: les captures d’écran de cet article proviennent de cet article assez similaire trouvé sur la blogosphère anglophone qui m’a de fait servi de source.

Trouver les meilleurs réseaux wifi à proximité

inSSIDer

inSSIDer

Toujours dans la problématique où l’on souhaite se connecter à un hotspot wifi et que plusieurs sont disponibles, il faut se donner les moyens de pouvoir les comparer. Il y a bien sûr la puissance de réception du signal, mais pas seulement. Je vous présente donc aujourd’hui un logiciel gratuit (mais avec beaucoup d’extensions payantes que vous n’êtes pas obligés d’acheter) qui s’appelle inSSIDer. Son principe est très simple: il va scanner l’ensemble des réseaux wifi disponibles à l’entour, vous afficher la force de réception du signal, un certain nombre de données technique, et surtout une représentation graphique de leur répartition dans la bande des fréquences.

Pourquoi la répartition dans la bande des fréquence est-elle importante? Eh bien parce que les fréquences attribuées au Wifi sont divisées en 12 canaux. Chaque box internet va être configurée pour émettre sur un certain nombre de canaux qui dépendent de votre fournisseur. Si vos voisins directs utilisent le même canal que vous, vous allez de fait devoir vous partager la bande passante. C’est pour cette raison que de nombreux tutoriels d’optimisation de la réception wifi vous recommandent parfois de repérer un canal peu utilisé et de configurer l’ensemble de vos équipements pour fonctionner dessus.

Dans notre cas, nous allons comparer entre eux tous les hotspots auxquels nous sommes susceptibles de vouloir nous raccorder selon les critères suivants: D’abord quel est celui qui possède la meilleure qualité de réception (hauteur du créneau sur le graphique), et ensuite quel est celui qui est le moins encombré, c’est à dire celui qui a le moins de créneaux de hauteur non négligeable superposés au sien. Notez que les hotspots dont le signal recouvrent plusieurs canaux sont centrés sur un canal particulier, c’est celui-là qu’il faut comparer, vous le retrouverez dans la liste des réseaux dans la partie supérieure. Une fois que vous aurez déterminé le hotspot le plus intéressant, il ne restera plus qu’à s’y connecter. S’il a un nom différent des autres, c’est relativement facile avec l’outil intégré à Windows. Dans le cas contraire, il faudra désactiver ce dernier et utiliser un logiciel tiers. Nous y reviendrons…

Quelques remarques: si vous avez désactivé la gestion du wifi par Windows, le logiciel ne fonctionnera pas. Ensuite la détection des algorithmes de chiffrement des réseaux (WEP, WPA, etc) donne parfois des résultats erronés. Si vous détectez votre propre box en WEP alors que vous êtes persuadé de l’avoir configurée en WPA, ne paniquez pas et contrôlez avec un autre outil, il peut s’agir d’une erreur de détection.

Désactiver la gestion du wifi par Windows

Wlan Optimizer

Wlan Optimizer

 

Dans certains cas assez spécifiques la gestion du wifi par Windows dérange plus qu’elle n’arrange. C’est le cas par exemple lorsqu’il existe plusieurs réseaux auxquels vous êtes susceptibles de vous connecter, soit que vous ayez enregistré plusieurs points d’accès (un point d’accès, c’est un réseau wifi auquel vous pouvez vous connecter) dans votre voisinage, soit que plusieurs points d’accès de votre voisinage possèdent le même nom, ce qui est souvent le cas lorsque celui-ci est laissé par défaut… Et à plus forte raison lorsque vous vous connectez à un hotspot.

Vous sélectionnez donc un point d’accès, vous vous connectez dessus, tout va bien, et puis cinq minutes plus tard il y a une petite baisse de dix secondes dans qualité de la réception du signal, et Windows se reconnecte automatiquement sur le réseau d’à coté qui a un débit pourri, mais suffisant suivant les critères de Windows. Lorsque votre point d’accès précédent retrouve sa force, Windows ne repasse pas dessus pour autant à moins que votre deuxième point d’accès ait lui aussi une baisse de signal significative. Ce qui dans le cas général est très pratique pour l’utilisateur devient donc très handicapant dans notre cas particulier. J’ai essayé divers réglages dans le fin fond des paramètres de Windows dans le but de le forcer à rester sur le même point d’accès mais sans succès. J’ai même installé un logiciel Wifi externe (dont je reparlerai) pour gérer le wifi en lieu et place de Windows, mais ce dernier a continué à interférer. J’ai alors recherché un utilitaire susceptible d’inhiber le scan des réseaux et la reconnexion automatique à la Windows et j’ai découvert WLAN Optimizer.

Ce logiciel est surtout mis en avant pour son option « Disable background scan » qui permet d’empêcher Windows de scanner en permanence l’ensemble des réseaux disponibles en arrière plan, ce qui est effectivement inutile  une fois connecté et fait perdre un petit peu de signal, ainsi que pour quelques petites optimisations, notamment sur le streaming, il y a pas mal de sites en français qui en parlent si vous voulez vous documenter davantage sur la question. Ce que je souhaite mettre en avant pour ma part, c’est son option « Disable autoconfig », qui nécessite que le logiciel soit exécuté avec les droits d’administrateur, et qui n’est pas recommandée à moins de savoir ce que l’on fait, dixit l’éditeur du logiciel. Ça tombe bien, nous savons ce que nous faisons : nous voulons désactiver toute gestion automatique du wifi par Windows, au profit d’une connexion réalisée à partir d’un logiciel tiers. Notre but est que ça ne marche plus via Windows, mais que la carte wifi soit encore totalement opérationnelle.

Lancez donc le logiciel en mode administrateur, cochez la case, sauvez, et admirez votre gestion wifi par Windows qui ne vous affiche plus aucun réseau à portée: objectif atteint. Connectez vous via votre logiciel tiers de gestion du wifi, Windows ne vous embêtera plus.

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 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 :).

Compiler et exécuter un fichier java.

vaisseau_java_2-compil

En complément à mon article précédent, voici comment faire pour compiler et tester mon exemple:

  • D’abord, récupérez le code source sur mon pastebin.
  • Ensuite, vous allez avoir besoin d’un outil de compilation. Sous Ubuntu, faites un petit
    « sudo apt-get install gcj » pour l’installer (sachant que si vous travaillez depuis un ordinateur de votre école ou université, le paquet est probablement déjà installé, et vous pouvez sauter cette étape.
  • Ensuite, la procédure est simple: « javac monfichier.java » pour compiler (avec le ‘c’ de compilateur à la fin).
  • « java monfichier arguments » pour  lancer l’exécution (sans le ‘c’ cette fois ci, sans le « .java », et les arguments, c’est en option, ça correspond au « String [] args », l’argument de la fonction main qui est appelée pour lancer le programme).

Dans notre cas, procéder comme sur l’illustration de ce billet, je pense que c’est assez explicite ;).

Introduction à la programmation Objet (2)

vaisseau_java_2

Dans mon exemple d’hier, je vous donnais les clés de la compréhension des fondamentaux de l’orienté objet. Nous gagnons aujourd’hui un petit peu en complexité. Cette classe est la même que celle d’hier, mais enrichie par l’arrivée de différentes nouveautés.

  • Comme vous pouvez le remarquer, il est possible d’initialiser les attributs de la classe à l’extérieur du constructeur. C’est une facilité qui permet d’apporter de la clarté dans le code, car comme ça seuls les champs qui doivent varier sont initialisés dans le constructeur.
  • Vous remarquez également que nous avons ici deux constructeurs, la chose est rendue possible par le fait que les deux ne prennent pas le même nombre ni le même type de paramètres. Ce n’est d’ailleurs pas réservé aux constructeurs, c’est le cas de n’importe quelle fonction. Par exemple vous pouvez avoir une fonction chargerPreferences(String nomFichier) et une fonction chargerPreferences(FileReader fichier), étant entendu que la première va ouvrir le fichier spécifié puis faire appel à l’autre. Et dans le cas présent, vous remarquerez qu’effectivement le constructeur qui prend le plus de paramètres fait appel au constructeur simple par le biais du mot clé « this ». Ce mot clé permet soit de désigner le constructeur de la classe s’il est utilisé comme fonction, soit de désigner une instance de la classe. Bien sûr il n’est pas obligatoire de lier les constructeurs, on aurait pu recopier le premier dans le deuxième, et éviter le renvoi. Mais en règle général en programmation, on évite de dupliquer le code tout simplement parce que s’il y a une modification à faire, on aime bien n’avoir à la faire qu’une seule fois.
  • Vous remarquerez enfin l’apparition du mot clé « static ». Ce mot clé permet de désigner une fonction ou un paramètre comme indépendant d’un objet particulier, mais au contraire commun à tous les objets de la classe. C’est un peu l’analogue d’une variable globale. Vous pouvez créer 100 vaisseaux, tous de nom, de couleur et de nombre de canons différents, mais si vous modifiez la variable nombre de vaisseaux, tous seront affectés, parce que c’est une variable dite « de classe et non d’instance », c’est à dire qu’elle ne s’applique pas à un objet particulier de la classe, mais à l’ensemble de ces objets.
  • et puis il y a la fonction public static void main(String args). Comme vous le remarquerez, cette fonction est « static », donc ne s’applique pas à un objet particulier mais à l’ensemble de la classe. En particulier, par convention, ce nom et cette signature de fonction désignent le bout de code qui doit être appelé pour lancer le programme.
  • Que dire d’autre, System.out.println() est une fonction qui permet d’afficher la chaine de caractères spécifiée à l’écran. On peut concaténer deux chaines de caractères avec des ‘+’. Il est également possible de concaténer des entiers avec une chaine de caractères, et comme vous le voyez, si jamais ça sort de l’écran, on peut étaler sur plusieurs ligne, le programme s’en fout du moment qu’il y a bien le point virgule à la fin de l’instruction ;).

Je sens que vous êtes légèrement perdus, donc je vais faire un bref rappel sur les variables:

  • On appelle variable d’instance un attribut qui décrit une caractéristique d’un objet de la classe. Chaque objet de la classe possède cet attribut (couleur, nombre de canons, nom…) mais il peut être différent en fonction de l’objet. On y accède en utilisant le nom de la variable suivit d’un point et du nom de l’attribut, par exemple vaisseau1.couleur pour obtenir la couleur du vaissau1 ou encore vaisseau2.nombre_de_canons pour obtenir le nombre de canons du vaisseau2.
  • On appelle méthode d’instance une méthode (fonction) qui peut s’appliquer à une instance (un objet) particulier de la classe, exemple accelerer(), que  l’on applique à un objet particulier, par exemple vaisseau1.accelerer() pour faire bouger le vaisseau1.
  • On appelle variable de classe une variable qui ne dépend pas d’un objet de la classe, mais qui est commun à tous les objets. Ces variables sont repérées par le mot clé « static ». Exemple, nombre_vaisseaux est une variable de classe. Si on la modifie, elle change pour tous les objets. On peut y accéder par le nom de la classe suivit d’un point et du nom de la variable, par exemple VaisseauSpatial.nombre_vaisseaux permettrait d’y accéder depuis une autre classe,
  • de même qu’une autre classe pourrait lancer la méthode main par l’instruction VaisseauSpatial.main(args); En effet la méthode main elle non plus ne s’applique pas à un objet particulier, mais comme toutes les méthodes statiques, elle s’applique à manipuler des objets de la classe.

J’espère avoir été suffisamment compréhensible. Ce que je raconte est un peu dur à suivre, parce que malgrès tout je suis obligé d’introduire peu à peu le vocabulaire de base du programmeur java. Enfin vous avez l’exemple du code source pour comprendre, et en extrapolant un peu par rapport aux autres langages vous devriez avoir les outils pour piger le truc. Je précise que j’ai utilisé le logiciel très connu Eclipse pour programmer ma classe. Ceci dit vous n’en avez absolument pas besoin pour débuter. N’importe quel éditeur de texte basique comme Notepad++ sous Windows, et Gedit sous Linux vous permettrons d’avoir le minimum de coloration syntaxique sans avoir besoin de passer par des choses plus compliquées. Disons que c’est pour moi une habitude et un outil de travail. Je consacrerai sans doute prochainement un article aux environnements de développement.

Pour finir, voici ce que l’on vois lorsqu’on lance ce programme:

vaisseau_java_2-exe

Comme vous le voyez, le main a été appelé, il a déclaré deux vaiseaux qui ont été construits d’après ses spécifications, et il leur a appliqué quelques méthodes d’instance. La variable nombre_vaisseaux a bien été incrémentée deux fois, autant de fois que des vaisseaux ont été construits (elle n’a été initialisée q’une seule fois lors du premier appel de la classe).