PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

Tuxicoman : Faille critique dans le noyau Linux

mercredi 20 janvier 2016 à 03:42

Une faille critique dans le noyau linux a été dévoilée publiquement hier. L’équipe de sécurité du noyau y a eu accès depuis une semaine.

Elle permet potentiellement à un utilisateur d’avoir un accès root. Ce qui peut être très embarrassant si vous ne faites pas confiance aux utilisateurs de la machine ou si un malware était exécuté.

Notez que cette faille affecte tous les noyaux Linux 3.8 et + dont les appareils sous Android. Les versions Android 4.4 et + sont touchées. Ce qui représente un bon paquet d’appareils. Il n’y a pas d’exploit sur Android pour l’instant et SELinux complique cette tache. Si cela arrivait, ce serait problématique car les mises à jour constructeurs se font rares (pour vous forcer à racheter un appareil).

Pour les distributions classique, il semble déja un avoir un exploit.

Sur Debian stable, la faille (CVE-2016-0728) est corrigée dans le noyau 3.16.7-ckt20-1+deb8u3. Le paquet est déjà disponible sur les dépôts. Notez qu’il faut redémarrer la machine pour charger le nouveau noyau.

Related Posts:

J'aime(1)Ferme-la !(0)

Gravatar de Tuxicoman
Original post of Tuxicoman.Votez pour ce billet sur Planet Libre.

RaspbianFrance : Dockerisez votre Raspberry Pi !

mardi 19 janvier 2016 à 17:01

Aujourd’hui nous publions sur Raspbian France un article qui a été écrit pour nous par Franck, quarantenaire passionné de technologie, de sport et de bricolage.

Utilisateur depuis 2 ans de Docker et de la Raspberry Pi, il vous propose aujourd’hui un article sur le sujet.

Nous remercions Franck d’avoir pris le temps d’écrire un article pour Raspbian France entre l’écriture d’articles sur son site et autres tentatives pour convertir son fils à la Raspberry Pi !

 


 

Pour ceux travaillant dans le domaine informatique, Docker et les containeurs nous sont devenus familiers depuis plus d’un an et notamment pour les équipes de développement. Il s’agit en effet d’une technologie créée par un français expatrié aux États-Unis (Solomon Hykes) et qui a pris son envol en 2014 au point de devenir une des start-ups les plus en vue de la Silicon Valley.

 

Mais que sont les containeurs et en particulier Docker ?

Plutôt que de ré-inventer une définition, je vais simplement paraphraser cette publication.

Les containeurs permettent d’ « automatiser le déploiement de code applicatif en embarquant, dans un « container », toutes les dépendances nécessaires à son exécution ».

Pour faire simple, Docker est comparable dans le monde du développement à ce que sont les apps et le store dans le monde Apple.
Cette comparaison est particulièrement intéressante. Imaginez que le Raspberry est un iPhone et que Docker et son catalogue sont les apps et l’App Store, plus besoin d’installer des packages, de les configurer, de les débogguer. Il suffit juste d’installer les containeurs et le tour est joué.
Cela est certes peu utile si vous n’avez qu’un seul Raspberry Pi mais je suppose que comme beaucoup d’entre nous, au fil du temps, vous en aurez 2 puis 3 puis 5 puis 10 et ce pour des usages complètement différents. Docker permet de simplifier la gestion de tous ces Raspberry.

 

Comment Docker va vous simplifier la vie?

distros

Il y a tout d’abord les bénéfices reconnus de cette technologie. La première est sans aucun doute la portabilité. Quelque soit la distribution de linux que vous utilisiez (Raspbian, ArchLinux, Alpine, Hypriot…), pour peu que Docker ait été porté dessus, vous pourrez faire tourner les containeurs. Par exemple vous pouvez exécuter des containeurs basés sur Alpine Linux sur une Raspbian et vice-versa. C’est très très pratique quand certaines distro disposent de packages que d’autres n’ont pas comme le serveur Plex absent d’Alpine Linux.
Le deuxième aspect important c’est la réplicabilité grâce à la standardisation. Tout bon containeur qui se respecte est construit à partir d’un fichier de construction nommé Dockerfile. Ce fichier décrit en détail comment le containeur est construit et, en règle générale, il est stocké en ligne (par exemple dans Github) avec tous les composants nécessaires à la construction comme les fichiers binaires, de configuration…

On sait donc exactement comment le containeur est construit, ce qu’il y a dedans et on peut repartir de cette base pour créer son propre containeur, par exemple avec des paramètres différents ou d’autres ajouts.

Une fois le containeur défini et créé, il est stocké sur le « store » de Docker appelé DockerHub.
Ne vous attendez pas à quelque chose d’aussi sexy que l’AppleStore mais il a le mérite de centraliser les images, de lister le nombre de downloads… Seul vrai bémol cependant : il est très difficile de trouver les images spécifiques au Raspberry (généralement leur nom commence par ‘rpi-‘ ou ‘armhf-‘).

Dernier point, chaque fois que vous déploierez un containeur à partir de son image sur votre Rasp, vous partirez du même point de départ, ce qui est extrêmement pratique dans des phases de conception, de recherche…
Enfin, le point quasiment le plus important pour les personnes un peu fainéantes comme moi, c’est la rapidité de déploiement. Pas besoin d’aller rechercher les packages ou de se creuser les méninges sur comment installer, paramétrer un service. Tout est dedans et normalement décrit en détail sur le Hub. En utilisant une interface graphique comme Shipyard, il est possible de gérer le cycle de vie de ces services en quelques clics.

 

Mais qu’apporte vraiment Docker au Raspberry Pi ?

Le Raspberry est vraiment une fantastique boîte à outils et on peut couvrir 80% de nos besoins informatiques (NAS, routeur, serveurs vidéo, serveur Minecraft…). Mais son succès induit également quelques contraintes :

Docker apporte une aide précieuse pour solutionner ces problèmes.

D’abord sur la limitation des ressources. Docker permet d’activer et de désactiver très simplement un containeur avec une fonction start / stop qui peut même être exécutée via l’interface Shipyard mentionnée ci-dessus. C’est un peu comme sur l’iPhone en appuyant 2 fois sur le bouton central et en glissant l’app à arrêter vers le haut.

C’est extrêmement pratique quand vous voulez avoir un Raspberry utilisé pour partager des fichiers, comme serveur d’impression ou pour l’utiliser en résident ou en mobilité. Pas besoin de longues lignes de commandes, un simple clic suffit pour activer ou désactiver le service.

Autre contribution de Docker pour aider à mieux gérer les ressources : certaines distributions comme Alpine Linux sont résolument dédiées à limiter les tailles disque et mémoire nécessaires pour un service. Il est ainsi fréquent de voir des containeurs d’une taille inférieure à 15 Mo ce qui permet en théorie d’en mettre une cinquantaine sur un Raspberry.
Enfin Docker bénéficie d’un système de clustering (création de grappes de plusieurs Raspberry) appelé Swarm qui permet de gérer un ensemble d’hôtes comme un pool de ressources unique. Vous voulez rajouter un Raspberry à votre pool, rien de plus simple ! Il suffit de rajouter un noeud au cluster Swarm et votre Raspberry vient s’ajouter à votre configuration existante. Vous verrez dans la section ci-dessous quelques exemples d’utilisation de plusieurs dizaines de Raspberry pour créer des clusters plutôt conséquents.

Sur le front de l’exploitabilité, la simplicité d’activation et de désactivation des containeurs et la gestion centralisée du cluster via une interface graphique (cf ci-dessous) rendent vraiment votre vie beaucoup plus simple surtout si vous avez de nombreux Raspberry.

Pour utiliser maintenant cette configuration depuis quelques semaines, ce sont vraiment les 2 principaux bénéfices obtenus : c’est simple à gérer notamment les Raspberry déployés chez d’autres membres de la famille et je peux en mettre beaucoup plus sur un seul grâce à l’empreinte minimale des containeurs basés sur Alpine Linux.
Un bémol quand même à tout cela : tout n’est pas aussi simple qu’un iphone et il y a encore du chemin à parcourir. Installer un cluster Swarm de Raspberry avec l’interface graphique Shipyard demande un peu de travail mais le résultat en vaut vraiment la peine.

 

Justement comment faire pour utiliser Docker sur vos Raspberry Pi ?

Le plus simple est d’utiliser la distribution dédiée à Docker et construite par l’équipe Hypriot (@Hypriot) qui maintient un blog très détaillé et met à disposition des mises à jour environ une fois par mois cadencées sur les releases de Docker. L’équipe est très réactive si vous avez des questions. Autre point important : ils maintiennent des images pour quelques containeurs importants sur le Hub.

À titre personnel, j’utilise leur distribution téléchargeables ici, mais je n’utilise pas leurs containeurs, trop gourmants à mon goût. Leur distribution étant basée sur Raspbian, tout ce que vous connaissez, reste entièrement valable et ils mettent également à disposition les containeurs pour Swarm. Bref c’est le must à mon goût !

Une autre option est de partir d’Alpine Linux qui dispose de Docker depuis mi-décembre mais je ne l’ai pas testée personnellement même si elle présente l’avantage d’avoir une empreinte très minime (76 mo contre 451 mo pour Hypriot OS).

A voir donc !
Sinon voici le détail d’un set-up complet possible :

setup Raspberry Pi avec au moins 512 mo de mémoire
+
Hypriot OS release 132854 du 15/11/2015
+
Docker 1.9.1
+
Swarm 1.0.0
+
Shipyard 3.0.2
+
Registry 0.9.1

 

Des exemples concrets

De nombreux exemples sont disponibles sur le web mais la récente conférence Docker (@dockercon) de Barcelone a apporté une foule d’exemples de l’utilisation de containeurs Docker sur le Raspberry Pi.

En voici quelques-uns:

Comme toujours, la seule vraie limite reste notre imagination !

 

Un exemple plus personnel

manage
J’ai mentionné plus haut la possibilité de gérer les Raspberry plus facilement grâce à Docker, à Swarm et à Shipyard. Voici un peu plus de détails.
J’ai 5 à 6 Raspberry opérationnels simultanément et qui sont soit en ligne soit déconnectés. En fait celui déconnecté est embarqué en voiture pour servir de serveur de streaming et de point d’accès wifi partagé. Il n’est donc en ligne que quand la voiture est au garage.
À ce jour, Docker a été installé sur 3 d’entre eux et Docker est aussi installé sur d’autres serveurs et laptops. J’utilise un serveur de type « micro » déployé chez AWS pour piloter l’ensemble de ces hôtes Docker mélangeant ainsi du x86 et du ARM. Un registry spécifique a aussi été déployé pour gérer les images des containeurs RPI et l’ensemble des hôtes Docker font partie d’un cluster Swarm.

Chaque hôte disposant d’un containeur Docker se connecte sur le maître du Cluster Swarm via VPN et participe ensuite à l’ensemble du cluster. A noter l’utilisation de tags pour assurer les règles d’affinité avec le type de processeur. Au-dessus de Swarm, l’outil Shipyard assure l’interface graphique pour un accès web distant. Evidemment tous ces composants sont déployés sous forme de containeurs ce qui permet de déployer un Raspberry en une dizaine de minutes environ.

Tout cela m’aide à :

Des données de performances sont normalement disponibles mais impossible de faire fonctionner ce service.

Voici un exemple tout bête : je peux très simplement arrêter les services de streaming vidéo sur mon Raspberry et lancer à la place le serveur Minecraft qui nécessite une grosse partie des ressources. A la fin de la partie des enfants, hop, le service Minecraft est simplement arrêté via l’interface graphique et l’autre démarré.

 

En synthèse, une gestion de plusieurs Raspberry d’une simplicité enfantine grâce à Docker !

N’hésitez pas à partager vos expériences et vos cas d’usage.
Bonne dégustation de framboises !

 

Cet article Dockerisez votre Raspberry Pi ! est apparu en premier sur Raspbian-France.

Gravatar de RaspbianFrance
Original post of RaspbianFrance.Votez pour ce billet sur Planet Libre.

nIQnutn : Afficher vos liens favoris sur votre site

mardi 19 janvier 2016 à 08:43

Il existe de nombreux outils pour partager ses liens favoris. L'un des meilleurs reste certainement Shaarli, Qwant permet également de publier des Carnets publics et il en existe de nombreux autres.

Ces solutions sont toutes intéressantes mais aucune ne permet d'intégrer facilement ses favoris sur son site web. J'ai pourtant trouvé une solution efficace pour intégrer tous mes favoris sur le site.

Cette solution nécessite seulement l'utilisation de PHP et un fichier au format Netscape bookmark contenant les liens.

Pour commencer, il faut exporter les liens depuis Shaarli. Rien de plus facile, il suffit de se rendre sur l'URL http://shaarli.chezmoi.com/?do=export&what=public (pour l'export des liens publics uniquement).

Ce fichier est structuré comme ceci:

bookmarks_shaarli.txt


Bookmarks

Bookmarks

Lien 1
Description du lien 1
Lien 2
Description du lien 2

On retrouve toutes les informations: le titre du lien, son URL, sa description, sa date de création, les tags associés et l'attribut privé.

Il faut maintenant l'afficher sur une page. Le code est assez basique et grandement inspiré par celui de Shaarli.

bookmark.php
> Emplacement du fichier
$urlBase= "/data/documents/0007/bookmark.php" ; // A MODIFIER >> URL de la page
$nb_elem_per_page = intval(5) ; // A MODIFIER >> Nb de liens à afficher


$url=preg_replace('/(^.*?)\\?/', '', $urlBase."?page") ; //  Variable  de la page à récupérer
$urlGet=$urlBase."?page"; // URL pour la navigation
$data=file_get_contents($file); // Récupère le contenu du fichier
$dateFile= date("d/m/Y", filemtime($file)) ; // Date du fichier
$type='unknown'; // Type du fichier


// Fonction startsWith
function startsWith($haystack,$needle,$case=true)
{
    if($case){return (strcmp(substr($haystack, 0, strlen($needle)),$needle)===0);}
    return (strcasecmp(substr($haystack, 0, strlen($needle)),$needle)===0);
}

// Fonction endsWith
function endsWith($haystack,$needle,$case=true)
{
    if($case){return (strcmp(substr($haystack, strlen($haystack) - strlen($needle)),$needle)===0);}
    return (strcasecmp(substr($haystack, strlen($haystack) - strlen($needle)),$needle)===0);
}


if (startsWith($data,''))  $type='netscape'; // Vérification du type de fichier: Netscape bookmark

// Si le fichier est au format Netscape bookmark, on parcourt le fichier
if ($type=='netscape') 
{ 

    $data =  (explode('
',$data)) ; // Retourne un tableau avec pour chaque entrée les liens (Titre + Description + ...) $page_nb = isset($_GET[$url])?intval($_GET[$url]):1; // Numero de la page $number_of_pages = intval(count($data)/$nb_elem_per_page)+1; // Nombre de pages total $page = isset($_GET[$url])?intval($_GET[$url]-1):0; // Parcourt les liens depuis le XXX jusqu'au XXX foreach (array_slice ($data, $page*$nb_elem_per_page, $nb_elem_per_page) as $html) { $link = array('linkdate'=>'','title'=>'','url'=>'','description'=>'','tags'=>'','private'=>0); $d = explode('
',$html); // Retourne un tableau avec le lien (+ attibuts) et la description if (startswith($d[0],'(.*?)!i',$d[0],$matches); $link['title'] = (isset($matches[1]) ? trim($matches[1]) : ''); $link['title'] = html_entity_decode($link['title'],ENT_QUOTES,'UTF-8'); // Récupère le titre $raw_add_date=0; preg_match_all('! ([A-Z_]+)=\\"(.*?)"!i',$html,$matches,PREG_SET_ORDER); // Récupère les attributs et les valeurs contenu dans le lien foreach($matches as $m) { $attr=$m[1]; $value=$m[2]; // attribut et valeur if ($attr=='HREF') $link['url']=html_entity_decode($value,ENT_QUOTES,'UTF-8'); // Récupère le lien elseif ($attr=='TAGS') $link['tags']=html_entity_decode(str_replace(',',' ',$value),ENT_QUOTES,'UTF-8'); // Récupère les Tags elseif ($attr=='PRIVATE') $link['private']=($value=='0'?0:1); // Récupère l'attibut Privé / Public elseif ($attr=='ADD_DATE') $raw_add_date=intval($value); $link['linkdate']=date("d/m/Y",$raw_add_date); // Récupère la date } // On affiche les liens if ($link['private'] == 0 ) { echo "

".$link['title']."

".$link['description']."

Tags: ".$link['tags']."
Date: ".$link['linkdate']."


" ; } elseif ($link['private'] == 1 ) { echo "Lien privé
"; } } } echo "

Mis à jour le: ". $dateFile."

"; // Affiche la date du fichier // Pagination } // Message d'erreur si le format du fichier n'est pas Netscape bookmark else { echo " File has an unknown file format. Nothing to read."; } ?>

On pourrait afficher tous les résultats d'un coup mais je préfère ajouter un menu de navigation. Pour ajouter ce menu, il suffit d'ajouter le code ci-dessous.

menu de navigation
// Pagination
echo "
"; $previous=( $page_nb > 1) ? "Précédent |  " : "" ; echo $previous; for($i=1;$i<=$number_of_pages;$i++) { echo " ". $i ." " ; } $next=( $page_nb != $number_of_pages ) ? " | Suivant " : "" ; echo $next; echo "
";

Voici le résultat sur la page des Liens en vrac et un autre page de test bookmark.php.

Je laisse encore un lien vers Shaarli pour ceux qui préfèrent son interface et bénéficier de ses différentes options, notamment la recherche et tri par tag.

Pour le moment, le code permet d'afficher les fichiers exporter depuis Shaarli et éventuellement les autres fichiers de type Netscape bookmark mais ne doivent pas intégrer d'autres balises ni de listes imbriqués.
J'essaierai de faire une mise à jour pour avoir un truc plus universel et plus complet. Cela offrira la possibilité d'utiliser l'export de ses favoris depuis Firefox.

Ressources


2016 nIQnutn CC-BY

Gravatar de nIQnutn
Original post of nIQnutn.Votez pour ce billet sur Planet Libre.

Wooster by CheckmyWebsite : Nouveautés 2016 Check my Website

mardi 19 janvier 2016 à 06:00

Vous savez, tout ce genre de choses !

Un petit regard dans le rétro

Nous avons peu communiqué que ce soit sur ce blog ou ailleurs pendant cette fin d’année 2015. Il faut dire que nous avons été bien occupé à préparer Check my Website pour 2016 en mettant en production fin novembre notre architecture v2 dont je parle plus longuement ensuite.

Nous bouclons en temps qu’entreprise notre première année civile complète avec son lot de bonnes et mauvaises surprises en fonction des saisons mais continuons à progresser régulièrement tant sur le plan commercial que technique et fonctionnel.

Plusieurs intiatives en cours devraient porter leurs fruits en 2016, notamment en terme de partenariats.

2016 en fanfare

Check my Website prend un virage important pour l’année à venir en étant la première solution de monitoring SaaS à pouvoir complètement s’interfacer avec votre système de supervision interne, et ce de plusieurs façons.

Vous ne perdez aucun des bénéfices habituels du service comme la console ou les notifications ainsi que les contrôles en parallèle depuis plusieurs endroits dans le monde, vous gagnez juste beaucoup d’indépendance et d’autonomie sur la façon de traiter les données que nous récoltons pour vous, que ce soit au niveau stockage ou présentation.

Check my Website pour l’entreprise

La nouvelle version de Check my Website possède une architecture pub/sub sur HTTPS permettant un certain nombre de fonctionnailtés inédites dans le monde du Saas.

Instance privée de stockage

Il est désormais possible de stocker les données à la fois chez Check my Website et vers un backend « privé », spécifique à l’entreprise. L’implémentation de ce principe est aujourd’hui réalisé avec InfluxDB comme base de données mais d’autres bases vont suivre.

Les données sont consommées en temps réel, comme nous le faisons nous-même pour notre propre stockage.

Ceci permet entre autres d’utiliser des interfaces de visualisation Open Source comme Grafana et de mixer données provenant de Check my Website et de vos autres outils de monitoring.

Tableau de bord réalisé pour monitoring-fr.org
Tableau de bord réalisé pour monitoring-fr.org

Quelques exemples concrets de tableaux de bord, connexion en guest/guest :

Nous pouvons également opérer pour vous dans le Cloud ou sur site ce type d’instance privée de stockage.

Instance privée de collecte

Il est possible désormais d’utiliser en plus des workers publics qui vous sont présentés dans la console des workers privés.

Ceci vous permet de surveiller vos applications et portails web internes comme vous le faîtes pour vos sites web publiques.

Un worker privé est une instance de collecte Check my Website que vous pouvez installer ou vous le souhaitez, que ce soit sur l’Internet ou derrière votre firewall d’entreprise.

Il se connecte au service Check my Website et exécute à intervalles réguliers des contrôles comme n’importe quel autre worker.

Ce worker, même installé derrière votre firewall, reste sûr. Il n’y a pas de connexion entrante vers votre infrastructure. Vous êtes bien sûr seuls à pouvoir exécuter des contrôles sur ce worker.

Et il sait rester simple. Nous avons entièrement packagé tout le nécessaire dans un conteneur qui se déploie sur n’importe quel type de serveur Linux, physique ou virtuel. Pas de sauvegarde, pas de configuration, ce conteneur est entièrement jetable et ne nécessite pas d’administration.

Les plugins Check my Website

Pour ceux qui ne souhaitent pas installer de stockage privé, il est toujours possible de récupérer les données collectées par le service via les plugins Check my Website. Les solutions suivantes sont d’ores et déjà compatibles et de nouvelles sont ajoutés régulièrement et à la demande.

Solutions de supervision

Les nouveaux plugins sont indiqués en gras.

  • Shinken
  • Centreon
  • Graphite
  • Nagios
  • Icinga
  • Naemon
  • InfluxDB
  • Zabbix

Système de Gestion de contenu

  • Wordpress

Vous avez alors accès à toutes les possibilités présentées plus haut comme les tableaux de bord pour Grafana.

Les scénarios fonctionnels

Nous avons commencé la période de beta pour les scénarios fonctionnels Check my Website.

Ces scénarios permettent de définir un certain nombre d’étapes fonctionnelles à accomplir sur un site ou une application web. Ce sera par exemple mettre un produit dans un caddie sur un site marchand, valider le panier…

Ce type de contrôles est complémentaire de ceux que nous pratiquons déjà au niveau disponibilité et performance dans le sens où ils permettent de voir ce qui ne fonctionnent pas ou plus sur un site.

Nouvel onglet fonctionnel dans la console
Nouvel onglet fonctionnel dans la console

A chaque contrôle, nous enregistrons un temps d’éxecution global pour le scénario ainsi que le temps de chaque étape. Nous enregistrons une video retraçant le parcours du navigateur (au choix firefox et chrome pour le moment) et présentant celle-ci ainsi que les graphes de temps dans la console Check my Website.

Un nouveau point de contrôle

Nous sommes très heureux de proposer, en partenariat avec Fullsave, un point de contrôle de vos sites web depuis Toulouse. La société FullSave est hébergeur internet et opérateur télécom régional. La société disposa à ce titre d’une boucle métropolitaine en fibre noire interconnectant ses quatre datacenters toulousains. Depuis 2014, FullSave opère TLS00, le premier datacenter neutre éco-responsable de Toulouse situé au cœur des réseaux fibres régionaux. Ce point de contrôle est directement installé dans le data-center toulousain de la société.

Go go go

Nous n’avons pas chômé mais il reste beaucoup à faire ! Beaucoup avant de pouvoir arriver à ce que nous avions en tête au niveau fonctionnel quand nous avons imaginé il y a maintenant plus de trois ans une première version complète de Check my Website.

J’aurai l’occasion très prochainement ici même de détailler chacune de ces grandes nouveautés qui font petit à petit la valeur et la singularité de notre offre sur le marché.

Gravatar de Wooster by CheckmyWebsite
Original post of Wooster by CheckmyWebsite.Votez pour ce billet sur Planet Libre.

antistress : L'extension du jour : User Agent Switcher pour Firefox

lundi 18 janvier 2016 à 23:59

Super heros capé arborant le logo de Firefox sur la poitrine
Captain Extensions recommande
User Agent Switcher

Voici une extension pour Firefox qui m'est indispensable depuis un moment – même si je ne l'utilise qu'occasionnellement – et dont je n'ai pas encore parlé ici :

User Agent Switcher (installable depuis le site addons.mozilla.org) est une extension qui, comme son nom l'indique, permet de modifier le user agent de votre navigateur (suivez ce lien pour connaître votre user agent actuel).

Je vois au moins trois utilités à cette extension :

Dans le deuxième cas, vous aurez donc à cœur de choisir un user agent extrêmement répandu et de l'afficher de manière permanente.

Dans le troisième cas qui est le mien (et qui ne semble pas être le plus connu pour cette extension), il suffira d'afficher ponctuellement le user agent d'un appareil sous iOS – puisque chacun sait que Flash est banni de cette plateforme. Ainsi le site vous servira quasiment à coup sûr une version alternative optimisée, c'est-à-dire en l'occurrence dépourvue de tout contenu au format Flash. Et pour éviter de vous retrouver avec un écran minuscule, vous simulerez un iPad plutôt qu'un iPhone (pour connaître le user agent d'un iPad récent, recherchez le terme « iPad » sur la page indiquée au paragraphe précédent).

Pour finir, je signale que, pour contourner un bogue qui fait disparaître ma liste de user agents alternatifs, j'ai dû décocher, dans les préférences de l'extension, la ligne « Hide the User Agent Switcher Tools menu ».

User Agent Switcher est une extension publiée par Chris Pederick sous la licence libre GNU GPL 3.0.

Télécharger User Agent Switcher.


L'illustration en tête de ce billet est une composition réalisée par mes soins à partir de cette image et donc soumise à la même licence CC BY-NC-SA que cette dernière.


Get Firefox Button

Gravatar de antistress
Original post of antistress.Votez pour ce billet sur Planet Libre.