vendredi 4 août 2023

Le moulin à café USB et l’informaticien

Nous sommes en 2023, et j’ai l’impression que de plus en plus les petits appareils électroménagers passent à une alimentation USB-C. Aujourd’hui, c’est mon nouveau moulin à café qui prend place dans la cuisine, y portant à trois le nombre d’appareils alimentés de cette façon — avec ou sans batterie.

Et honnêtement ? Cela me plaît beaucoup, car la connectique est standardisée et la puissance électrique est suffisante (jusqu'à 240W désormais). Également, le courant continu en très basse tension est bien adapté à ce type d’équipements, grâce à des pertes en ligne moindres comparées à celles en courant alternatif.

Un problème subsiste cependant : la prolifération des chargeurs sur les prises électriques. Ils prennent de la place, sont parfois de qualité médiocre (ou dangereuse…), ont une performance énergétique abyssale, etc. Bref, il est plus intéressant d’acheter un bon adaptateur secteur/USB ; mais le prix est un peu dissuasif.

La solution réside par la modernisation des installations électriques, avec un transformateur USB installé dans le coffret électrique du foyer (à côté de la Freebox !) pour alimenter toutes les pièces. Des modules sur rail DIN peuvent aussi être intégrés dans le tableau électrique, mais attention à la chaleur dégagée (eh, 240W on a dit). On rejoint la logique d’infrastructure réseau avec le PoE pour alimenter les équipements de périphérie.

La prolifération des pieuvres USB est un phénomène à combattre : elles sont moches, dangereuses pour la sécurité, peu performantes, et encombrantes. Et pire encore, Alsa 🐈 joue occasionnellement avec : s’ensuit alors un drame domotique.

 

Pieuvre USB
Multiprise USB avec moultes câbles branchés dessus

vendredi 10 mars 2023

Il y a vraiment un problème dans la galaxie StackOverflow

Il y a vraiment un problème dans la galaxie StackOverflow, que l’on voit monter depuis une paire d’années.

Je faisais cet après-midi du triage dans les files de modération des nouvelles questions & réponses, et j’y aie vu (comme d’habitude) des soumissions datant de ~20 minutes avec des scores de -2 ou pire.

Pourtant les demandes sont bien rédigées, étayées, sourcés, pertinentes, et tout. Mais non, blam, elles se font enterrer à cause de leurs scores, sans justification des personnes qui les basvotent. Les nouveaux utilisateurs ayant posé ces questions ne recevront alors jamais de réponses, sauf si on redresse manuellement leurs statuts.

C’est très problématique pour ces nouveaux utilisateurs — qui sont donc des juniors dans leurs domaines respectifs — se faisant ainsi torpiller.

Nous enseignons aux élèves de s’appuyer sur les communautés de pratiques, et des utilisateurs de ces communautés font un barrage à l’entrée pour diverses raisons (trop longues à commenter ici). C’est moche.

mercredi 4 septembre 2019

Personnaliser l’écran de connexion d’un serveur Linux

Quand un serveur Linux démarre, on aime savoir qui il est et comment s’y connecter. C’est surtout vrai dans le cas de mise en réseau par DHCP ainsi que pour les machines virtuelles dans le cloud. Le désespoir est grand on voit la console afficher « Debian GNU/Linux buster/stable Clauzel.eu tty1 » mais qu’on a aucune idée d’où se connecter par ssh.

La solution est d’enrichir le fichier /etc/issue pour demander l’affichage d’informations supplémentaires. Ainsi, la configuration

Nom d’hôte : \n.\o
IPv6 : \6
IPv4 : \4
Système : \S{PRETTY_NAME} \s \m \r

produira l’affichage

Nom d’hôte : Clauzel.eu
IPv6 : 2a01:4f8:1c17:4608::42
IPv4 : 88.99.35.242
Système : Debian GNU/Linux 10 (buster) Linux x86_64 4.19.0-5-amd64

Remarques :

  • ici la balise \6 affichera uniquement la première adresse IPv6 de la première interface. C’est ennuyeux puisque l’IPv6 permet justement de disposer de nombreuses adresses ;
  • il est possible de choisir quelle interface on souhaite afficher, avec \6{eth0}, mais là encore on ne récupère que la première adresse ;
  • il est fort possible que cette solution ne fonctionne pas correctement avec systemd ; mais en même temps, qui utilise systemd sur ses serveurs ?

Documentation : man 8 getty

mardi 5 février 2019

Utiliser Steam sur un Chromebook

Manipulation réalisé le 2019-02-05 sur un ordinateur Acer Chromebook Spin 11 R751T-C8D8.

Le prérequis est naturellement d'avoir un appareil compatible.

Dans les préférences de ChromeOS, activer les application Linux. Puis lancer le terminal pour installer le client Steam :

sudo apt update
sudo apt install wget
wget https://steamcdn-a.akamaihd.net/client/installer/steam.deb
sudo apt update
sudo dpkg -i ./steam.deb
sudo apt -f install
rm -f steam.deb
steam

Une nouvelle fenêtre de terminal va alors s'ouvrir, avec dedans l'installation de nouveaux paquets. Accepter l'installation.

Note : sur certains Chromebooks, il peut être nécessaire de positionner la variable d'environnement CPU_MHZ="2300.000" avant de lancer le client Steam :

CPU_MHZ="2300.000" /usr/bin/steam

lundi 20 août 2018

Interview pour Le Progrès : « Challenger de Facebook aux USA, Reddit peut-il s’imposer en France ? »

Sébastien Jullien, journaliste au Progrès de Lyon voulait préparer un sujet sur Reddit afin d'apporter un coup de projecteur sur ce réseau social encore méconnu en France, et m'a demandé de répondre à quelques questions concernant Reddit et mon activité de modérateur.

Reddit est une plate-forme sociale, permettant de créer des communautés thématiques (hobby, technique, localisation géographique, etc). J'anime entre autre depuis plusieurs années la communauté grandlyonnaise : r/Lyon

@article{Clauzel:2018:Challenger-de-Facebook-aux-USA-Reddit-peut-il-s-imposer-en-France,
  title = {Challenger de Facebook aux USA, Reddit peut-il s’imposer en France ?},
  journal = {Le Progrès},
  year = {2018},
  month = aug,
  day = 20,
  url = {https://damien.clauzel.eu/Publications/Documents/Divers/2018-08-21%20-%20Challenger%20de%20Facebook%20aux%20USA,%20Reddit%20peut-il%20s%E2%80%99imposer%20en%20France%20%3f.png},
  url = {https://damien.clauzel.eu/post/2018/08/20/Interview-pour-Le-Progr%C3%A8s-%3A-%C2%AB-Challenger-de-Facebook-aux-USA%2C-Reddit-peut-il-s%E2%80%99imposer-en-France-%C2%BB},
  author = {Clauzel, Damien and Jullien, Sébastien},
  keywords = {Lyon, Reddit, réseau social, Le Progrès, r/Lyon},
  language = {french},
  abstract = {Momentanément passé devant Facebook aux Etats-Unis en février dernier, le site communautaire Reddit peine à exister en France. Mais, au fait, qu’est-ce que Reddit ?}
}

mercredi 20 septembre 2017

Déployer un nœud YaCy sur une adresse IPv6 et avec un accès https

Il est possible de mettre en place un nœud YaCy participant à la fédération globale, avec une connectivité IPv6 et HTTPS.

Qu’est-ce que YaCy ? Facile.

YaCy est un moteur de recherche que chacun peut installer pour indexer le web (pages publiques accessibles par internet), pour indexer un intranet ou pour parcourir d'autres données avec une fonction moteur de recherche. YaCy peut être utilisé de façon autonome, mais sa principale force est de pouvoir fonctionner en réseau peer-to-peer, ce qui fait que sa puissance s’accroît avec le nombre d'utilisateurs, qu'il est entièrement acentré (tous les "peers" sont égaux et il n'y a pas un organisme administratif central) et qu'il n'est pas censurable et ne stocke pas le comportement des utilisateurs.

La liberté de l'information ainsi obtenue par le biais des logiciels libres et d'un moteur de recherche distribué est également un des objectifs du projet.

Prérequis

  • avoir une connexion IPv6 opérationnelle avec une adresse publique (nous utilisons ici 2001:41d0:12a:4d00:dcdc::46)
  • disposer d’un nom de domaine (nous créerons ici le champ AAAA YaCy.Clauzel.eu)
  • utiliser Debian/stretch sans systemd
  • avoir apache2 en place (nous ajouterons 2 vhosts)
  • avoir un certbot récent, celui de Debian/stretch est trop ancien et ne gère pas les demandes pour un hôte uniquement en IPv6 :
apt-get install certbot apt-get install certbot
wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto

Mise en place du nom de domaine

  • Créer l’enregistrement DNS pour le nœud; ici YaCy.Clauzel.eu pointe sur 2001:41d0:12a:4d00:dcdc::46

Installer YaCy

Mise en place initiale :

  • Lire et appliquer la documentation de YaCy ; nous utilisons ici la version 1.92 pour linux. YaCy est installé pour l’utilisateur dédié yacy:yacy dans le répertoire /home/yacy
  • Dans l’interface web de YaCy Mode d'utilisation et compte>avec SSL, activer le HTTPS sur le port 8443
  • Dans l’interface web de YaCy Administration du système>Paramètres d'accès au serveur>staticIP, définissez l’adresse publique du nœud comme étant YaCy.Clauzel.eu

Indiquer à java que nous donnons la préférence à l’IPv6 :

service yacy stop

Dans /etc/init.d/yacy, modifier JAVA_ARGS="-server -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Dsolr.directoryFactory=solr.MMapDirectoryFactory -Djava.net.preferIPv4Stack=false -Djava.net.preferIPv6Stack=true"

service yacy start

À ce moment, YaCy doit tourner en mode Senior et être publiquement joignable à l’adresse http://YaCy.Clauzel.eu:8090

Créer le certificat TLS

Un simple certificat TLS suffit, mais vous pouvez vous faire plaisir avec les options :

service apache2 stop
certbot-auto certonly --standalone -d YaCy.Clauzel.eu --renew-by-default --must-staple --staple-ocsp --agree-tos --uir --hsts
service apache2 start

Préparation du certificat pour java

Les applications java ont ceci de casse-pied particulier qu’elles n’utilisent pas les certificats TLS au format PEM : il nous faut convertir notre certificat.

openssl pkcs12 -export -in /etc/letsencrypt/live/yacy.clauzel.eu/fullchain.pem -inkey /etc/letsencrypt/live/yacy.clauzel.eu/privkey.pem -out /etc/letsencrypt/live/yacy.clauzel.eu/yacy.clauzel.eu.p12 -CAfile /etc/letsencrypt/live/yacy.clauzel.eu/chain.pem -caname root -password pass:JeSuisUnMotDePasse -name yacy.clauzel.eu
keytool -importkeystore -srcstorepass JeSuisUnMotDePasse -deststorepass JeSuisUnMotDePasse -destkeypass JeSuisUnMotDePasse -srckeystore /etc/letsencrypt/live/yacy.clauzel.eu/yacy.clauzel.eu.p12 -alias yacy.clauzel.eu -srcstoretype PKCS12 -destkeystore /etc/letsencrypt/live/yacy.clauzel.eu/yacy.clauzel.eu.key

Mettre en place le certificat

Nous pouvons alors placer notre joli certificat dans l’arborescence de l’application.

service yacy stop
 cp /etc/letsencrypt/live/yacy.clauzel.eu/yacy.clauzel.eu.key DATA/SETTINGS/
 chown yacy:yacy DATA/SETTINGS/yacy.clauzel.eu.key
 chmod 400 DATA/SETTINGS/yacy.clauzel.eu.key

Configurer l’utilisation du certificat

Il reste maintenant à informer l’application de l’existence de ce certificat. Il faut vérifier/définir dans le fichier DATA/SETTINGS/yacy.conf :

port.ssl=8443
keyStore=DATA/SETTINGS/yacy.clauzel.eu.key
keyStorePassword=JeSuisUnMotDePasse
server.https=true
staticIP=YaCy.Clauzel.eu

Puis démarrer YaCy :

service yacy start

À ce moment, YaCy doit être publiquement joignable à l’adresse https://YaCy.Clauzel.eu:8443

Définir des redirections dans apache

Nous ajoutons alors des redirections web, qui permettrons d’accéder directement au nœud sans devoir spécifier le port.

Créer la directive /etc/apache2/sites-available/00-YaCy.conf :

<VirtualHost *:80>
    Define INSTANCE yacy.clauzel.eu
    ServerName ${INSTANCE}
    RewriteEngine On
    RewriteRule ^(.*)$ https://${INSTANCE}:8443 [redirect=301]
</VirtualHost>

<VirtualHost *:443>
    Define INSTANCE yacy.clauzel.eu
    ServerName ${INSTANCE}
    RewriteEngine On
    RewriteRule ^(.*)$ https://${INSTANCE}:8443 [redirect=301]
    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/${INSTANCE}/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/${INSTANCE}/privkey.pem
</VirtualHost>

Activons cette configuration :

a2ensite 00-YaCy.conf
service apache2 restart

YaCy est désormais accessible à l’adresse https://YaCy.Clauzel.eu, et http://YaCy.Clauzel.eu redirige le visiteur vers l’accès sécurisé

Bonne chance à tous, comme on dit « chez-moi ça marche ».

dimanche 4 septembre 2016

Utiliser Steam sur MacOS en 2016 avec un système de fichiers sensible à la casse

En 2016 , le client Steam sur Mac a beaucoup changé par rapport à ce qu’il était en 2010. Enfin, pas tant que ça… Il est toujours en 32 bits, exige toujours un système de fichiers non sensible à la casse, son overlay est toujours aussi problématique, et sa gestion des manettes de jeu toujours aussi erratique.

Bref, il convient d’adapter la procédure que nous avions mis en place en 2010. Le principe reste le même : on mets tous les éléments dans une image disque, et on crée des liens.

Ouvrir un terminal

Nous allons travailler principalement en ligne de commande. Eh, jouer se mérite un peu ;) On pourrait faire la même chose en utilisant des outils graphiques, mais cela serait plus long à expliquer.

Créer l’image disque qui accueillera Steam

L’image disque peut être rangée n’importe où : /Applications, $HOME, etc. Nous la mettrons dans $HOME/Applications/Jeux

mkdir -p ~/Applications/Jeux
cd ~/Applications/Jeux
hdiutil create -size 50g -type SPARSEBUNDLE -fs HFS+J -volname Steam Steam
created: /Users/USER/Applications/Jeux/Steam.sparsebundle

Pour d’informations, on se tournera vers le billet sur la manipulation des images disques.

Mettre en place l’application Steam

Ouvrir notre image disque pour Steam et y copier l’application Steam fournie par Valve.

hdiutil attach Steam.sparsebundle
/dev/disk4          	GUID_partition_scheme          	
/dev/disk4s1        	EFI                            	
/dev/disk4s2        	Apple_HFS                      	/Volumes/Steam

On constate ici que notre image disque a été montée dans /Volumes/Steam; elle apparait d’ailleurs sur le bureau. Il suffit maintenant d’y copier l’application Steam de Valve directement depuis l’image d’installation.

Adapter le compte utilisateur pour faire fonctionner Steam

Le principe est de stocker dans notre image disque tout ce qui a trait à Steam, et d’utiliser des liens pour maintenir les chemins d’accès.

mkdir -p /Volumes/Steam/Library
# copiez dans /Volumes/Steam/Library votre dossier applicatif « Steam » existant; ou vous pouvez simplement laisser Steam le recréer… et retélécharger tous vos jeux.
ln -s /Volumes/Steam/Library/Steam ~/Library/Application\ Support/Steam

Il ne reste plus qu’à synchroniser le tout et à refermer.

sync
hdiutil detach /Volumes/Steam
"disk4" unmounted.
"disk4" ejected.

Jouer !

Pour utiliser Steam, il suffit de monter l'image disque (en double cliquant dessus, par exemple), puis de lancer l'application.

mardi 5 juillet 2016

Personnaliser les en-têtes de courriels envoyés par Mail.app

Pour des besoins précis, on a souvent besoin de personnaliser les en-têtes des courriels que l’on envoie. Que ce soit pour y glisser des métadonnées de chiffrement, de transport, de filtrage, d’identité, ou encore de classification, c'est une pratique courante et transparente.

Sous MacOS, le logiciel Mail.app utilise la clé de configuration UserHeaders pour définir les en-têtes utilisateur. Ainsi, dans mon cas j’ajoute les deux en-têtes suivants :

  • OpenPGP : l’empreinte de ma clé PGP, et l’URI de son emplacement ;
  • X-FOAF : l’URI de mon identité pour le web sémantique.

Ces deux champs sont positionné via le terminal :

defaults write com.apple.mail UserHeaders "{ \
    OpenPGP = 'id=322B 89F1 FA51 3211 40F3  B358 5E88 C01E BAFD 1998; preference=signencrypt; url=https://Damien.Clauzel.eu/public/Cles_publiques/GnuPG/Damien_Clauzel.eu_publique.asc'; \
    X-Foaf = 'https://Damien.Clauzel.eu/Damien_CLAUZEL-FoaF.rdf'; \
}"

On constate désormais la présence des nouveaux en-têtes dans les courriels envoyés :

Return-Path: 
Received: from ?IPv6:2a01:e34:ec15:6030:b91e:f8a8:1579:acba? ([2a01:e34:ec15:6030:b91e:f8a8:1579:acba])
        by smtp.gmail.com with ESMTPSA id ue1sm3813420wjc.44.2016.07.01.09.55.57
        for 
        (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128);
        Fri, 01 Jul 2016 09:55:57 -0700 (PDT)
From: Damien Clauzel 
X-Google-Original-From: Damien Clauzel 
Subject: XXXXX
Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\))
Content-Type: multipart/signed; boundary="Apple-Mail=_C578A8CA-4F46-4294-83B1-893306A67B44"; protocol="application/pgp-signature"; micalg=pgp-sha512
X-Pgp-Agent: GPGMail 2.6b2
X-Foaf: https://Damien.Clauzel.eu/Damien_CLAUZEL-FoaF.rdf
OpenPGP: id=322B 89F1 FA51 3211 40F3  B358 5E88 C01E BAFD 1998; preference=signencrypt; url=https://Damien.Clauzel.eu/public/Cles_publiques/GnuPG/Damien_Clauzel.eu_publique.asc
In-Reply-To: 
Date: Fri, 1 Jul 2016 18:55:56 +0200
Message-Id: 
References:  
To: Example 
X-Mailer: Apple Mail (2.3124)

jeudi 23 juin 2016

Monter un volume TimeMachine sous linux

Si sous MacOS il est immédiat de manipuler les images disques en ligne de commande, le faire sous un autre système POSIX demande un peu d’attention. Nous allons voir ici comment le faire, et plus spécialement pour accéder aux contenus des archives de TimeMachine.

Les archives TimeMachine

Une archive TimeMachine est une image sparsebundle contenant deux volumes :

  • un volume EFI permettant le démarrage d'un Mac sur disque externe ;
  • un volume HFSX (HFS+ sensible à la casse) contenant les fichiers de l'utilisateur.

Nous ne discuterons pas ici des (faibles) qualités intrinsèques du format de volume HFS+, ni de ses nombreux problèmes (telle la fragilité).

La technique

Sous linux, deux outils sont nécessaire pour ouvrir une archive TimeMachine et présenter correctement son contenu :

  • sparsebundlefs : agrège les bandes de l'image sparsebundle afin de présenter une image disque consolidée, exploitable par les outils habituels, tel mount ;
  • tmfs : présente efficacement le contenu d'une image disque contenant une sauvegarde TimeMachine. Cet outil n'est pas strictement indispensable pour accéder aux fichiers, mais la reconstruction de l'arborescence facilite grandement la lisibilité.

GitHub : sparsebundlefs

FUSE filesystem for reading Mac OS sparse-bundle disk images.

Mac OS X v10.5 (Leopard) introduced the concept of sparse-bundle disk images, where the data is stored as a collection of small, fixed-size band-files instead of as a single monolithic file. This allows for more efficient backups of the disk image, as only the changed bands need to be stored.

One common source of sparse-bundles is Mac OS' backup utility, Time Machine, which stores the backup data within a sparse-bundle image on the chosen backup volume.

This software package implements a FUSE virtual filesystem for read-only access to the sparse-bundle, as if it was a single monolithic image.

Debian : tmfs

Description-en: Apple Time Machine FUSE mount

Time Machine File System is a read-only virtual filesystem which helps you to read your Apple Time Machine Backup by reconstructing the hard-linked directories from the HFS+ metadata directory.

You can browse the tmfs mounted Time Machine normally and easily recover data from any backup point contained within.

Exemple

On crée les différents points de montage qui seront utilisés :

  • TimeMachine-DiskImage : l’« ouverture » de l’image sparsebundle présentant une vue manipulable par la commande mount ;
  • TimeMachine-Archive : l’image disque contenant l’archive TimeMachine ;
  • TimeMachine-Ouvert : la vue facilement exploitable de l’archive TimeMachine.
mkdir ~/mnt
mkdir ~/mnt/TimeMachine-DiskImage
mkdir ~/mnt/TimeMachine-Archive
mkdir ~/mnt/TimeMachine-Ouvert

Comme on manipule des points de montage, il faut passer root pour presque toutes les opérations. Remarque : peut suivre le détail de l’ouverture du volume avec les options -s -f -D.

sparsebundlefs \
        -o allow_root,ro,uid=$(id -u $USER),gid=$(id -g $USER),default_permissions,kernel_cache \
        MesSauvegardes.sparsebundle \
        ~/mnt/TimeMachine-DiskImage/

Un disque TimeMachine est bootable et contient donc en fait 2 volumes: celui de démarrage, et un volume contenant les données. Il nous faut donc désormais récupérer l’emplacement du volume contenant les données qui nous intéressent.

parted ~/mnt/TimeMachine-DiskImage/sparsebundle.dmg unit B print

# Disque /home/moi/mnt/TimeMachine-DiskImage/sparsebundle.dmg : 536870912000B
# Taille des secteurs (logiques/physiques): 512B/512B
# Table de partitions : gpt
# Disk Flags: 
# 
# Numéro  Début       Fin            Taille         Système de fichiers  Nom                   Fanions
#  1      20480B      209735679B     209715200B     fat32                EFI System Partition  démarrage, esp
#  2      209735680B  536736673791B  536526938112B  hfsx                 disk image

On prend le début du volume comme offset, et sa taille comme taille, pour faire pointer dessus un point d’entrée. L’ID de la boucle (ici /dev/loop0) est récupéré avec --show.

sudo losetup -f ~moi/mnt/TimeMachine-DiskImage/sparsebundle.dmg --offset 209735680 --sizelimit 536526938112 --show

On monte alors le volume ciblé de l’archive, qui contient notre archive TimeMachine.

sudo mount -t hfsplus -o ro,uid=$(id -u $USER),gid=$(id -g $USER) /dev/loop0 ~moi/mnt/TimeMachine-Archive/

Reste maintenant à ouvrir l’archive TimeMachine.

sudo tmfs \
        ~moi/mnt/TimeMachine-Archive/ \
        ~moi/mnt/TimeMachine-Ouvert/ \
        -o allow_other,ro,uid=$(id -u $USER),gid=$(id -g $USER),default_permissions,kernel_cache

On peut alors accéder — en lecture seule — aux fichiers de l’archive TimeMachine dans le répertoire ~/mnt/TimeMachine-Ouvert.

Ouf ! Ce fut laborieux, mais en posant les choses à plat on comprend la logique : il faut aller chercher en profondeur la bonne partition dans une image disque, et la manipuler avec un outil capable de traiter ses structures de données.

Une fois terminé de travailler, on referme proprement.

sudo fusermount -u ~moi/mnt/TimeMachine-Ouvert
sudo fusermount -u ~moi/mnt/TimeMachine-Archive
sudo losetup --detach /dev/loop0
sudo fusermount -u ~moi/mnt/TimeMachine-DiskImage

mardi 14 avril 2015

J’ai essayé les opticiens discount Lunettes pour tous

J’ai testé pour vous l’opticien qui fait le buzz en ce moment, Lunettes pour tous.

J’ai déjà une très bonne paire de #lunettes de vue pour mon quotidien, et je songeais à acheter une seconde paire solaire, de qualité quelconque, pour quand je me déplace à vélo ou me promène. Lunettes pour tous ayant récemment ouvert à Lyon une boutique au 3 cours Gambetta, j’ai décidé de voir ce qu’ils proposaient.

En rentrant, la première chose qui vient à l’esprit est « Oh, un Apple Store avec des lunettes ». La décoration est à base de meubles bois et blanc, avec des grandes vitrines et un plafond haut. Les personnes sont jeunes, en jeans et pantalons de cuir, avec des t-shirts bleus et des iPads dans les mains pour saisir les informations clients, et des tatouages apparaissent ici et là. L’ambiance est dynamique et le magasin très lumineux, c’est agréable. Et ne vous fiez pas aux rumeurs, il est bien possible de s’assoir sur des banquettes.

Un mardi après-midi en semaine, j’ai compté une trentaine de clients qui suivaient le parcours d’achat. Ils étaient de tous âges, mais principalement jeunes avec quelques personnes âgées en couple.

On commence par choisir une monture sur les présentoirs. Il y en a de très bien à 5€ : solides, élégantes, légères, discrètes. Le choix des formes et des couleurs est limité, mais c’est sans faute de goût et on peut trouver son bonheur dans un style classique.

Une personne recueille alors vos coordonnées et vous ajoute sur la file d’attente pour voir un technicien. Cette liste d’attente est affichée sur un grand écran et on voit sa position remonter vers la tête de liste. Ça défile vite, car le personnel est nombreux.

Rapidement, vous êtes pris par un technicien qui complète votre fiche client avec les informations de l’ordonnance. Il est possible de venir sans, mais je ne sais pas si ça implique un surcoût pour les mesures à faire alors. Hop, centrage avec l’appareil photo de l’iPad (oui, il y a une app pour ça ! 😉) sur la monture choisie, et on discute des possibilités de verres.

Je voulais des solaires premier prix. Le devis proposé est 35€ le verre unifocal pour des corrections simples, aminci 1,5, solaire, traitement anti-rayures, anti-reflets et anti-salissures. Avec la monture, le devis final est donc 75€.

Mauvaise surprise, on est loin des 10€ mis en avant. Ce tarif correspond à une monture basique — comme celle que j’avais choisie — et deux verres bas de gamme blancs nus pour des corrections simples (qu’on appel péjorativement des bouts de Plexiglas). Je n’ai pas la possibilité de faire descendre le prix en prenant un verre plus épais ou en supprimant les traitements, car le magasin n’a qu’un nombre très réduit de références dans sa gamme de produits. Je renonce.

35€ pour un verre solaire de qualité correcte avec traitements est un très bon pris en boutique, il faut compter au moins 10€ de plus ailleurs. Mais le type de lunettes que j’avais en tête peut se commander sur internet pour une grosse quinzaine d’euro.

Malgré tout, je trouve très bien les Lunettes pour tous. Les produits sont de qualité honnête, et on peut obtenir facilement et rapidement des lunettes sans tout le tralala de semi-luxe que l’on a chez d’autres enseignes d’opticiens. Oui, ça va vite — on voit le compteur 7 minutes descendre sur l’iPad — mais c’est conçu pour les personnes qui veulent aller à l’essentiel.

- page 1 de 12