How to configure Network File System on Linux
Photo by Darryl Kelly on Unsplash
Posted: June 16, 2022 | by Seth Kenlon (Red Hat)
Photo by Darryl Kelly on Unsplash
Posted: June 16, 2022 | by Seth Kenlon (Red Hat)
À l’occasion de la sortie du Raspberry Pi 4, un ordinateur à carte unique (Single Board Computer — SBC), il nous a semblé important de faire un point sur les cartes Raspberry qui se sont démocratisées à partir de 2010, et qui ont aujourd’hui des capacités suffisantes pour traiter l’ensemble des tâches courantes d’un ordinateur de bureau.

Les cartes fonctionnant directement à partir de bibliothèques C/C++ de type Arduino, ou celles fonctionnant via un interpréteur dans un langage particulier (MicroPython), ne seront pas traitées en profondeur dans cette dépêche.
Commençons par présenter la petite nouvelle qui s’est longuement faite attendre.
Wikipédia définit la Raspberry Pi comme étant un nano‐ordinateur à architecture ARM conçu par des professeurs du département informatique de l’université de Cambridge dans le cadre de la fondation Raspberry Pi.
Elle est de la taille d’une carte de crédit, et est destinée initialement à encourager l’apprentissage de la programmation informatique. Elle permet l’exécution de plusieurs variantes du système d’exploitation libre GNU/Linux, notamment Debian, et des logiciels compatibles.
Les améliorations amenées par le nouvel opus de la Raspberry sont nombreuses, elles sont donc synthétisées dans le tableau 1.
| Composants | Raspberry Pi 3 B+ | Raspberry Pi 4 |
|---|---|---|
| Système monopuce (SoC) | Broadcom BCM2837B0 | Broadcom BCM2711 |
| Type de cœurs | Cortex-A53 (ARMv8) 64 bits | Cortex-A72 (ARMv8) 64 bits |
| Type de mémoire | DDR2 | DDR4 |
| Nombre de cœurs | 4 | 4 |
| Processeur graphique | VideoCore IV | VideoCore VI |
| Fréquence processeur | 1,4 GHz | 1,5 GHz |
| Mémoire vive | 1 Gio | 1 Gio, 2 Gio ou 4 Gio |
| Ports USB | 4 × USB 2.0 | 2 × USB 3.0 + 2 × USB 2.0 |
| Ethernet | Gigabit sur USB 2.0 | Gigabit sur PCIe |
| Port HDMI | 1 × HDMI | 2 × microHDMI |
| Sortie son analogique | jack 3,5 mm | jack 3,5 mm |
| GPIO | 26 max | 26 max |
| PWM | 4 | 4 ? |
| I²C | 1 | 4 |
| SPI | 2 | 4 |
| UART | 1 | 4 |
| LCD Panel | ✓ | ✓ |
| Caméra CSI | ✓ | ✓ |
| Wi‐Fi | 2,4 GHz et 5 GHz 802.11b/g/n/ac | 2,4 GHz et 5 GHz 802.11b/g/n/ac |
| Bluetooth® | 4.2, BLE | 5.0 |
| Stockage | microSD | microSD |
Tableau 1 : comparatif des Raspberry Pi 3 B+ et 4
Bien que les périphériques de cette carte, présentés sur le tableau 1, permettent déjà un nombre d’usages très important, l’intérêt majeur de ce type de cartes par rapport à un PC est l’accès au GPIO. Cet accès privilégié à des bus tels qu’I²C, SPI ou UART, permet l’utilisation de tout matériel électronique ; nous avons donc vu fleurir depuis 2014 un nombre important de cartes d’extensions de fonctionnalités dénommées HAT (Hardware Attached on Top).
Nous proposons donc de faire un point sur les différents types d’usages. Pour chaque usage, nous évoquerons des alternatives existantes, avec leurs avantages et leurs limites.
La carte Raspberry Pi se distingue de ses concurrentes, car elle a, dès le début, pris le parti de se positionner comme une carte dédiée à l’éducation de masse à l’informatique, l’électronique et la robotique. Ce positionnement a conduit à mettre en place une certification afin que des enseignants ou des passionnés puissent avoir une reconnaissance de la fondation sur leur compétence à transmettre le savoir technique autour de ces plates‐formes. Des entreprises telles que Pi-Top ont conçu des unités pédagogiques comme un ordinateur portable permettant l’accès aux GPIO, ou dernièrement une plate‐forme modulable orientée robotique pour la version 4.
Bien que l’on puisse considérer qu’il est possible de faire de la bureautique avec les précédentes générations de la Raspberry Pi, le fait de ne pouvoir utiliser qu’un seul écran était une vraie limitation. De plus, la navigation Internet pouvait assez rapidement s’avérer poussive à cause du manque de mémoire vive. Lancer plusieurs applications en simultané pouvait aussi être compliqué.
De manière générale, l’ensemble de ces limitations est levé avec cette nouvelle version. L’ajout de mémoire vive (jusqu’à 4 Gio), ainsi que la possibilité de brancher deux écrans via les deux ports mini‐HDMI, font de cette plate‐forme un outil tout à fait adapté à un usage de bureautique classique, courriel, LibreOffice, navigateur Internet. On peut noter que dans cette gamme de prix, il existe les cartes ROCK64pro et Odroid, qui permettent d’avoir accès à une très large palette de systèmes d’exploitation, ce qui en fait un choix très intéressant pour la bureautique. Il est cependant important de noter que la plupart des utilisateurs de bureautique aimeront avoir une solution plus finalisée, avec un boitier. Il existe donc un nombre très important de boîtiers pour les Raspberry Pi 1, 2 et 3, et on en trouve de plus en plus pour la 4 (The Pi Hut). Il ne fait pas de doute que des initiatives viendront créer de nouveaux boîtiers permettant de tirer pleinement parti des possibilités de cette carte.
Le choix du boîtier doit être fait en tenant compte de la dissipation de chaleur qui, sans être globalement importante, est concentrée sur quelques circuits. Le taux de panne des Raspberry fonctionnant dans une ambiance chaude n’est pas négligeable. C’est pour cela que l’on trouve actuellement des solutions allant de petits radiateurs à coller sur les circuits à des boîtiers‐radiateurs en contact avec les circuits intégrés. Certains sont même équipés d’un ou deux ventilateurs.
De manière générale, l’ensemble des cartes ARM ayant au moins 2 Gio de mémoire vive et étant compatible avec une distribution GNU/Linux pour ARM permettra de faire de la bureautique de manière satisfaisante. En revanche, il n’existe pas de boîtier pour toutes les cartes.
Avant de passer aux autres usages, il est nécessaire d’expliquer les différences matérielles entre ces cartes et les machines PC compatibles. La section suivante présente les spécificités matérielles ainsi que les pièges à éviter pour pouvoir profiter des usages plus complexes que la navigation Web.
Les systèmes monopuces (system on chip — SoC) destinés aux téléphones et aux ordinateurs à carte unique disposent généralement d’une unité de traitement graphique (GPU) initialement utilisée dans les jeux vidéo, les applications 3D (CAO, animation), mais aussi utilisée dans la majorité des environnements de bureau modernes pour les effets visuels. Mais il est aussi nécessaire de pouvoir décoder matériellement les flux vidéo via une unité spécialisée (VPU), car les processeurs ne sont souvent pas assez puissants pour le faire. De plus, ces cartes pouvant interagir avec le monde physique, comme présenté dans la section « Électronique, robotique, Internet des objets », il faut aussi être en mesure d’avoir accès aux entrées‐sorties.
Les périphériques sont connectés au processeur principal via un bus. Certains protocoles de bus supportent l’énumération (aussi appelée découverte), c’est‐à‐dire que le processeur central peut demander « quels dispositifs sont connectés à ce bus » et les dispositifs répondent avec des informations sur leurs type, fabricant, modèle et configuration dans un format standardisé. Avec ces informations, le système d’exploitation peut rapporter la liste des périphériques disponibles et décider quel pilote de périphérique utiliser pour chacun d’entre eux. Certains protocoles de bus ne prennent pas en charge l’énumération, et le processeur principal n’a aucun moyen de savoir quels périphériques sont connectés, à part deviner.
Tous les bus PC modernes prennent en charge l’énumération, en particulier PCI (l’original ainsi que ses extensions et successeurs, tels que AGP et PCIe), sur lequel la plupart des périphériques internes sont connectés, USB (toutes versions), sur lequel la plupart des périphériques externes sont connectés, ainsi que FireWire, SCSI, toutes les versions modernes de ATA/SATA, etc. Les connexions de moniteur modernes permettent également de découvrir le moniteur connecté (HDMI, DisplayPort, DVI, VGA avec EDID). Ainsi, sur un PC, le système d’exploitation peut reconnaître les périphériques connectés en énumérant le bus PCI, et en énumérant le bus USB quand il trouve un contrôleur USB sur le bus PCI, etc. Notez que le système d’exploitation doit supposer l’existence du bus PCI et la manière de le sonder ; ceci est standardisé sur l’architecture du PC (« architecture PC » ne signifie pas seulement un processeur x86 : pour être un PC (moderne), un ordinateur doit aussi avoir un bus PCI et doit démarrer d’une certaine manière).
De nombreux systèmes embarqués utilisent des bus moins sophistiqués qui ne prennent pas en charge l’énumération. C’était vrai sur PC jusqu’au milieu des années 1990, avant que le PCI ne dépasse l’ISA. La plupart des systèmes ARM, en particulier, ont des bus qui ne gèrent pas l’énumération. C’est également le cas de certains systèmes x86 embarqués qui ne suivent pas l’architecture PC. Sans énumération, le système d’exploitation doit savoir quels périphériques sont présents et comment y accéder. L’arborescence de périphériques (Device Tree) est un format standard pour représenter ces informations.
La principale raison pour laquelle les bus PC prennent en charge la découverte est qu’ils sont conçus pour permettre une architecture modulaire dans laquelle des périphériques peuvent être ajoutés et supprimés, par exemple en ajoutant une carte d’extension dans un PC ou en connectant un câble sur un port externe. Les systèmes embarqués ont généralement un ensemble fixe de dispositifs et un système d’exploitation préchargé par le fabricant et qui n’est pas remplacé, de sorte qu’il n’est pas nécessaire de procéder à un dénombrement.
Si vous souhaitez aller plus loin dans la compréhension de la construction d’un système d’exploitation sur des systèmes monopuces, François Mocq a écrit un billet permettant de comprendre comment cela fonctionne.
La principale conséquence de cette différence entre PC et ordinateur à carte unique est que, si le concepteur d’un appareil décide que son produit n’est destiné qu’à un usage précis et non pas une utilisation plus large, il sera alors très compliqué de faire fonctionner l’ensemble du matériel pour un usage autre que celui prévu initialement. On peut prendre l’exemple des boîtiers Android TV, disponibles à des prix attractifs, ayant des performances équivalentes voire meilleures que le Raspberry Pi 4 telle que le H96 Max. Pour être capable de l’utiliser avec une distribution GNU/Linux, il faudra jouer avec des images venant de vendeurs de SBC tels que Orange Pi ou PINE64 et des développements communautaires comme Linux-Sunxi, mais il sera très difficile d’avoir accès à tous les périphériques, car des éléments du Device Tree seront manquants. On voit donc que ce manque d’accès aux sources de ces boîtiers handicape fortement la réutilisation de ce type de matériel.
Ce problème touche malheureusement également les ordinateurs à carte unique. Il n’est que très rarement spécifié si le matériel présent est utilisable. La plupart du temps, des images Android et GNU/Linux (Ubuntu pour la plupart) sont fournies, et si l’image Android permet d’exploiter la partie graphique, c’est souvent plus compliqué avec la distribution GNU/Linux (d’autant plus si l’on souhaite la garder à jour).
Il n’est, en revanche, quasiment jamais spécifié si les entrées‐sorties sont disponibles et comment elles le sont. Par exemple dans la section « Électronique, robotique, Internet des objets », des bibliothèques sont citées, mais elles ne sont disponibles que pour très peu de cartes.
Il faut donc comprendre qu’entre les fonctionnalités matérielles décrites et leur utilisation, il y a un monde. C’est précisément pour ces raisons qu’un débutant devra toujours s’orienter vers une carte ayant une grande communauté, dans le cas contraire, on rentre dans l’embarqué, et cela nécessite des compétences d’ingénieur dédiées à ce domaine, et cela peut être très décourageant pour les hobbyistes souhaitant faire un petit projet.
Les activités PC modernes nécessitent donc le bon fonctionnement de deux composants périphériques :
Une autre conséquence est l’impossibilité de créer une image du noyau Linux universelle. Pour cela, celle‐ci devrait reconnaître sur quelle machine elle tourne. Or, sans moyen standard, il y a une forte probabilité de « casser » la puce (par exemple, en jouant sur des registres de commande d’horloge).
Il n’existe ainsi aucun noyau Linux ARM qui démarre partout, à l’inverse d’un noyau Linux x86 classique. C’est d’ailleurs incompréhensible qu’ARM ne garantisse même pas un fonctionnement minimal (amorçage + un UART + une horloge temps réel, et sans doute une configuration « correcte » de la mémoire vive) pour tester plus facilement une nouvelle puce, certains fabricants le proposent (par exemple le FEL mode d’Allwinner) mais ce n’est pas universel.
Bien qu’il soit possible d’utiliser une distribution GNU/Linux en utilisant le processeur pour l’affichage, la prise en charge de Mesa 3D n’est pas disponible pour tous les processeurs graphiques, ce qui oblige à repasser par LLVMpipe, et donc le processeur, pour l’affichage. Lorsque les pilotes Mesa 3D ne sont pas disponibles, les environnements de bureau ne sont pas accélérés par le processeur graphique, il faut donc utiliser des environnements légers. Les processeurs Videocore IV/VI ont des pilotes disponibles directement sur Raspbian, les environnements de bureau traditionnels peuvent donc pleinement utiliser le processeur graphique.
Pour les processeurs graphiques utilisant les puces Mali (quasiment tous les autres systèmes monopuces ARM), c’est plus compliqué.
Il existe des pilotes libres pour la couche noyau, mais les pilotes pour l’espace utilisateur ne sont pas libres et donc livrés sous forme de binaires.
Chaque pilote binaire est conçu pour une combinaison spécifique de système de d’exploitation (GNU/Linux ou Android), de plate‐forme matérielle, de génération de circuit graphique (4x0/T6x0/T7x0) et de technologie graphique (fbdev, X Window, Wayland ou SurfaceFlinger d’Android). Les plates‐formes sont parfois abandonnées, vous devrez donc peut‐être choisir une version plus ancienne pour obtenir un pilote qui fonctionnera sur un matériel plus ancien.
Un pilote binaire devrait fonctionner avec un pilote du noyau publié en même temps, et jusqu’à quatre versions antérieures. Le pilote binaire vérifie la version de l’API du pilote du noyau au démarrage.
ARM a abandonné le prise en charge de X Window dans ses versions postérieures à X11 version 16 (janvier 2017). C’est pénible, car c’est encore très utilisé. Seuls Wayland, fbdev et SurfaceFlinger sont aujourd’hui pris en charge.
Cependant, tout n’est pas si sombre car la version 5.2 du noyau contient maintenant par défaut les pilotes libres compatibles avec ces processeurs. Ces pilotes ont été obtenus par rétro‐ingénierie, ils ne sont pas considérés comme étant stables. Mais ils permettent de faire fonctionner une grande palette de cartes sans avoir à galérer à trouver les bonnes versions du noyau pour le matériel à disposition. Le billet de blog de Collabora du 5 août, montre d’ailleurs des progrès énormes sur la prise en charge de ces processeurs. Sur le système monopuce RK3399, qui est très populaire aujourd’hui, les environnements graphiques, GNOME Shell et Plasma sont maintenant compatibles par défaut. Il est donc possible de faire fonctionner KDE et GNOME sur ce type de matériel en n’utilisant que des logiciels libres !
Pour les nombreux appareils moins récents ou plus modestes à base des vénérables circuits graphiques Mali4*0 (génération Utgard), le pilote libre tant attendu nommé Lima est lui aussi en bonne voie.
Plus les cartes ont des processeurs rapides et puissants, et plus le dégagement thermique est important. Si les précédentes versions de Raspberry Pi permettaient de ne pas trop se soucier de la dissipation pour la plupart des cas d’usage, la dernière version nécessite de travailler ce sujet. C’est d’ailleurs tout aussi vrai pour les cartes ARM puissantes, comme les Odroid qui nécessitent un dissipateur thermique pour pouvoir fonctionner de manière optimale.
Un point intéressant est que, si ces cartes ne sont pas refroidies correctement, il n’y a pas de danger particulier mais en revanche un abaissement automatique de la fréquence des processeurs (throttling) est activé. Afin d’obtenir des performances optimales, il convient donc de traiter ce problème. Cela peut se faire directement sur la carte avec un refroidissement actif de type « ventirad », mais également par une dissipation passive sur la carte ou via un boîtier en aluminium faisant contact avec le processeur. Phronix a fait des tests avec ventilateur, « ventirad » et boîtier de dissipation passive, et seules les deux dernières options permettent de ne jamais activer l’abaissement de fréquence.
L’usage multimédia fait partie des usages les plus problématiques de ces cartes. La Raspberry Pi 3B+ n’est clairement pas taillée pour les plus exigeants ou pour l’avenir proche, car elle n’est pas capable de gérer des flux 4K en décodage matériel, ce qui ne permet pas l’utilisation des vidéos 4K. De plus, s’il est possible d’avoir des performances acceptables jusqu’en 1080p pour le codec H.264, cela ne peut se faire qu’au travers du logiciel OMXPlayer. Une version de VLC, prenant en compte le décodage matériel du videocore IV, a été publiée en novembre 2018 ; elle semble donner satisfaction à ses utilisateurs.
Bien que l’on puisse se dire que cela peut toujours être intéressant, il est possible de trouver des solutions toutes prêtes pour le multimédia pour moins de 30 € qui se basent sur Android.
À l’instar des solutions pour l’Internet des objets, la question du suivi logiciel et, intrinsèquement de la sécurité, va se poser si l’objectif est aussi de relier l’appareil à Internet, ainsi que la question de la protection des données personnelles et du « Bigdata ».
Si le but recherché est donc uniquement le multimédia, la question de l’utilisation d’une Raspberry Pi ne se pose pas, celle‐ci n’est pas intéressante. Si l’on souhaite en revanche avoir une solution GNU/Linux non Android, la version 4 avec au moins 2 Gio de mémoire vive est une solution très pertinente. Il faudra néanmoins s’armer de patience, car la prise en compte de l’accélération matérielle par les distributions dédiées nécessite encore de la mise au point.
Si l’on compare à la ROCKPro64 précédemment présentée dans la section bureautique, il semble que les versions des logiciels de lecture vidéo tels que mpv ou VLC par défaut, ne sont pas compilées avec l’accélération matérielle, il faut donc le faire manuellement. Ce n’est clairement pas un bon point pour cette carte. Les cartes de chez Odroid sont, elles, livrées avec des lecteurs permettant d’exploiter l’accélération matérielle pour le décodage, mais pas forcément VLC ou mpv. Il est cependant à noter que le travail de PINE64 autour de la création d’un téléphone et d’un ordinateur portable basés sur l’architecture de la ROCKPro64 les a conduits à travailler à mettre en place l’ensemble des briques applicatives libres pour une utilisation optimale. Il est très probable que l’ensemble des développements faits pour le portable et le téléphone mobile conduise à une distribution dédiée qui bénéficiera également à la carte ROCKPro64. Les développements faits par PINE64 mériteraient une dépêche à eux seuls.
Il existe une autre entreprise qui semble donner satisfaction à un grand nombre d’utilisateurs : Hardkernel, qui produit les Odroid. Dans les cartes permettant de bonnes performances en multimédia on notera la XU4 et la N2, la N2 étant plus performante. Il est à noter que ces cartes coûtent souvent plus cher que le prix affiché, du fait des frais de douane. Les revendeurs européens sont bien plus chers. La carte N2 est livrée avec une Ubuntu 18.04 ainsi que tous les pilotes graphiques et accélérateurs permettant les jeux 3D et la lecture de vidéos 4K H.265. Si elle avait de réels arguments à sa sortie, sa faible disponibilité en Europe, couplée à une équivalence en termes de VPU, la rend aujourd’hui moins intéressante face à la Raspberry Pi 4. Peut‐être que l’utilisation d’un processeur graphique Mali permettra de faire une différence sur la partie retrogaming, pour les jeux 3D, mais on ne peut pas le savoir aujourd’hui, car il n’existe pas de comparatifs exhaustifs.
Il existe aussi des alternatives plus chères à base de processeurs X86-64, telles que les cartes UDOO X66 Ⅱ dont le prix de base commence à 174 €. Comme ces cartes utilisent des processeurs d’ordinateurs portables, elles n’autorisent pas l’accès aux GPIO, ainsi elles ajoutent des processeurs d’Arduino pour permettre l’interaction avec le monde extérieur. Cette carte est basée sur un Accelerated processing unit Intel N3160 (circuit graphique Intel HD 400, dont les performances ne sont pas transcendantes). Elles n’auront cependant aucune difficulté à faire ce que font toutes les cartes ARM en termes de bureautiques multimédia et jeu, mais pour un prix deux à trois fois supérieur. Mais, comme l’ensemble de la chaîne logicielle est libre (circuit graphique Intel, Arduino Leonardo), il est facile de mettre à jour la distribution, ce qui évite à coup sûr l’obsolescence qui peut faire peur sur des cartes ARM. À noter également qu’UDOO vient de basculer chez AMD avec sa plate‐forme embarquée APU Ryzen V1000 qui, avec le processeur graphique Vega, a des performances graphiques bien supérieures à celles que l’on peut trouver sur les processeurs graphiques Intel HD. UDOO a financé ses développements sur une campagne KickStarter et entre en phase de production.
Lorsque l’on commence à vouloir faire un serveur multimédia, il est souvent envisagé d’utiliser des distributions dédiées. Il existe plusieurs distributions spécialisées comme LibreElec, OpenElec et OSMC. Cette dernière ayant un magasin d’applications, ou app store, pour rajouter des greffons (plug‐ins). Ces distributions sont basées sur le gestionnaire multimédia Kodi. Il est possible de l’installer directement depuis Raspbian, mais aussi de l’avoir directement dans EmulationStation via RetroPie, Recalbox ou batocera.linux. Si l’on ne veut faire que du multimédia, alors ces distributions spécialisées sont à préférer, car elles optimisent au mieux la gestion des ressources.
La carte Raspberry Pi 4 n’est, en revanche, pas du tout prévue pour l’audio par défaut. Bien qu’il soit possible d’installer des HAT dédiés, la sortie par défaut est un modulateur de largeur d’impulsions (PWM) filtré qui ne satisfera pas grand monde, et il n’y a pas du tout d’entrée son (contrairement à ce que la concurrence propose, parfois depuis longtemps à la vue des cartes et appareils basés sur un Allwinner A10 ou A20).
Après, il semble nécessaire de relativiser. Car que ce soit avec des ordinateurs monocartes ou même avec des cartes‐mères de PC, les gens exigeants quant à la qualité sonore privilégieront des convertisseurs numérique‐analogique (DAC) ou analogique‐numérique (ADC) externes connectés via l’USB ou les différents protocoles de communication accessibles via les GPIO. Il est simplement regrettable de ne pouvoir se reposer sur l’implémentation par défaut que dans de très rares occasions.
Avec ses GPIO, ses ports USB et la sortie audio via HDMI, cela reste tout de même un outil facilitant la création de matériel Hi‐Fi connecté. Ainsi, on trouve beaucoup d’exemples de matériel audio à faire soi‐même (DIY) conçus à partir de Raspberry Pi. J’ai trouvé que ce projet, assez didactique, méritant d’être mentionné.
Bien que l’émulation de jeux vidéo soit un sujet complexe quant à sa légalité, il a permis à des jeunes générations de découvrir les jeux de leurs parents (voire de leurs grands‐parents). Présenter ici les techniques d’émulation conduirait à un exposé bien trop long, il est cependant évident qu’émuler une Wii ou une NES ne demandera pas les mêmes performances. Jusqu’ici la Raspberry Pi pouvait émuler l’ensemble des consoles 8 bits, la PlayStation et parfois quelques jeux de consoles plus récentes. Bien que la version 4 soit plus puissante, il n’est pas du tout certain que l’ensemble des jeux des consoles telles que la Nintendo 64 ou la DreamCast (naomi/atomisware) soit émulé de manière fluide, mais il y a déjà eu des tests montrant des résultats intéressants sur ces consoles.
Pour accéder à l’émulation avec ce genre de cartes, il est possible d’installer RetroPie, qui permet d’aller chercher l’ensemble des dépôts de Libretro et de compiler les logiciels pour les rendre disponibles dans le superviseur EmulationStation. C’est un processus très long, car la compilation des différents émulateurs est gourmande même sur un PC X86-64. Il est également possible d’installer des distributions prévues pour l’émulation telles que Recalbox, ou batocera.linux. Il est évident que les solutions à base d’APU X86-64 présentées dans la section multimédia, seront plus performantes que les solutions ARM, mais la gamme de prix n’est pas du tout la même.
C’est, pour moi, le point qui a fait de cette carte un succès, voire une révolution. Nous avions déjà vécu la révolution Arduino, qui permet, avec un EDI simplifiant l’édition de code source, la compilation et le téléversement vers le microcontrôleur, de mettre à la disposition de personnes non expertes en informatique embarquée, une solution permettant de contrôler des actionneurs et de mesurer à l’aide de capteurs pour ainsi créer un environnement idéal pour le DIY et l’Internet des objets. Cependant, bien que faire des petits projets soit assez simple, dès que l’on veut faire des projets plus élaborés, cela se complique sérieusement. Ces microcontrôleurs étant monocœurs, il n’est pas forcément possible de simplement définir plusieurs tâches. Il existe des bibliothèques pour simplifier l’utilisation, mais il y a beaucoup de fonctions bloquantes qui rendront les choses complexes. De plus, ces cartes n’ont pas une très grande puissance de calcul et des capacités mémoire restreintes ; on peut donc atteindre leurs limites bien plus rapidement. Elles ont, en revanche, l’avantage d’être totalement préemptives. Si l’on accepte que la criticité des tâches à effectuer n’est pas élevée, alors le fait de perdre le temps réel (l’aspect préemptif) par l’utilisation d’un noyau Linux rend la carte Raspberry Pi excellente pour le prototypage et l’interaction avec le monde réel.
Tout d’abord, contrairement à l’écosystème Arduino où la programmation se fait en C++, une très grande partie des ressources pédagogiques autour de la gestion des GPIO avec la Raspberry Pi se fait en Python grâce à la bibliothèque RPi.GPIO. Ainsi, changer périodiquement l’état d’une sortie numérique est aussi simple que :
import RPi.GPIO as GPIO # importation du module RPi.GPIO
from time import sleep # importation de la fonction sleep
GPIO.setmode(GPIO.BCM) # choix BCM or BOARD
GPIO.setup(24, GPIO.OUT) # régler GPIO24 comme sortie
try:
while True:
GPIO.output(24, 1) # régler GPIO24 to 1/GPIO.HIGH/True
sleep(0.5) # Attendre une demi‐seconde
GPIO.output(24, 0) # régler GPIO24 à 0/GPIO.LOW/False
sleep(0.5) # Attendre une demi-seconde
except KeyboardInterrupt: # Inteception de l’interruption de clavier CTRL+C
GPIO.cleanup()
L’approche de RPi.GPIO est très proche du matériel, il n’y a quasiment pas d’abstraction, elle est donc extrêmement intéressante d’un point de vue pédagogique, mais nécessite de solides connaissances pour l’utiliser efficacement.
En tant que mécanicien, je dois trouver des solutions pour réaliser des tâches de mouvement (mon travail consiste plutôt dans la destruction de la matière par le mouvement), j’étudie donc souvent comment faire pour réussir à trouver des solutions pas chères pour faire ces tâches de mouvement. Aujourd’hui, les actionneurs les moins chers sont les moteurs pas à pas. Leur électronique de commande impose d’envoyer un train de créneaux dont la fréquence définira le nombre de pas par seconde. Des outils dédiés existent, car ils sont aussi utilisés pour la motorisation des imprimantes 3D, mais si l’on veut le faire avec une Raspberry Pi, il y a évidemment une bibliothèque pour cela.
La bibliothèque GPIO Zero permet de réaliser une quantité énorme d’opérations sur les GPIO, contrairement à la bibliothèque RPi.GPIO, qui permet d’écrire du code qui traite des broches et de l’état des broches. GPIO Zero fait généralement référence à des périphériques comme des diodes électroluminescentes (LED) ou des boutons plutôt qu’aux broches d’entrée et de sortie.
GPIO Zero fournit des classes qui représentent les périphériques, donc au lieu d’avoir un numéro de broche et de lui dire d’activer la sortie numérique, vous avez une LED et vous lui dites de s’allumer et, au lieu d’avoir un numéro de broche et de demander si elle est allumée ou éteinte, vous avez un bouton et demandez s’il est pressé.
Cette bibliothèque permet notamment de piloter directement un moteur depuis la Raspberry Pi :
import time
import sys
from gpiozero import OutputDevice as stepper
IN1 = stepper(12)
IN2 = stepper(16)
IN3 = stepper(20)
IN4 = stepper(21)
stepPins = [IN1,IN2,IN3,IN4] # Motor GPIO pins</p><p>
stepDir = -1 # Set to 1 for clockwise
# Set to -1 for anti-clockwise
mode = 1 # mode = 1: Low Speed ==> Higher Power
# mode = 0: High Speed ==> Lower Power
if mode: # Low Speed ==> High Power
seq = [[1,0,0,1], # Define step sequence as shown in manufacturers datasheet
[1,0,0,0],
[1,1,0,0],
[0,1,0,0],
[0,1,1,0],
[0,0,1,0],
[0,0,1,1],
[0,0,0,1]]
else: # High Speed ==> Low Power
seq = [[1,0,0,0], # Define step sequence as shown in manufacturers datasheet
[0,1,0,0],
[0,0,1,0],
[0,0,0,1]]
stepCount = len(seq)
if len(sys.argv)>1: # Read wait time from command line
waitTime = int(sys.argv[1])/float(1000)
else:
waitTime = 0.004 # 2 miliseconds was the maximun speed got on my tests
stepCounter = 0
while True: # Start main loop
for pin in range(0,4):
xPin=stepPins[pin] # Get GPIO
if seq[stepCounter][pin]!=0:
xPin.on()
else:
xPin.off()
stepCounter += stepDir
if (stepCounter >= stepCount):
stepCounter = 0
if (stepCounter < 0):
stepCounter = stepCount+stepDir
time.sleep(waitTime) # Wait before moving on
Trouvé sur instructables.com.
Un point vraiment intéressant pour la nouvelle Raspberry Pi est qu’il y a eu une nette amélioration de la vitesse de commutation des entrées‐sorties. La figure ci‐dessous montre l’évolution de la vitesse de commutation d’une sortie numérique :
On constate une augmentation d’un facteur 3, qui est très probablement due à l’utilisation de nouveaux cœurs ARM. Il est clair que lorsque l’on veut faire des projets qui nécessitent plusieurs capteurs, alors avoir une commutation plus rapide est un avantage certain.
Bien que la bibliothèque GPIO Zero permette de faire beaucoup, elle ne s’occupe pas de l’I²C et du SPI. Afin de permettre au plus grand nombre de facilement utiliser des capteurs, Adafruit a développé une bibliothèque appelée Blinka qui permet de faire fonctionner l’ensemble des capteurs et actionneurs qu’il a développés pour ses cartes fonctionnant sous CircuitPython (interpréteur Python pour microcontrôleur, simplifiant grandement la programmation). L’ensemble des capteurs et actionneurs disponibles pour sur Adafruit est très important, ce qui peut grandement réduire le coût de développement d’un prototype !
Pour utiliser des convertisseurs analogiques‐numériques, il existe des cartes filles comme celle de WaveShare présentée ci‐dessous :

Mais il est possible d’en utiliser de beaucoup moins chers, l’avantage de la Raspberry, c’est que l’on a directement accès aux GPIO, et l’avantage de l’Adafruit, c’est qu’il y a un pont avec CircuitPython.
Quand elles sont équipées d’une connectique réseau et de stockage suffisant, les cartes ARM peuvent aussi faire des serveurs domestiques intéressants de par leur faible consommation électrique.
Une carte à base de système monopuce A20 (OLinuXino MICRO, Banana Pi M1) suffit à synchroniser les contacts, les agendas et les fichiers de tablettes et smartphones familiaux avec un ordinateur de sauvegarde en utilisant ownCloud (et certainement Nextcloud — non testé). Pour un vrai cloud familial entre ordinateurs avec le même logiciel, un système monopuce un peu plus puissant, comme le R40 (Banana Pi M2U) s’en sort sans latence sensible. Même l’interface Web plutôt lourde pour le A20 passe ici très correctement.
Certaines cartes disposant d’Ethernet Gigabit et de plusieurs ports SATA, comme la Banana Pi R2, la Marvell Expressobin ou la ROCKPro64, avec sa carte d’extension SATA, permettent de faire un serveur de stockage en réseau (NAS) avec RAID logiciel.
Enfin, des logiciels de supervision comme Munin ou Zabbix (Nagios non testé) sont tout à fait utilisables pour surveiller un petit réseau local, du moment que le nombre de machines n’est pas trop élevé.
Commentaires : voir le flux atom ouvrir dans le navigateur
La taxe d’habitation, principale ressource fiscale de la commune, fait l’objet d’une réforme dont les premiers effets interviendront dès cet automne sur la plupart des avis d’imposition envoyés par l’administration [...]
L’article Réforme de la taxe d’habitation : 10 questions pour tout comprendre est apparu en premier sur Mougins.
Pas de vacances pour les démagogues, qui profitent toujours du calme de l’actualité politique pour exercer leur passion : montrer leur tête à la télé.
Dans ce rôle où pourtant il ne nous avait pas trop habitué se trouve Thierry Solère, qui a fait usage du droit que lui donne sa fonction de député pour aller visiter un établissement pénitentiaire, ce qui est sur le principe une excellente idée. Il a opté pour Fleury-Mérogis, ce qui en est une meilleure encore, tant la situation du plus grand centre pénitentiaire d’Europe est préoccupante, quand bien même une longue période de travaux vient de s’achever qui a donné une nouvelle jeunesse à cette prison qui en avait bien besoin, du fait de son taux d’occupation. De fait, ce gouvernement, présenté de manière pavlovienne comme laxiste, détient le record du nombre de personnes détenues. Mais personne n’a jamais accusé l’opposition de nourrir une passion dévorante pour les faits.
Comme c’était prévisible, il en est sorti indigné. Hélas pas pour ce qu’on aurait pu croire, c’est le sort d’UN détenu parmi les 4000 (pour 2855 places) qui l’a ému, et parce que ses conditions de détention serait, on a du mal à le croire en l’écrivant, trop bonnes. Tout s’explique par la personne du détenu en question, Salah Abdeslam, suspecté d’avoir pris part à l’organisation et à la commission des attentats du 13 novembre dernier[1].
Fleurant le bon coup médiatique et ne voulant laisser à personne d’autre le soin de dire des âneries dans un micro, Éric Ciotti a sauté sur l’occasion pour s’indigner encore plus fort. Il faut dire qu’il joue sur du velours : l’horreur qui nous a saisis lors de ces attentats n’a pas disparu, et la colère qui nous habite peut aisément inhiber notre Raison, et Éric Ciotti doit son élection au fait que la première prend si aisément le pas sur la seconde.
Que nous vaut ce grand numéro d’ire de l’alopécique de la Baie des Anges et de l’hirsute des Hauts-de-Seine ? Le fait que Salah Abdeslam jouirait d’une salle de sport à son usage exclusif, aménagée dans une cellule de son quartier d’isolement, alors même que, comme on l’a vu, la maison d’arrêt est pleine à craquer. Taubira démission. Ah non zut c’est déjà fait.
Passons sur le fait que cette préoccupation des conditions de détention des autres détenus, dans la partie surpeuplée de la prison, est ce qu’on appelle un sentiment soudain. Il n’est jamais trop tard pour se préoccuper de ces choses-là même si je redoute que cette attention ne soit qu’éphémère. Voyons les raisons (non ce n’est pas un gros mot) qui ont poussé l’administration pénitentiaire à prendre ces dispositions, et profitons-en pour examiner les conditions de détention réelles de M. Abdeslam. Comme le rappelle Judge Marie dans son très bon billet sur la question, écrit du point de vue d’un magistrat, « ce qu’il subit, ce qu’on lui accorde, c’est dans notre intérêt à tous bien plus que dans le sien ».
Salah Abdeslam n’est pas un détenu comme les autres. C’est une évidence, me direz-vous, mais visiblement pas pour MM. Solère et Ciotti. C’est pourtant un premier indice qui pourrait expliquer son régime de détention exorbitant, et certainement pas favorable. Salah Abdeslam a été placé, par décision de l’administration pénitentiaire, au régime dit de l’isolement. On parle donc d’isolement administratif, car décidé par l’administration, par opposition à l’isolement sollicité par le détenu lui-même, qui est levé à sa demande. L’isolement est un régime qui implique que le détenu soit complètement coupé du reste de la population carcérale. Les promenades ont lieu dans des cours dédiées (de 8m sur 3,50 m à Fleury, source CGLPL), entièrement ceintes de murs et recouvertes d’un grillage) où le détenu est seul, et toute activité de type bibliothèque ou culte a lieu à des heures où les autres détenus n’ont pas accès à ces lieux. Dans le cas de Salah Abdeslam, l’administration pénitentiaire, craignant une évasion, un suicide (ce qui est pour elle une variante de l’évasion) ou une agression, a décidé d’un régime renforcé, avec surveillance 24h/24 par des caméras, et surtout de ne jamais l’emmener dans des endroits fréquentés par des autres détenus, de crainte que des messages ne soient transmis (un papier plié et dissimulé, ou le simple déplacement d’objets peuvent constituer un code, les détenus ne manquent pas d’imagination, il faut dire qu’on leur laisse beaucoup de temps libre pour réfléchir à ça).
Je vous laisse méditer un moment sur ce point : Salah Abdeslam ne voit personne d’autre que les surveillants, qui ont pour consigne de ne pas engager de dialogue avec lui. Et ce tous les jours. Réjouissez-vous si vous avez un tempérament de tortionnaire qui ne demande qu’un alibi pour s’exprimer fièrement, mais convenez en tout état de cause que ce n’est pas un traitement de faveur, loin de là.
Cet isolement absolu interdit que les cellules voisines soient occupées ; de fait, qu’aucune cellule à portée de vue ou d’oreille ne soit occupée par un autre détenu, sous peine de perdre toute efficacité. Il est donc seul dans son couloir, là encore, pas pour son confort personnel. Une des cellules a été aménagée pour la surveillance vidéo. C’est là que se trouvent les moniteurs de contrôle et qu’un fonctionnaire les surveille 24 heures sur 24. M. Ciotti, ardent partisan de la viséosurveillance, se plaindra sans doute qu’on veille trop à sa sécurité.
Reste donc le scandale de la salle de sport. Ladite salle de sport est en fait une des cellules inoccupées dans laquelle a été posé… un rameur. Un rameur, c’est tout, même si un autre équipement, pas encore précisé, est annoncé (je suppute un tapis de course). Pour vous donner une idée de ce dont on parle, voici la photo de l’espace aménagé au sein de l’unité dédiée aux détenus radicalisés de la prison d’Osny.
Et pourquoi donc ce déballage ostentatoire d’équipements somptuaires ? Parce que c’est la loi. La loi prévoit une obligation d’activité (ne vous laissez pas abuser par le terme de condamné, ce droit s’applique à toute personne détenue), pas un droit à une activité, une obligation, activité fixée par le directeur d’établissement, et qui doit viser à la réinsertion du détenu. Si le détenu ne maitrise pas le français ou est illettré, ce sera prioritairement un enseignement de la langue. Sinon, une gamme d’activités est offerte, dont des activités sportives, plusieurs fédérations ayant signé un partenariat avec l’administration pénitentiaire, dont des fédérations de sports de combat tels que le karaté et la boxe française savate. Pourvu que M. Ciotti ne l’apprenne jamais. La direction, tenue de lui proposer une activité, a donc eu recours à la plus simple à mettre en place et qui ne supposait pas de contact avec un tiers : le sport.
Au-delà de cette obligation légale, permettre à un détenu confiné à ce point une activité est indispensable, pour des raisons de santé tout simplement. Et oui sa santé compte, tout simplement si on veut qu’il soit physiquement présent à son procès (les autorités ont une trouille bleue d’un éventuel suicide). Il faut avoir un schéma mental sacrément déficient pour considérer un rameur dans un cagibi comme une faveur. Sa mise à disposition exclusive est due à des motifs de sécurité, comme on l’a vu, pas de convenance personnelle (je suis persuadé que Salah Abdeslam ne demande qu’une chose, à part être remis en liberté, c’est être mélangé aux autres détenus). Et lui refuser toute activité physique au point de voir sa santé physique se dégrader lentement, outre le fait que cela entrainerait des frais de prise en charge médicale bien plus élevés qu’un rameur, aboutirait immanquablement à la condamnation de l’État pour traitements inhumains ou dégradants (l’avocat de M. Abdeslam est particulièrement vigilant aux droits de son client, hommage lui soit rendu). En tant que contribuable, avez-vous envie de voir l’argent de l’État finir dans la poche de M. Abdeslam, juste pour le plaisir de le priver d’un rameur, outre l’humiliation de la condamnation ?
Si malgré cela vous vous indignez encore qu’on traite humainement quelqu’un que l’on soupçonne d’avoir participé à un crime si terrible, je vous rappelle que c’est précisément ce qui nous distingue de nos ennemis autoproclamés. Nous refusons de maltraiter nos ennemis, non pas parce que nous n’avons pas encore trouvé de fin assez noble qui le justifie, mais parce que, en toute circonstance, la méthode est contraire à nos valeurs. Si cela vous répugne, alors vous êtes plus proche d’eux que vous ne le soupçonnez.
Ah et un dernier mot pour ceux qui invoquent les victimes ou leur famille pour dire qu’il n’a pas à se plaindre de quoi que ce soit. Vous insultez les victimes et leur famille en les invoquant pour justifier un traitement inhumain sur quelqu’un qui ne vous a rien fait à vous. Vous en faites sans la moindre honte des alibis à votre perversité. Vous devriez être député.
[1] Précision de vocabulaire à l’attention des lecteurs toujours prêts à porter atteinte à l’honneur d’un diptère : j’emploie le terme “suspecté” car le terme “accusé” à ce stade est impropre, puisque la mise en accusation formelle n’a pas encore eu lieu ; la loi m’interdit de le présenter comme coupable tant qu’il fait l’objet de cette instruction, le terme “inculpé” est désuet depuis 1993, le terme soupçonné étant plus approprié au stade de l’enquête de police préalable à la mise en examen, et le terme “présumé” étant réservé au mauvais journalisme ; donc ce sera suspecté.
It might seem like the GIF format is the best we’ll ever see in terms of simple animations. It’s a quite interesting format, but it doesn’t come without its downsides: quite old LZW-based compression, a limited color palette, and no support for using old image data in new locations.
Two competing specifications for animations were developed: APNG and MNG. The two camps have fought wildly and we’ve never gotten a resolution, and different browsers support different formats. So, for the widest range of compatibility, we have just been using GIF… until now.
I have developed a new image format which I’m calling “XNG”, which doesn’t have any of these restrictions, and has the possibility to support more complex features, and works in existing browsers today. It doesn’t require any new features like <canvas> or <video> or any JavaScript libraries at all. In fact, it works without any JavaScript enabled at all. I’ve tested it in both Firefox and Chrome, and it works quite well in either. Just embed it like any other image, e.g. <img src="myanimation.xng">.
It’s magic.
Have a few examples:
I’ve been looking for other examples as well. If you have any cool videos you’d like to see made into XNGs, write a comment and I’ll try to convert it. I wrote out all of these XNG files out by hand.
Over the next few days, I’ll talk a bit more about XNG. I hope all you hackers out there look into it and notice what I’m doing: I think there’s certainly a lot of unexplored ideas in what I’ve developed. We can push this envelope further.
EDIT: Yes, guys, I see all your comments. Sorry, I’ve been busy with other stuff, and haven’t gotten a chance to moderate all of them. I wasn’t ever able to reproduce the bug in Firefox about the image hanging, but Mario Klingemann found a neat trick to get Firefox to behave, and I’ve applied it to all three XNGs above.
Une ordonnance de référé est restée en travers de la gorge de bien des internautes, dont il faut bien l’avouer votre serviteur, mais pas que lui, si j’en juge à l’écho médiatique qu’elle a eu. Voyons un peu les faits en détail, et dans quel cadre procédural cette décision a été prise, car vous allez le voir, c’est une des clefs de sa compréhension.
Au commencement de cette affaire se trouve un blog, Cultur’elle, tenu par une blogueuse signant l’Irrégulière. Blog parlant de la culture au sens large : littérature, expositions, et aussi de temps en temps gastronomie. C’est ainsi qu’un jour notre blogueuse, en visite au Cap Ferret, avisa un restaurant italien et résolut d’y déjeuner avec sa mère. Malheureusement, l’expérience ne fut pas agréable, non pas tant du fait de la cuisine, mais d’un service aux dires de l’Irrégulière particulièrement insuffisant et désagréable. Ainsi narre-t-elle avoir été fort mal accueillie, avoir constaté une désorganisation dans le service de salle qui a conduit à ce que les apéritifs commandés tardent au point d’arriver en même temps que le plat, contraignant à le renvoyer en cuisine, sous peine d’avoir à choisir entre le manger froid ou avec un apéritif anisé qui aurait tué le goût. Après avoir essuyé des remarques acerbes de la chef de salle, elle a fini par pouvoir dîner, non sans essuyer à nouveau des remarques désobligeantes de la patronne au moment de payer l’addition. Bref, deux clientes mécontentes qui ne remettront pas les pieds dans cet établissement, et dont l’une a un blog et décide de faire partager son expérience par un billet intitulé : « L’endroit à éviter au Cap Ferret : … » (suit le nom dudit restaurant, dans lequel elle raconte sur le ton incisif du client mécontent sa soirée ratée dans ce restaurant. Pour les plus curieux, le billet est accessible sur archive.org. Vous pourrez juger sur pièce du ton du billet.
Paru en août 2013, ce billet aurait pu finir oublié dans les limbes du net, mais ce billet a fini, pour des raisons jamais élucidées, et de peu d’importance, par apparaître dans la première page de résultats Google sur une recherche sur le nom de ce restaurant, c’est à dire la seule page qui compte. Des clients et des amis des restaurateurs gérant cet établissement leur ont fait part de cet article, et constatant une diminution de près d’un tiers de leur chiffre d’affaire d’un exercice à l’autre, ont décidé qu’assurément, ce billet en était la seule cause. Ils ont donc décidé d’agir en justice et ont assigné en référé la blogueuse, devant le juge des référés de Bordeaux. Aussitôt, chers lecteurs et très chères lectrices, je lis dans vos yeux trois questions : qu’est-ce qu’un référé, pourquoi à Bordeaux, et que demandait donc les gérants du restaurant ?
Un référé est une décision provisoire obtenue dans l’urgence. Elle ne tranche pas un litige, jamais, mais vise essentiellement à figer une situation dans une configuration acceptable le temps que le litige soit tranché, ce qui prend du temps. Le référé peut aussi être utilisé pour obtenir rapidement l’ordre que soit réalisée une mesure visant à sauvegarder une preuve (typiquement, la désignation d’un expert et la fixation de sa mission, mais ce n’est pas le cas dans notre affaire.
Au civil, le juge des référés peut ainsi prendre deux types de mesures : soit toute mesure justifiée par l’urgence et ne se heurtant à aucune contestation sérieuse, soit même en présence d’une contestation sérieuse, toute mesure conservatoires ou de remise en état qui s’impose, soit pour prévenir un dommage imminent, soit pour faire cesser un trouble manifestement illicite. L’audience de référé se tient devant un juge unique, chacun peut se représenter lui-même, et suit une procédure orale, c’est à dire que toute demande doit être formulée verbalement devant le président. C’est difficile de faire plus simple au niveau procédure.
La particularité d’une ordonnance de référé est qu’elle n’a jamais l’autorité de la chose jugée. Contrairement à un jugement dit au fond, tranchant un litige, qui, une fois les délais de recours expirés ou le dernier recours rejeté devient définitive et intangible, on peut toujours remettre en cause une ordonnance de référé en revenant devant le même juge, sans limite de délai, en lui exposant pourquoi sa décision initiale était mal fondée. Néanmoins, celle-ci étant exécutoire par provision, c’est à dire qu’un recours n’est pas suspensif, elle n’est pas à prendre à la légère.
Cette question est récurrente. En droit, on parle de la compétence territoriale, ou pour frimer, en latin ratione loci, « en raison du lieu ». Le principe est que le tribunal compétent, c’est à dire légalement apte à juger une affaire, est celui du domicile du défendeur. L’idée est que celui qui doit se défendre doit être mieux traité, notamment en ayant moins à se déplacer. Il existe néanmoins des règles alternatives, pouvant laisser un choix au demandeur. Notamment, en matière de responsabilité, le lieu de survenance du dommage peut être aussi. En pénal, c’est le lieu de commission de l’infraction qui détermine toujours la compétence pour juger l’infraction, et c’est le domicile du défendeur qui détermine le juge d’application des peines compétent. Ajoutons à cela qu’en matière de responsabilité du fait d’une publication, que ce soit un journal, une diffusion radiophonique ou télévisuelle, ou sur internet, le dommage ou l’infraction auront eu lieu à tout endroit où la publication pouvait être reçue. C’est ce qui fait que, par exemple, si vous tenez des propos injurieux en raison de la race sur une télévision nationale, vous pouvez être poursuivi à Cayenne même si vous habitez les Ardennes (je dis ça au hasard, hein). C’est là-dessus que se sont fondés les restaurateurs pour ramener le litige en leurs terres si girondes : le dommage qu’ils ont subi est localisé au Cap Ferret, dans le ressort du tribunal de Bordeaux. Donc c’est là que se jugera le procès et non à Orléans où résidait la blogueuse. Ce choix était discutable, mais il n’a pas été discuté.
Toute action en justice doit commencer en portant à la connaissance du défendeur qu’un procès lui est intenté, devant quelle juridiction, quand et pourquoi. Cette règle s’applique dans toutes les procédures, civile, pénale ou administrative, selon des formes adaptées aux particularités de chacune. Au civil, terme qui désigne les actions opposant des particuliers entre eux, que ce soit des personnes physiques (êtres humains exclusivement), ou morales (associations, sociétés, etc), cet acte s’appelle une assignation et doit être portée à votre domicile par un huissier de justice. La lecture de cette assignation révèle ainsi que les restaurateurs imputaient à cet article un dénigrement à leur encontre, dicté par la méchanceté, et ayant eu comme effet la diminution de leur clientèle. En conséquence, ils demandaient au juge des référés d’ordonner à la blogueuse, je cite « de supprimer cet article et d’effectuer les formalités nécessaires afin qu’il ne soit plus diffusé sur internet » (on sent la maîtrise technique, n’est-ce pas ?), de « s’abstenir de réitérer tout forme de dénigrement à l’encontre de l’établissement », et de condamner ladite blogueuse à leur verser une provision sur dommages-intérêts de 2000 euros outre 1500 euros de frais d’avocat. Bref, les restaurateurs voulaient que cet article disparaisse, que cette blogueuse ne dise plus jamais du mal de leur établissement, et leur verse de l’argent. Et c’est à peu de chose près ce qu’ils ont obtenu.
Vous avez, chers lecteurs et très chères lectrices, des yeux décidément très expressifs. À présent, j’y lis que vous vous demandez comment diable le juge des référés est parvenu à un tel résultat. J’y viens.
Il a retenu comme fondement procédural l’article 809 du code de procédure civile, c’est-à-dire son pouvoir d’ordonner toute mesure conservatoires ou de remise en état qui s’impose, soit pour prévenir un dommage imminent, soit pour faire cesser un trouble manifestement illicite, et ce même en présence d’une contestation sérieuse. Comme fondement juridique, il va retenir celui soulevé par les restaurateurs, celui du dénigrement.
Le dénigrement n’est pas défini par la loi. Il relève de la responsabilité civile de droit commun, qui sanctionne toute faute ayant causé un dommage. Le dénigrement s’oppose à la diffamation et l’injure en ce que ces délits visent des personnes, tandis que le dénigrement vise les produits et services. Et curieusement, il est devenu bien plus facile d’attaquer la critique d’un produit que d’une personne, car les règles protectrices du droit de la presse, applicables à l’injure et à la diffamation et à l’injure, notamment la prescription de 3 mois, ne s’appliquent pas au dénigrement, qui peut être poursuivi pendant 5 ans après les faits. Ainsi, les propos désobligeants à l’égard de la serveuse de l’article (qualifiée de harpie) ou de la patronne (mal embouchée et dédaigneuse) ne pouvaient plus être poursuivis, car prescrits (ils auraient pu tomber sous le coup de l’injure). Mais la critique du service, elle, pouvait encore passer sous les fourches caudines du juge.
Le domaine essentiel du dénigrement est celui de la concurrence déloyale. Les tribunaux sanctionnent sans pitié, et à raison, le concurrent qui persifle son concurrent plutôt que proposer un meilleur service à un prix plus attractif. La faute est d’autant plus aisément retenue que son auteur est en situation de concurrence. Faute de ce statut de concurrent, la jurisprudence en la matière est rare, et retient essentiellement l’intention de nuire. À défaut de quoi, il faut caractériser en quoi il y a abus de la liberté d’expression, et la Cour européenne des droits de l’homme est très exigeante là dessus. Les progrès de cette liberté en France ces 20 dernières années grâce à la CEDH sont impressionnants, et convertiraient le plus antieuropéen des nonistes si la réalité leur importait un tant soit peu. Hors l’hypothèse de la concurrence déloyale, le dénigrement peut constituer une faute civile, sachant que le seul fait de critiquer ne saurait être fautif. Il faut une intention de nuire, qui peut se caractériser par une mauvaise foi (les critiques sont fausses ou exagérées volontairement) ou une volonté de vengeance.
D’ailleurs, et c’est là un des premiers points, disons surprenant de cette décision, le juge des référés commence par estimer que ce billet, même s’il est féroce pour le restaurant, relève de la liberté d’expression et n’est pas fautif. Ce qui est une évidence, mais, sans vouloir spoiler, quand on sait comment ça se termine, peut laisser un peu surpris.
C’est sur le titre que va se concentrer le juge, titre qui est rappelons-le « L’endroit à éviter au Cap Ferret : nom du restaurant ». Pour le juge, ce titre « qui pose de manière péremptoire une conclusion univoque sur un incident a pour objet de dicter une conduite d’évitement aux nombreux followers et à tout internaute consultant l’emplacement au nom du restaurant du Cap Ferret. Il est à noter qu’un tel titre est particulièrement apparent non seulement pour les followers en raison d’une présentation attractive mais aussi pour l’internaute sur Google en raison d’un emplacement en 4e position accompagné d’une photographie de l’auteur. » Le juge continue : « ce titre constitue un dénigrement manifeste destiné à faire fuir des clients potentiels avant même toute lecture d’un article pouvant être qualifié de long pour ce type de sujet. Il porte une atteinte grave à l’image et à la réputation de l’établissement de restauration. Des commentaires de followers le jour même de la mise en ligne reflètent cet impact : ‘ J’irai voir ailleurs ; je retiens cette adresse à fuir, on saura quel restaurant éviter’ peut-on relever sur le blog. »
« De plus, il peut être constaté qu’avant la diffusion de l’article, L’Irrégulière avait indiqué ‘très mécontente d’un restau. Du coup je vais pouvoir faire un article très méchant. Ça tombe bien j’adore ça et je sais que vous aussi gniark gniark » ce qui permet de caractériser une intention de nuire de l’auteur dans le choix du titre ». Le juge en déduit que le titre de l’article constitue un trouble manifestement illicite qu’il appartient au juge des référés de faire cesser, mais qu’un tel trouble est insuffisamment caractérisé pour l’article lui-même. En conséquence, il ordonne la suppression des mots « un endroit à éviter » du billet, et condamne l’Irrégulière à payer à la société gérant le restaurant une provision sur dommages-intérêts de 1 500 euros (ce qui fait 375 euros le mot) outre 1 000 euros au titre du remboursement des frais d’avocat. Ce n’est pas tout : l’Irrégulière doit encore, et ce sous astreinte de 50 € par jour de retard, faire disparaître ces mots de Google, mais seulement Google. L’Irrégulière n’a pas l’intention de relever appel de cette décision. On ne peut, pour les raisons que j’ai données, dire qu’elle est définitive juridiquement, mais de fait, elle l’est puisqu’elle ne sera jamais remise en cause.
D’emblée, on peut dire que non, elle ne « fera pas jurisprudence », terme non juridique mais journalistique pour dire qu’une décision sera une référence judiciaire et que désormais, cette solution sera suivie dans tous les cas similaires. D’abord, c’est une ordonnance de référé. Une décision rapide et ne tranchant pas au fond, qui n’a pas autorité de la chose jugée. Donc pas la fondation la plus solide pour bâtir un édifice jurisprudentiel. La juridiction qui par excellence « fait jurisprudence », c’est la cour de cassation. On peut même dire qu’elle a été conçue pour ça, puisqu’elle ne juge que l’interprétation du droit faite par les juges. Et même là, toute ses décisions ne sont pas appelées à avoir des rejetons judiciaires, loin de là. Une ordonnance de référé peut, très rarement, connaître les honneurs d’une publication, quand elle tranche la première une question nouvelle d’une façon qui semble à la fois originale et solidement étayée. Et là, on en est loin.
C’est peu dire que la lecture de cette décision me laisse réservé. Tout d’abord, le fait de dire que l’article de 927 mots ne dépasse pas les limites admises de la liberté d’expression, mais que 4 mots dans le titre suffisent, des mots aussi anodins que « l’endroit à éviter » me paraît à tout le moins léger. Et l’explication selon laquelle ce titre poserait de manière péremptoire une conclusion univoque sur un incident et aurait pour objet de dicter une conduite d’évitement aux nombreux followers(sic) et à tout internaute consultant « l’emplacement au nom du restaurant du Cap Ferret »(re-sic, si quelqu’un comprend ce que cela signifie…) n’emporte pas la conviction. Oui, quand on écrit qu’un endroit est à éviter, c’est généralement pour que ceux qui nous lisent évitent l’endroit en question. Cela ne suffit pas à caractériser l’intention de nuire. Cette démarche peut aussi être dictée par la volonté de préserver ses lecteurs d’un restaurant proposant un service gâchant le plaisir de le fréquenter. Le contraire d’une volonté de nuire. Aller chercher je ne sais quel commentaire, cela semble être un tweet, ironisant sur le fait qu’on va pouvoir être méchant avec les restaurateur qui vient de nous traiter comme un importun paraît très tiré par les cheveux, surtout quand le juge estime par la suite que l’article est en fait parfaitement licite. On nage dans l’incohérence. Ce qui a rendu cet article problématique n’est pas son titre, ni l’intention de son auteur de régler ses comptes avec un établissement l’ayant mal reçu, mais son apparition, un an plus tard, en première page de résultats Google, totalement extérieure à la volonté de l’auteur (le billet n’utilise aucune des ruses habituelles d’optimisation de moteur de recherche).
Cette distinction entre le titre (illicite) et le corps de l’article (licite) me semble de plus on ne peut plus artificielle et ne reposer sur rien, sinon, devine-t-on à la lecture de la décision, le fait que c’est le titre seul qu’affiche Google dans sa page de résultat. Dire donc que l’on peut dire pis que pendre d’un restaurant dans un billet à condition que son titre soit parfaitement neutre et insignifiant me paraît une solution pour le moins curieuse, d’autant que le titre est un fidèle reflet du contenu de l’article. Quant à qualifier quatre mots du titre de trouble manifestement illicite, je tique. Et évaluer la provision à valoir sur les dommages-intérêts, c’est à dire le montant minimum incontestable du préjudice que ces quatre mots ont causé au restaurant à 1500 euros sans la moindre explication ou justification de ce montant, ni sur la démonstration du lien de causalité entre ce titre (pas l’article, le titre) et la baisse du chiffre d’affaire du restaurant, je tousse carrément.
La lecture de l’ordonnance et plus encore de l’assignation révèle une ignorance du fonctionnement technique de l’internet, des blogs et des moteurs de recherche. On peut sourire en lisant l’assignation demander que l’Irrégulière soit condamnée, je cite « à effectuer les formalités nécessaires afin que cet article ne soit plus diffusé sur internet », je n’invente rien. On peut pouffer en voyant que le juge confond manifestement follower, qui est un abonné à un compte Twitter, et lecteur d’un blog laissant un commentaire sous le billet. On sourit un peu moins quand on lit le dispositif de l’ordonnance ordonner à la blogueuse, sous astreinte de 50 euros par jour de retard, de, je cite « supprimer l’expression ‘un endroit à éviter’ ce tant sur son blog que dans sur l’emplacement Google » alors même que cela ne veut rien dire et rend responsable la blogueuse de ce qu’affiche un moteur de recherche sur lequel elle n’a pas ou peu de contrôle.
Deux leçons peuvent être tirées de cette regrettable affaire. Du point de vue des blogueurs, ne pas prendre un avocat quand il y en a un en face est une très mauvaise idée. C’est une économie qui peut vous coûter 2500 euros, soit bien plus que les honoraires qu’il vous aurait réclamés. Et si vous avez un blog ou un compte Twitter qui commence à avoir assez de succès pour agacer des gens qui peuvent faire passer leurs frais d’avocat en frais professionnels, prenez une assurance de protection juridique. Je n’ai pas de contrat particulier à vous conseiller cela dit. Si vous avez des retours d’expérience sur le sujet, es commentaires sont là pour ça. Du point de vue du restaurateur, c’est une victoire à la Pyrrhus. Certes, ils ont gagné, l’Irrégulière, face au dispositif incompréhensible, a mis son article hors ligne dans sa globalité. Mais l’affaire s’est sue, et le restaurant s’est désormais fait une réputation de faire des procès à ses clients mécontents. Les dégâts d’image sont d’ores et déjà bien pires que ceux que pouvait lui causer un billet vieux d’un an. Nouvelle illustration de l’effet Streisand.
Ce qu’il faut faire dans ce cas là est pourtant simple : en application de la règle « le client a toujours raison », accepter de bonne grâce la critique, présenter ses excuses à l’auteur du billet et l’inviter à revenir, invité par la maison, et s’assurer que ce repas se fasse à la perfection, à charge pour l’auteur de modifier son billet pour rétablir l’établissement dans sa bonne foi. Claquer 1500 euros en frais d’avocat pour se retrouver avec un bad buzz ingérable n’est en tout état de cause PAS la bonne solution. Et en tant qu’avocat, il nous incombe dans ces cas-là de décourager la voie contentieuse, qui peut à court terme faire gagner une bataille mais à long terme faire perdre la guerre à notre client. Le contentieux ne doit pas être le premier, mais le dernier recours à proposer.
Tout le monde parle des nouvelles méthodes de mise en page et des effets graphiques incroyables bientôt permis par CSS3. Mais il est encore temps de s'intéresser aux rouages du langage : sélecteurs, unités, fonctions. Voyez pourquoi ces parties peu sexy méritent votre affection.
Independently of where you stand in the Vim versus Emacs infamous battle, it is hard to deny that Vim is an amazing text editor, but did you knew about Vim's peculiar license? Vim is charityware, with a GPL-compatible license. It's distributed freely, but they ask that if you find it useful you make a donation to help children in Uganda through the ICCF.