Redimensionner des images par lots

Redimensionner des images par lotsTous ceux qui manipulent des photos avec leur ordinateur connaissent certainement le problème suivant. Vous venez d’importer un lot de photos depuis votre appareil numérique. Les appareils modernes offrent tous des résolutions de plus en plus impressionnantes, et vous vous retrouvez avec une collection de photos dont chacune pèse une bonne dizaine de mégaoctets, avec une résolution du genre 5184×3456 pixels.

Vous aimeriez bien réduire ces images pour les envoyer à la famille ou pour les publier sur votre blog. Vous ouvrez la première image avec GIMP, vous ouvrez successivement les menus Image > Échelle et taille de l’image, vous manipulez l’interface de redimensionnement, vous exportez votre image redimensionnée en l’écrasant et vous quittez GIMP en abandonnant les modifications. Pas très pratique, tout cela, et assez exaspérant lorsque l’opération doit être répétée un certain nombre de fois.

Sous Linux, la solution la plus courante pour redimensionner des images par lots consiste à utiliser ImageMagick, le couteau suisse de la manipulation d’images. Malheureusement, il ne s’utilise qu’en ligne de commande, et la plupart de mes clients restent quelque peu frileux face à l’utilisation de cet outil.

J’ai donc expérimenté un peu, et j’ai trouvé une solution relativement simple qui utilise l’outil de redimensionnement de la visionneuse d’images gThumb.

Voici un répertoire avec une collection de photos fraîchement importées. Notez la taille relativement importante de chaque image.

Redimensionner des images par lots

Je sélectionne l’ensemble des photos avec le raccourci Ctrl+A et j’effectue un clic droit sur la sélection. Dans le menu contextuel, je choisis d’ouvrir les fichiers avec la Visionneuse d’images, en l’occurrence gThumb.

Redimensionner des images par lots

Les fichiers sélectionnés s’affichent en tant que Catalogue dans gThumb.

Redimensionner des images par lots

Là encore, je sélectionne l’ensemble des fichiers. Je peux utiliser la souris pour ce faire, ou alors le même raccourci Ctrl+A.

Redimensionner des images par lots

Tout en gardant ma sélection, j’ouvre l’outil de redimensionnement de gThumb.

Redimensionner des images par lots

Dans la fenêtre de redimensionnement, je choisis un taux de réduction pour mes images en prenant soin de conserver les proportions, et je clique sur Exécuter.

Redimensionner des images par lots

Le redimensionnement commence et me propose par défaut l’écrasement du fichier existant. Ce dialogue apparaît pour chaque photo. Si l’on souhaite redimensionner l’ensemble de la sélection “à la louche”, il suffit de choisir l’option Écraser tous les fichiers.

Redimensionner des images par lots

Au final, j’aurai mis quelques secondes seulement pour redimensionner l’ensemble de mes photos importées.

Redimensionner des images par lots

 

Publié dans Documentation Microlinux | Marqué avec , | 3 commentaires

Afficher le contenu d’un répertoire en temps réel

RafraîchirCet article est consacré à un problème agaçant et que j’ai vu apparaître de manière plus ou moins aléatoire sur toutes sortes de distributions Linux, indépendamment de l’environnement de bureau utilisé. Prenons un cas de figure concret pour décrire le problème en question.

  1. J’ouvre un navigateur de fichiers comme Dolphin, Thunar, Caja, etc.
  2. Je télécharge une archive compressée vers le répertoire courant.
  3. À première vue, le nouveau fichier n’apparaît pas dans la liste.
  4. J’appuie sur F5 pour rafraîchir l’affichage, et j’aperçois mon fichier.
  5. J’extrais l’archive vers le répertoire courant.
  6. Même problème, le contenu de l’archive n’apparaît pas.
  7. J’appuie encore sur F5 pour rafraîchir l’affichage, et le problème est réglé.

Thunar Archive

Certes, le problème n’est pas très grave en soi, puisqu’il suffit de rafraîchir manuellement l’affichage du répertoire pour accéder aux nouveaux fichiers. Mais en termes d’usabilité, ce n’est pas un comportement optimal. Sans oublier le fait que j’installe des postes de travail Linux à mes clients, et cela m’est arrivé plus d’une fois qu’un client m’appelle pour m’expliquer qu’il ne trouve pas le fichier qu’il vient pourtant de télécharger.

Après investigation, ce comportement est lié à inotify, un mécanisme du noyau Linux qui fournit des notifications concernant le système de fichiers. Je ne vais pas rentrer dans les détails techniques inquiétants et me concentrer sur l’essentiel. La valeur max_user_watches définit la limite système du nombre de fichiers dont on surveille les changements en temps réel. Sur les systèmes Red Hat Enterprise Linux et CentOS, cette valeur est trop basse.

# cat /proc/sys/fs/inotify/max_user_watches
8192

On peut déjà essayer d’augmenter cette valeur “à chaud”.

# sysctl fs.inotify.max_user_watches = 524288
# sysctl -p

Voyons si cela a réglé mon problème d’affichage.

  1. J’ouvre le navigateur de fichiers Thunar.
  2. Je télécharge une archive compressée vers le répertoire courant.
  3. Le fichier s’affiche en temps réel.
  4. J’extrais l’archive vers le répertoire courant.
  5. Le répertoire résultant s’affiche directement.
  6. Mon problème est résolu.

À partir de là, je peux rendre la modification persistante en créant un fichier /etc/sysctl.d/inotify.conf et en l’éditant comme ceci.

# Monitor directories for change
fs.inotify.max_user_watches = 524288

Un grand merci à Liam O’Toole sur la liste de diffusion de CentOS pour son aide précieuse.

Publié dans CentOS, Documentation Microlinux | Marqué avec , | 3 commentaires

Serveur de messagerie XMPP avec Prosody sous CentOS 7

ProsodyXMPP est un protocole de communication utilisé notamment pour la messagerie instantanée. Outre le fait d’être libre, il repose sur une architecture décentralisée. Le réseau Jabber utilise ce protocole, et on peut s’inscrire sur un des nombreux serveurs publics pour pouvoir communiquer sur ce service. La meilleure solution consiste évidemment à monter nous-mêmes notre propre serveur XMPP. De cette manière, nous sommes sûrs que nos données nous appartiennent.

Dans cet article, je décris en détail l’installation et la configuration d’un serveur de messagerie XMPP avec Prosody sur un serveur dédié tournant sous CentOS 7. L’accent est mis sur la sécurité, avec des communications chiffrées entre les clients et le serveur.

Prérequis

Il nous faut tout d’abord un domaine valide, comme par exemple xmpp.microlinux.fr, ainsi qu’un certificat SSL/TLS pour ce domaine.

Prosody utilise le port 5222 en TCP dans la configuration par défaut. Il faut donc songer à ouvrir ce port dans le pare-feu.

En ce qui concerne SELinux, il n’y a rien de particulier à signaler, et nous pouvons allègrement rester en mode renforcé sans avoir à redouter des blocages mystérieux.

Installation de Prosody

Prosody ne fait pas partie des paquets officiels des distributions Red Hat Enterprise Linux et CentOS. En revanche, il est fourni par le dépôt EPEL.

# yum install prosody

L’installation du paquet a créé un utilisateur système prosody et un groupe système prosody correspondant.

# grep prosody /etc/passwd
prosody:x:995:992:Prosody XMPP Server:/var/lib/prosody:/sbin/nologin
# grep prosody /etc/group
prosody:x:992:

Configuration de Prosody

Les certificats installés sur la machine appartiennent à l’utilisateur root et au groupe certs. Pour plus de détails sur les certificats et les permissions, on pourra lire cet article.

# ls -l /etc/letsencrypt/live/
total 4
drwxr-xr-x. 2 root certs 4096 Jul 12 13:16 microlinux.fr

Nous allons permettre à l’utilisateur système prosody d’accéder aux certificats en l’ajoutant au groupe certs.

# usermod -a -G certs prosody

Prosody se configure par le biais du fichier de configuration /etc/prosody/prosody.cfg.lua et des fichiers *.cfg.lua rangés dans /etc/prosody/conf.d. Avant toute chose, on va effectuer une copie de sauvegarde de prosody.cfg.lua.

# cd /etc/prosody
# cp prosody.cfg.lua prosody.cfg.lua.orig

Le fichier fourni par défaut est quasiment prêt à l’emploi. Dans les directives globales, je vais spécifier l’utilisation de l’IPv4 tout en désactivant l’IPv6 grâce à la directive interfaces.

-- This is a (by default, empty) list of accounts that are admins
-- for the server.
admins = { }

-- Activer l'IPv4 et désactiver l'IPv6
interfaces = { "*" }

Les hôtes virtuels de Prosody fonctionnent en principe comme ceux du serveur Web Apache. Théoriquement, rien ne nous empêcherait de les définir dans le fichier de configuration principal. Pour plus de clarté, il vaut mieux les ranger individuellement dans le répertoire /etc/prosody/conf.d. Dans la configuration par défaut, deux hôtes virtuels sont configurés pour l’exemple, et nous allons les supprimer.

# cd /etc/prosody/conf.d/
# ls
example.com.cfg.lua localhost.cfg.lua
# rm example.com.cfg.lua localhost.cfg.lua

Ensuite, je crée un fichier /etc/prosody/conf.d/xmpp.microlinux.fr.cfg.lua que j’édite comme ceci.

-- /etc/prosody/conf.d/xmpp.microlinux.fr.cfg.lua

VirtualHost "xmpp.microlinux.fr"
enabled = true
ssl = {
  key = "/etc/letsencrypt/live/microlinux.fr/privkey.pem";
  certificate = "/etc/letsencrypt/live/microlinux.fr/fullchain.pem";
}

Mise en service de Prosody

Maintenant que Prosody est configuré, je peux démarrer le service correspondant.

# systemctl enable prosody
# systemctl start prosody

Apparemment, tout semble bien se passer.

# cat /var/log/prosody/prosody.log 
... Hello and welcome to Prosody version 0.10.2
... Prosody is using the select backend for connection handling
... Activated service 'c2s' on [*]:5222
... Activated service 'legacy_ssl' on no ports
... Activated service 's2s' on [*]:5269
... Prosody is about to detach from the console, disabling 
    further console output
... Successfully daemonized to PID 23024

Gérer les utilisateurs

La commande prosodyctl gère la création et la suppression des utilisateurs.

L’option adduser permet d’ajouter un utilisateur.

# prosodyctl adduser kikinovak@xmpp.microlinux.fr
Enter new password: **********
Retype new password: **********

La suppression d’un utilisateur s’effectue avec l’option deluser.

# prosodyctl deluser troll@xmpp.microlinux.fr

Les utilisateurs sont stockés dans l’arborescence /var/lib/prosody, dans un répertoire correspondant au domaine.

# ls -1 /var/lib/prosody/xmpp%2emicrolinux%2efr/accounts/
adebuf.dat
fbanester.dat
fteyssier.dat
jmortreux.dat
kikinovak.dat

Enfin, l’option passwd permet de modifier le mot de passe d’un utilisateur.

# prosodyctl passwd jmortreux@xmpp.slackbox.fr

Configurer le client de messagerie Pidgin

Il existe une quantité impressionnante de clients de messagerie instantanée capables de gérer le protocole XMPP. Pour ma part, j’utilise Pidgin depuis sa sortie en 2007. Voici ce qu’il faut faire pour configurer un compte sur ce client.

Une fois qu’on a lancé l’assistant de création de compte, on commence par l’onglet Essentiel.

  • Choisir le protocole XMPP dans le menu déroulant Protocole.
  • Renseigner l’utilisateur (par exemple kikinovak ou jmortreux).
  • Renseigner le domaine (par exemple xmpp.microlinux.fr).
  • Laisser vide le champ Ressource.
  • Fournir le mot de passe et cocher la case Mémoriser le mot de passe.
  • Définir un Alias local (facultatif).
  • Ajouter une icône pour le compte (facultatif).

Configuration Pidgin

Ensuite, on passe à l’onglet Avancé.

  • Vérifier si la Sécurité de la connexion nécessite le chiffrement.
  • Vérifier le Port de connexion 5222.
  • Définir le Serveur de connexion, par exemple xmpp.microlinux.fr.
  • Garder le Proxy de transfert de fichiers proxy.eu.jabber.org.
  • Laisser vide le champ URL BOSH.
  • Laisser cochée la case Afficher les frimousses personnalisées.

Configuration Pidgin

Publié dans CentOS, Documentation Microlinux | Marqué avec , , , | 5 commentaires

Migrer vers MATE sous CentOS 7 (1)

MATE logoIl y a quelque temps, j’ai découvert l’environnement de bureau MATE, et j’en suis assez ravi. C’est un bureau Linux léger et sans histoires, qui a repris le concept de GNOME 2.32 comme point de départ pour apporter des améliorations par petites touches incrémentales et sans grands bouleversements. En un mot, c’est la solution idéale pour tous ceux qui ont une préférence marquée pour les paradigmes de bureau classiques et non disruptifs.

Dans un précédent article, j’ai décrit l’élagage d’un système CentOS existant en vue d’une migration vers un autre environnement de bureau, par exemple. Il s’avère que dans certains cas, cette approche n’est pas très pratique. À titre d’exemple, ma machine principale est une station de travail tournant sous CentOS 7 avec le bureau KDE, et qui fait tourner un serveur web pour héberger en local une poignée de sites que je développe. Une opération d’élagage sur ce système me supprimerait mon serveur web, mes paquets PHP et mon serveur de bases de données, ce qui nécessiterait que je repêche mes configurations dans une forêt de fichiers .rpmsave. J’ai donc décidé de m’y prendre autrement pour passer cette machine de KDE à MATE.

En termes de matériel, il s’agit d’une station de travail HP Elite équipée d’une vieille carte graphique NVidia GT 210 et d’un double moniteur. La particularité à retenir pour cette machine, c’est que les pilotes NVidia fournis par le dépôt ELRepo ne fonctionnent pas, et j’ai donc dû mettre à jour le noyau et installer le pilote fourni par le constructeur, comme c’est décrit dans cet article. Avant toute chose, je récupère la dernière version en date du pilote pour ma carte, étant donné que la suite des opérations se déroulera en mode console.

# lspci | grep -i vga
01:00.0 VGA compatible controller: NVIDIA Corporation GT218 
[GeForce 210] (rev a2)
# ls /root/nvidia/
NVIDIA-Linux-x86_64-340.106.run NVIDIA-Linux-x86_64-340.107.run

Étant donné que je m’apprête à supprimer l’environnement de bureau dans lequel je travaille, je prends soin de travailler en mode console.

# systemctl set-default multi-user.target 
# systemctl isolate multi-user.target

La machine a été installée depuis un DVD de CentOS, en sélectionnant le groupe de paquets KDE Plasma Workspaces. Curieusement, l’info ne se reflète pas dans les groupes de paquets.

# yum group list
Modules complémentaires chargés : fastestmirror, langpacks, ...
Aucun fichier de groupe n'est installé.

Qu’à cela ne tienne, je vais donc attaquer le remplacement de mon bureau de manière empirique, en supprimant d’abord une série de dépendances vitales de l’environnement graphique.

Je pars d’une installation qui compte près de deux mille paquets.

# rpm -qa | wc -l
1998

Je commence par supprimer “à la louche” mon bureau KDE. Notez que j’utilise l’option autoremove au lieu d’un simple remove. Cette option se charge de supprimer  les dépendances orphelines des paquets supprimés.

# yum autoremove kdelibs-common

Notez que je n’utilise pas l’option de confirmation automatique -y. Je prends soin de vérifier soigneusement les paquets supprimés avant de confirmer manuellement.

Au bout de l’opération, il ne reste plus grand-chose de mon environnement de bureau.

# rpm -qa | grep ^kde
kde-settings-pulseaudio-19-23.7.el7.centos.noarch
kde-wallpapers-4.10.5-2.el7.noarch
kde-filesystem-4-47.el7.x86_64
kdegraphics-strigi-analyzer-4.10.5-3.el7.x86_64
kdeartwork-wallpapers-4.10.5-4.el7.noarch
kde-l10n-4.10.5-2.el7.noarch
kde-settings-19-23.7.el7.centos.noarch
# yum autoremove kde*

Je supprime la bibliothèque graphique Qt ainsi que tout ce qui en dépend. Notez au passage que certaines applications ainsi que leurs dépendances devront être réinstallées par la suite. Notre souci actuel consiste à faire le ménage pour partir sur des bases saines, sans pour autant supprimer une série de paquets vitaux sur la machine.

# yum autoremove qt

Le gestionnaire de connexion GDM – utilisé à la place de KDM ou SDDM si l’on opte pour KDE – est un autre poids lourd des systèmes RHEL/CentOS. Nous lui préférons LightDM, et nous allons donc le supprimer ainsi que tout le fatras dont il dépend.

# yum autoremove gdm

Enfin, la suppression de la bibliothèque graphique libX11-common nous permet de jeter par-dessus bord tout ce qui ressemble à une application graphique sur la machine, pour ne garder que ce qui tourne en mode console.

# yum autoremove libX11-common

Le moment est venu de mettre à jour notre système réduit, si ce n’est déjà fait.

# yum update
# yum --enablerepo=elrepo-kernel update

Avant de redémarrer, on va s’assurer de disposer de tous les paquets nécessaires pour un système fonctionnel.

# yum group install "Core"

On croise les doigts et on redémarre.

# reboot

Éventuellement, on peut effectuer un petit état des lieux.

# rpm -qa | sort | less

Les profils KDE ne sont plus nécessaires.

# rm -rf /usr/share/kde4
# cd /etc/skel
# rm -rf .kde/ .local/ .winff/ .gtkcdlabelrc

On peut également faire le ménage dans les configurations.

# su - kikinovak
$ rm -rf .cache .config .kde .local .winff \
  .gtkcdlabelrc .gtkrc-2.0-kde4
$ exit

Je désactive les dépôts de paquets tiers pour les reconfigurer proprement un peu plus loin. Notez que la suppression du paquet epel-release entraîne automatiquement la suppression de nux-dextop-release.

# yum remove epel-release elrepo-release adobe-release
# rm -f /etc/yum.repos.d/*.rpmsave

À présent, je remplace mon script d’installation KDE par celui de MATE, et je le lance.

# cd
# rm -rf centos-7-desktop-kde
# git clone https://github.com/kikinovak/centos-7-desktop-mate
# cd centos-7-desktop-mate
# ./postinstall.sh

Une fois que MATE est installé, je récupère manuellement le profil pour mon utilisateur existant.

# cd /etc/skel
# cp -Rv .config/ .gtkcdlabelrc /home/kikinovak
# cd /home/kikinovak
# chown -R kikinovak:kikinovak .config/ .gtkcdlabelrc

Il ne me reste plus qu’à réinstaller proprement mon pilote NVidia. Avant d’attaquer ça, je fais un peu de ménage dans mes kernels.

# package-cleanup --oldkernels --count=1
# rm -rf /lib/modules/4.4.138-1.el7.elrepo.x86_64/

J’installe le pilote NVidia manuellement, je redémarre en mode console et je lance un premier test.

# systemctl isolate graphical.target

Une fois que je suis satisfait du résultat, je définis le démarrage en mode graphique.

# systemctl set-default graphical.target

L’état actuel du bureau est assez propre, et l’opération a réussi. Je vais passer les jours à venir à arrondir les angles et peaufiner plein de petits détails.

Migration MATE

 

Publié dans CentOS, Documentation Microlinux | Marqué avec , , | 2 commentaires

Élaguer une installation de CentOS 7

Élaguer CentOS 7Lorsqu’on installe CentOS à partir du DVD minimal – ou lorsqu’on sélectionne un profil minimal avec le DVD d’installation classique – on obtient un système réduit au minimum syndical. Évidemment, on est loin du minimalisme que l’on trouve dans des distributions comme Alpine Linux, mais le principe est le même. Le système de base peut être vu comme une pâte à crêpes, et ensuite, on installe les ingrédients dont on a besoin. Dans la configuration par défaut, un système CentOS 7 est constitué de quelque 300 paquets et occupe un peu plus d’un gigaoctet d’espace disque.

Dans certains cas de figure, il peut être souhaitable de revenir à cette configuration de départ sans pour autant passer par une réinstallation complète du système. Voici deux exemples pratiques de la vie quotidienne.

  • Lorsque j’installe un serveur dédié de la gamme Dedibox de chez Online et que j’opte pour un système CentOS, je ne pars pas d’une installation minimale. Les administrateurs de chez Online ont décidé d’installer une panoplie complète d’outils en ligne de commande, et ce souci de cohérence est parfaitement compréhensible. Mais un grand nombre de ces outils ne me sert à rien, et je préfère installer ma propre sélection en partant du minimum syndical.
  • Sur les postes de travail, je me base sur l’environnement de bureau MATE, installé à partir d’un système minimal et du serveur graphique X Window. Or, j’ai encore tout un parc de machines que j’ai dotées d’un bureau basé sur KDE ou sur Xfce. La désinstallation manuelle de ces bureaux est une tâche extrêmement fastidieuse, et un simple yum group remove laisse pas mal de résidus sur le disque. Là encore, il est donc préférable de repasser par la case départ sans pour autant réinstaller l’intégralité du système.

J’ai donc rédigé un script shell elaguer.sh qui se charge de supprimer tous les paquets qui ne font pas partie du système de base à proprement parler.

#!/bin/bash
#
# elaguer.sh
#
# Ce script désinstalle tous les paquets présents sur un système 
# CentOS 7 qui ne font pas partie du système minimal. 
# À manier avec précaution, donc.
# 
# (c) Niki Kovacs, 2018

CWD=$(pwd)
TMP=/tmp

PKGLIST=$TMP/pkglist
PKGINFO=$TMP/pkg_base

# Créer la liste des paquets installés sur le système
rpm -qa --queryformat '%{NAME}\n' | sort > $PKGLIST 

# Créer une variable correspondant à cette liste
PAQUETS=$(egrep -v '(^\#)|(^\s+$)' $PKGLIST)

# Faire le ménage
rm -rf $PKGLIST $PKGINFO
mkdir $PKGINFO
unset SUPPRIMER

# Créer une base de données rudimentaire 
echo
echo ":: Création de la base de données..."
echo
sleep 3
MINIMAL=$(egrep -v '(^\#)|(^\s+$)' $CWD/minimal.txt)
for PAQUET in $MINIMAL; do
  printf "."
  touch $PKGINFO/$PAQUET
done

echo

# Vérifier pour chaque paquet s'il fait partie du système minimal
echo
echo ":: Création de la liste des paquets à supprimer..."
echo
sleep 3
for PAQUET in $PAQUETS; do
  if [ -r $PKGINFO/$PAQUET ]; then
    continue
  else
    printf "."
    SUPPRIMER="$SUPPRIMER $PAQUET"
  fi
done

echo
echo

# Supprimer tous les paquets qui ne font pas partie du système 
# de base
if [[ ! -z $SUPPRIMER ]]; then
  yum -y remove $SUPPRIMER
fi

# Réinstaller les paquets de base
yum -y install $MINIMAL

# Encore un peu de ménage
rm -rf $PKGLIST $PKGINFO

exit 0

Le script se sert de la liste de paquets minimal.txt qui a été établie auparavant sur une installation minimale fraîche, moyennant la commande suivante.

# rpm -qa --queryformat '%{NAME}\n' | sort > minimal.txt

Le script elaguer.sh est disponible dans mon dépôt Github, que l’on peut récupérer dans un endroit approprié du système, par exemple /root.

# cd
# git clone https://github.com/kikinovak/centos-7-strip

Avant de faire quoi que ce soit, on va s’assurer de ne pas tourner en mode graphique.

# systemctl set-default multi-user.target
# systemctl isolate multi-user.target

Ensuite, on va exécuter le script.

# cd centos-7-strip
# ./elaguer.sh

Le gestionnaire de paquets Yum présente une petite incohérence au niveau de la gestion des groupes de paquets. En effet, si l’on a installé un groupe de paquets avec la commande yum group install, la commande yum group list affichera toujours le groupe comme installé, même si les paquets qui le constituent ne sont plus présents sur le système. Ajoutons à cela le fait que – pour des raisons mystérieuses – certains groupes sont cachés (hidden) depuis CentOS 7, et la confusion est totale. Il faut donc rectifier le tir à la main. Voici un exemple pratique qui permettra de mieux comprendre la gestion des groupes de paquets.

Prenons une machine sur laquelle je viens d’exécuter le script elaguer.sh, et qui se retrouve donc réduite au minimum syndical.

# rpm -qa | wc -l
307

J’affiche la liste des groupes de paquets.

# yum group list | less
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Available Environment Groups:
   Minimal Install
   Compute Node
   Infrastructure Server
   File and Print Server
   Basic Web Server
   Virtualization Host
   Server with GUI
   GNOME Desktop
   KDE Plasma Workspaces
   Development and Creative Workstation
Available Groups:
   Compatibility Libraries
   Console Internet Tools
   Development Tools
   Graphical Administration Tools
   Legacy UNIX Compatibility
   Scientific Support
   Security Tools
   Smart Card Support
   System Administration Tools
   System Management
Done

À première vue, aucun groupe de paquets n’est installé. J’essaie encore, en ajoutant l’option hidden.

# yum group list hidden | less
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Available Environment Groups:
   Minimal Install
   Compute Node
   Infrastructure Server
   File and Print Server
   Basic Web Server
   Virtualization Host
   Server with GUI
   GNOME Desktop
   KDE Plasma Workspaces
   Development and Creative Workstation
Installed Groups:
   Base
   Fonts
   Web Server
   X Window System
Available Groups:
   Additional Development
   Anaconda Tools
   Backup Client
   Backup Server
   ...

Je note les groupes marqués comme installés, et je corrige leur statut manuellement.

# yum group mark remove "Base" "Fonts" "Web Server" \
  "X Window System"
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Marked remove: Base,Fonts,Web Server,X Window System

Il ne me reste plus qu’à faire une dernière vérification.

# yum group list hidden | less

Indépendamment de la configuration initiale, je me retrouve à présent avec une installation minimale de CentOS, que je peux reconfigurer à ma guise.

Publié dans CentOS, Documentation Microlinux | Laisser un commentaire

Poste de travail CentOS 7 + MATE “aux petits oignons”

Logo CentOSCet article décrit pas à pas et de manière détaillée l’installation d’un poste de travail léger de qualité entreprise basé sur CentOS 7 et l’environnement de bureau MATE. Pour plus de détails, lire la documentation officielle. CentOS 7 est officiellement supporté jusqu’au 30 juin 2024. On choisira cette branche sur du matériel raisonnablement récent qui supporte un OS 64-bits. L’installateur de CentOS 7 requiert au moins 1 Go de RAM. Sur une machine disposant de moins de mémoire vive ou dotée d’un processeur 32-bits, on pourra opter pour CentOS 6.

Pour en savoir plus sur la configuration de MATE, on pourra lire cet article.

Bureau MATE

Le poste de travail présenté ici offre une série d’améliorations par rapport à un poste de travail CentOS standard.

  • L’esthétique de l’environnement MATE est améliorée de manière significative.
  • Le lanceur d’applications Plank rend le bureau plus fonctionnel.
  • Une panoplie d’applications populaires est installée pour toutes les tâches courantes.
  • Les codecs et plug-ins multimédia permettent de gérer les contenus audio et vidéo.
  • Les polices TrueType offrent une meilleure interopérabilité avec l’univers Microsoft.
  • Infinality permet d’obtenir un affichage aussi net que sur les systèmes de chez Apple.

Support d’installation

On choisira le DVD minimal, mais rien n’empêche d’utiliser le DVD standard.

  • CentOS-7-x86_64-Minimal-1804.iso
  • CentOS-7-x86_64-DVD-1804.iso

Graver le DVD à partir de l’ISO téléchargé.

Sur les machines dépourvues de lecteur optique, il faudra confectionner une clé USB d’installation. L’image ISO est hybride et peut s’écrire directement sur une clé USB.

# dd if=CentOS-7-x86_64-Minimal-1804.iso of=/dev/sdX

Démarrage

Débrancher clés USB, disques externes et autres périphériques amovibles. Autrement l’installateur les proposera au formatage.

Sur un ordinateur portable, il vaut mieux passer par une connexion câblée le temps de l’installation. La connexion wifi sera réglée en mode graphique par NetworkManager une fois que le bureau sera installé.

Langue et clavier

Dans l’écran de bienvenue, sélectionner la langue (Français) et la localisation (Français – France). La disposition du clavier sera définie par le biais de l’écran principal de l’installateur.

Interfaces réseau

Le réseau n’est pas activé par défaut, il faut donc songer à l’activer explicitement.

Les noms des interfaces réseau ont changé avec la version 7 de CentOS. Désormais, on n’a plus affaire à eth0, eth1, eth2, wlan0, etc. Le nouveau schéma de nommage est moins arbitraire et offre davantage de consistance en se basant sur l’emplacement physique de la carte dans la machine.

  • enp2s0
  • enp3s0
  • enp3s1
  • etc.

Date et heure

Vérifier si le fuseau horaire (Europe/Paris) est correctement configuré. Éventuellement, activer Heure du réseau et vérifier les serveurs NTP.

Désactivation de Kdump

Kdump est un mécanisme de capture lors du plantage d’un noyau. Il peut être désactivé.

Partitionnement manuel

L’outil de partitionnement graphique de CentOS n’est pas très intuitif. Voici un exemple de schéma de partitionnement courant.

  • une partition /boot de 500 MiB, formatée en ext2
  • une partition swap, équivalent à la RAM disponible
  • une partition principale, formatée en ext4

Sur une station de travail munie de deux disques durs, on choisira le RAID 1.

  1. Cliquer sur Destination de l’installation.
  2. Vérifier si le ou les disques durs sont bien sélectionnés.
  3. Cocher Je vais configurer le partitionnement et cliquer sur Terminé.
  4. Dans le menu déroulant, sélectionner Partition standard au lieu de LVM.

Partition EFI

Sur les systèmes UEFI, il faut d’abord créer un point de montage /boot/efi pour une partition de type EFI, au début du disque.

  1. Cliquer sur le bouton “+” pour créer un point de montage.
  2. Créer le point de montage /boot/efi et spécifier une taille de 100 MiB.
  3. Définir le type de périphérique standard.
  4. Choisir le système de fichiers EFI System Partition et l’étiquette efi.
  5. Confirmer Mise à jour des paramètres.

Partition /boot

La taille de la partition /boot sera relativement réduite. Il faudra veiller à ne pas laisser s’entasser les vieux kernels sous peine de la remplir assez rapidement.

  1. Cliquer sur le bouton “+” pour créer un nouveau point de montage.
  2. Créer le point de montage /boot avec une capacité de 500 MiB ou plus.
  3. Définir le type de périphérique standard ou RAID 1.
  4. Choisir le système de fichiers ext2 et l’étiquette boot.
  5. Confirmer Mise à jour des paramètres.

Partition swap

Dans certains cas, la partition swap pourra être reléguée à la fin du disque par l’installateur pour une utilisation optimale.

  1. Cliquer sur le bouton “+” pour créer un autre point de montage.
  2. Créer le point de montage swap en spécifiant sa capacité en GiB.
  3. Définir le type de périphérique standard ou RAID 1.
  4. Choisir l’étiquette swap.
  5. Confirmer Mise à jour des paramètres.

Partition principale

La partition principale occupera tout l’espace disque restant.

  1. Cliquer sur le bouton “+” pour créer un dernier point de montage.
  2. Créer le point de montage / sans spécifier la capacité souhaitée.
  3. Définir le type de périphérique standard ou RAID 1.
  4. Choisir le système de fichiers ext4 et l’étiquette root.
  5. Confirmer Mise à jour des paramètres, puis Terminé.

Choix des paquets

Dans l’écran de sélection des logiciels du DVD, on optera pour le groupe de paquets Installation minimale proposé par défaut. Le CD minimal ne laisse pas le choix de toute façon.

Configuration provisoire du réseau

L’installation par défaut ne fournit pas la commande ifconfig, qui fait partie du paquet net-tools. Dans un premier temps, il faudra afficher la configuration réseau en utilisant la commande ip fournie par le paquet iproute2.

# ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
 ...
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 
   qdisc mq state UP qlen 1000
 link/ether 2c:27:d7:15:54:a1 brd ff:ff:ff:ff:ff:ff
 inet 192.168.1.2/24 brd 192.168.1.255 scope global dynamic enp2s0
 ...
3: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 
 ...
# ip route
default via 192.168.1.1 dev enp2s0

Récupérer le script de post-installation

L’utilitaire git ne fait pas partie d’une installation par défaut. Il va donc falloir l’installer.

# yum install git

Ensuite, récupérer le contenu de mon dépôt Github.

# cd
# git clone https://github.com/kikinovak/centos-7-desktop-mate

Lancer le script de post-installation

Le répertoire centos-7-desktop-mate contient un script postinstall.sh. Lancer ce script.

# cd centos-7-desktop-mate
# ./postinstall.sh

L’affichage du script est assez laconique. Pour en savoir un peu plus sur le détail et la progression des opérations, on peut ouvrir un deuxième terminal et afficher le fichier journal “à chaud”, comme ceci.

# tail -f /tmp/postinstall.log

Le script se charge automatiquement des opérations suivantes.

  • Basculer SELinux en mode permissif.
  • Désactiver l’IPv6.
  • Personnaliser le shell Bash pour root et les utilisateurs.
  • Personnaliser la configuration de Vim.
  • Configurer les dépôts de paquets officiels de manière prioritaire.
  • Activer la gestion des Delta RPM.
  • Effectuer la mise à jour initiale du système.
  • Configurer les dépôts de paquets tiers : EPEL, Nux, Adobe, etc.
  • Installer une panoplie d’outils en ligne de commande.
  • Installer le serveur graphique X Window.
  • Installer l’environnement de bureau MATE.
  • Supprimer les paquets inutiles.
  • Supprimer les polices TrueType exotiques qui encombrent les menus.
  • Installer une panoplie cohérente d’applications supplémentaires.
  • Personnaliser les entrées du menu MATE.
  • Installer le profil par défaut des nouveaux utilisateurs.
  • Installer une panoplie de polices TrueType avec le rendu Infinality.
  • Installer une collection de fonds d’écran.

Remarque importante : SELinux est basculé en mode permissif de manière temporaire afin de permettre à l’administrateur de résoudre manuellement les éventuels blocages avant de rebasculer en mode renforcé.

Pour vous donner un ordre d’idée, j’ai testé le script sur une paire de vieux Dell Optiplex avec un processeur double coeur, 4 gigaoctets de RAM et une connexion ADSL à 20 Mbit/s, et ça a mouliné près de 40 minutes. Vous avez donc largement le temps de boire un ou deux cafés en attendant que ça défile.

Créer un ou plusieurs utilisateurs

Une fois que le script est arrivé à terme, on peut créer un nouvel utilisateur. Si vous souhaitez qu’il puisse utiliser sudo, ajoutez-le au groupe wheel.

# useradd -c "Nicolas Kovacs" kikinovak
# passwd kikinovak
# usermod -a -G wheel kikinovak

Basculer en mode graphique

Le script de post-installation ne se charge pas de basculer automatiquement en mode graphique. L’administrateur pourra donc gérer sereinement la configuration de la carte graphique.

La configuration de l’affichage dépasse l’objet de cet article, mais si vous avez une carte NVidia, jetez un oeil sur cet article.

# systemctl set-default graphical.target

Configurer le réseau sur un poste de travail

Dans la configuration par défaut, le réseau est géré par NetworkManager, qui est pratique sur un portable, mais ne sert pas à grand-chose sur un poste de travail ou une station de travail. Notons au passage que contrairement à ce qui se dit dans des blogs un peu partout sur le Web, NetworkManager n’est pas nécessaire pour la gestion du réseau. C’est juste une couche d’abstraction et de complexité supplémentaire, et dont on peut aisément se passer.

# systemctl stop NetworkManager
# yum remove NetworkManager

Voici un exemple de configuration simple.

# /etc/sysconfig/network-scripts/ifcfg-enp2s0
DEVICE=enp2s0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=dhcp

Si l’on gère les noms d’hôtes de manière centralisée avec Dnsmasq, il faut supprimer les occurrences correspondantes dans /etc/hosts.

# /etc/hosts
127.0.0.1 localhost.localdomain localhost

Le fichier /etc/hostname devra juste contenir ceci.

localhost

Remarque : Nous pouvons nous permettre de supprimer NetworkManager puisque nous utilisons le gestionnaire de connexion LightDM. Depuis RHEL/CentOS 7.5, NetworkManager est une dépendance du gestionnaire de connexion GDM. Si vous utilisez GDM et que vous tentez de vous débarrasser de NetworkManager, vous risquez de vider l’eau du bain avec l’enfant. On y verra éventuellement un argument de plus pour préférer une configuration plus légère et plus saine.

Configurer le réseau sur un portable

Sur un ordinateur portable, on gardera le NetworkManager et l’applet correspondant network-manager-applet. Pour éviter les conflits, il vaut mieux supprimer les fichiers ifcfg-<interface> dans /etc/sysconfig/network-scripts et garder uniquement ifcfg-lo. Ensuite, il suffit de vérifier si NetworkManager est actif.

# systemctl status NetworkManager

 

Publié dans CentOS, Documentation Microlinux | Marqué avec , , | 9 commentaires

MATE bien infusé sous CentOS 7

MATE logoCet article détaille pas à pas l’installation et la configuration “aux petits oignons” d’un poste de travail basé sur l’environnement de bureau MATE sur un système CentOS 7. Le poste de travail présenté ici offre une série d’améliorations par rapport à la configuration standard. Le but de l’opération est d’obtenir un environnement de bureau léger, robuste et plaisant à voir, et qui constitue une alternative fonctionnelle aux deux poids lourds GNOME et KDE fournis par Red Hat et CentOS.

Bureau MATE

Prérequis

Bon nombre de tutoriels décrivant l’installation de MATE sous CentOS partent d’une installation poste de travail standard de CentOS et se contentent d’ajouter l’environnement de bureau MATE. On se retrouve ainsi avec un système souffrant d’un certain embonpoint et encombré de toute une série de paquets inutiles.

Nous partons donc d’une installation minimale de type serveur, à laquelle nous ajoutons le serveur graphique X Window.

Les paquets seront téléchargés depuis les dépôts officiels ainsi que les dépôts EPEL, Nux-Dextop et Adobe. On pourra se reporter à cet article pour la mise en place de ces dépôts.

Installation

L’environnement MATE est fourni par le dépôt EPEL, dans la version 16.2, grâce au groupe de paquets correspondant.

# yum group install "MATE Desktop"

On notera que ce groupe installe le gestionnaire de connexion LightDM au lieu du poids lourd GDM normalement fourni par Red Hat Enterprise Linux et CentOS.

Premier lancement

L’interface graphique offre un aspect assez potable dans sa configuration par défaut, et il faut saluer l’effort de cohérence des mainteneurs de MATE pour Red Hat et CentOS. La plupart des tutoriels relatifs à MATE sous CentOS s’arrêtent à ce stade, d’ailleurs.

Bureau MATE

Configurer le fond d’écran

Le fond d’écran par défaut est un diaporama qui change d’aspect en fonction de l’heure du jour. Malheureusement le filigrane de CentOS en bas à droite est tronqué sur les écrans 4:3. Pour corriger ce petit souci, il suffit d’effectuer un clic droit sur le bureau > Changer l’arrière-plan du bureau et de passer du style Zoom à Étiré.

Pour ma part, j’opte pour un fond d’écran neutre et agnostique en termes de géométrie d’écran. Autrement dit, le fond d’écran s’affichera correctement sur les écrans 4:3 aussi bien que sur les écrans 16:9. Les utilisateurs de CentOS ont une préférence pour tout ce qui est ennuyeux, j’opte donc pour un fond d’écran que j’ai cannibalisé à Solaris, et qui s’inscrit bien dans la sobriété de l’ensemble. Vous pouvez le télécharger ici.

Le fond d’écran peut être défini par le biais du menu Système > Préférences > Apparence > Arrière-plan. Alternativement, il suffit de faire un clic droit sur le bureau et de sélectionner Changer l’arrière-plan du bureau dans le menu contextuel.

Installer le thème GTK Clearlooks Phenix

Le thème GTK de l’interface est plus ou moins acceptable dans la configuration par défaut. Je vais quand-même le remplacer par Clearlooks Phenix, mon thème GTK préféré ces dernières années.

# yum install clearlooks-phenix-gtk2-theme \
  clearlooks-phenix-gtk3-theme

Ouvrir Système > Préférences > Apparence et définir le thème Clearlooks Phenix. Cliquer sur le bouton Personnaliser et rétablir les décorations de fenêtres Blue Menta du thème par défaut.

Bureau MATE

Installer le jeu d’icônes Elementary-Xfce

Le jeu d’icônes Elementary a été développé initialement pour Elementary OS, une distribution originale à l’esthétique extrêmement réussie. Malheureusement, les mainteneurs du jeu d’icônes initial ont décidé de “simplifier” la panoplie des icônes disponible, et il en résultait des jeux d’icônes incomplets. Elementary-Xfce est un fork du projet initial, qui vise à maintenir un jeu d’icônes complet pour Xfce. Malgré ce que son nom peut suggérer, il fonctionne également très bien sur d’autres environnements de bureau comme MATE, GNOME, Unity ou Cinnamon.

Sous CentOS, Elementary-Xfce est fourni par le dépôt Nux-Dextop.

# yum install elementary-xfce-icon-theme

Définir le jeu d’icônes Elementary-Xfce dans Système > Préférences > Apparence. Sélectionner le thème courant, cliquer sur Personnaliser et ouvrir l’onglet Icônes.

Bureau MATE

Améliorer la police de l’interface

La police de l’interface définie par défaut est quelque peu terne, et c’est le moins que l’on puisse dire. Nous allons la remplacer par Droid Sans, une police de caractères développée spécialement pour les interfaces graphiques par Google. Elle est également fournie par le dépôt Nux-Dextop.

# yum install google-droid-sans-fonts

Profitons-en pour améliorer le rendu des polices en installant le paquet fontconfig-infinality, qui fournit la bibliothèque Fontconfig avec la série de patchs Infinality. Ce paquet installe la dépendance freetype-infinality.

# yum install fontconfig-infinality

Une fois qu’on a relancé la session graphique pour prendre en compte le rendu de polices amélioré, on peut ouvrir Système > Préférences > Apparence, aller dans l’onglet Polices et définir Droid Sans avec une taille 11 comme police par défaut pour les applications, les documents et le bureau. Je garde la police Sans Bold 10 pour le titre des fenêtres, et je définis Fixed 14 comme police à chasse fixe par défaut.

Bureau MATE

Supprimer les icônes du bureau

Les icônes sur le bureau sont une question de goût. Pour ma part, je considère qu’elles ne servent pas à grand-chose, à plus forte raison que nous installerons un peu plus loin un lanceur d’applications qui nous permettra un accès rapide aux emplacements divers et variés du système.

Ouvrons d’abord l’Éditeur dconf via l’entrée de menu correspondante dans Applications > Outils système. L’éditeur dconf fait partie de ces outils obtus, idiosyncratiques et anti-ergonomiques si caractéristiques du projet GNOME, dont MATE est l’héritier direct. Il s’agit là d’un des rares vestiges de la belle époque où les développeurs GNOME se contentaient de fumer la moquette avant de passer au crack et nous faire découvrir leur univers d’ergonomie alternative. Bref.

Dans la myriade d’options de configurations, l’affichage des icônes de bureau se trouve bien caché dans la section org > mate > caja > desktop.

Bureau MATE

Repérez les trois options qui nous intéressent.

  • computer-icon-visible
  • home-icon-visible
  • trash-icon-visible

Cliquez d’abord sur computer-icon-visible et passez son statut de vrai à faux, comme ceci.

Bureau MATE

Revenez dans l’écran principal en cliquant sur le lien en haut de l’écran et procédez de même pour les deux autres options.

Je conserve l’option volumes-visible, étant donné que c’est assez pratique de savoir si un volume (clé USB, disque dur externe, appareil photo, etc.) est monté en voyant l’icône sur le bureau.

Peaufiner le gestionnaire de connexion LightDM

Nous avons vu un peu plus haut que le groupe de paquets “Mate Desktop” installe le gestionnaire de connexion LightDM plutôt que le poids lourd GDM. Voici à quoi cela ressemble dans la configuration par défaut.

LightDM

Sous CentOS, l’aspect de LightDM peut être amélioré très facilement, en installant le paquet slick-greeter, qui fournit une configuration comme on peut la trouver dans la distribution Ubuntu.

# yum install slick-greeter

Une fois qu’on a redémarré la machine, le gestionnaire de connexion se présente comme ceci.

LightDM

Partant de là, on peut très bien obtenir une configuration personnalisée. La configuration de LightDM est éparpilée dans une série de fichiers rangées dans l’arborescence /etc/lightdm. J’ai expérimenté un peu, et je me suis rendu compte que le fond d’écran et le logo pouvaient être personnalisés en éditant le fichier slick-greeter.conf comme ceci.

[Greeter]
background=/usr/share/backgrounds/solaris-workstation.png
logo=/usr/share/pixmaps/microlinux-logo.png

Pour le fond d’écran, j’ai choisi la même texture que celle du bureau, et dont le rendu est correct sur des écrans 4:3 ou 16:9. Quant au logo de mon entreprise, j’ai dû bidouiller un peu la taille du calque avec GIMP pour éviter qu’il se retrouve collé sur le bord gauche de l’écran. Voilà ce que ça donne au final.

Bureau MATE

Remplacer le tableau de bord inférieur par le dock Plank

Le monde de Linux et du libre propose toute une série de docks – ou barres de lancement animées, et il existe une série de projets similaires en apparence comme Docky, Cairo Dock, Avant Window Navigator, Plank, etc. J’ai testé tous ces docks, et j’ai décidé d’opter pour Plank, qui constitue de loin le plus fonctionnel et le plus stable. Il offre juste la poignée de paramétrages qu’il faut, ses animations sont jolies à voir tout en restant discrètes, et il est très peu gourmand en ressources. Tout comme le jeu d’icônes que nous avons vu plus haut, Plank est développé par l’équipe d’Elementary OS.

Sous CentOS, Plank est fourni par le dépôt tiers Nux-Dextop.

# yum install plank

Le lanceur d’applications Plank est censé remplacer le deuxième tableau de bord situé en bas de l’écran, qui offre les fonctionnalités suivantes dans la configuration par défaut.

  • Masquer toutes les fenêtres et afficher le bureau
  • Afficher la liste des fenêtres
  • Afficher le sélecteur de bureaux virtuels

Bureau MATE

Avant toute chose, nous devons donc nous débarrasser de cet élément obsolète, quitte à restituer ses fonctionnalités ailleurs. Cliquez droit sur le tableau de bord inférieur, puis sur Supprimer ce tableau de bord.

Maintenant que la voie est libre, essayez de lancer Plank à la main. Appuyez sur Alt+F2 pour afficher la fenêtre de lancement manuel, saisissez plank et confirmez.

Bureau MATE

Plank s’affiche en bas de l’écran dans sa configuration par défaut.

Bureau MATE

Pour l’instant, Plank n’est pas encore trop fourni en applications. Notre prochain souci consistera à nous assurer qu’il soit lancé automatiquement au démarrage du bureau MATE. Rendez-vous dans Système > Centre de contrôle et ouvrez Applications au démarrage.

Nous allons ajouter Plank à cette liste. Cliquez sur Ajouter et renseignez la petite fenêtre qui s’ouvre. Dans le champ Nom, vous pourrez mettre Plank. Le champ Commentaire sera quelque chose comme Lanceur d'applications. Quant à la Commande, c’est tout simplement /usr/bin/plank. Cliquez sur Valider, fermez le Centre de contrôle et testez la configuration de la session en vous déconnectant et en vous reconnectant.

Bureau MATE

Pour configurer l’aspect et le comportement de Plank, invoquez plank --preferences depuis un terminal. Sélectionnez le thème Transparent dans le menu déroulant, activez le Zoom sur icône et réduisez le facteur de grossissement de 150 à 120.

Bureau MATE

Dans l’onglet Comportement, désactivez l’affichage de l’icône du dock.

Bureau MATE

Il ne reste plus qu’à ajouter des lanceurs pour les applications que l’on utilise le plus souvent.

Bureau MATE

Configurer le tableau de bord supérieur

Une fois que Plank est correctement configuré, on peut passer à la configuration du tableau de bord supérieur.

Le “e” stylisé du menu d’applications – le logo de la distribution Elementary OS – n’est pas très parlant dans notre contexte. Nous allons donc le remplacer par quelque chose de plus adapté. Malheureusement, le menu de MATE n’offre pas la possibilité de sélectionner directement l’icône affichée. Nous allons donc appliquer une petite bidouille.

Ouvrez l’éditeur dconf et allez dans la catégorie org > mate > panel > menubar. L’attribut icon-name prend la valeur start-here par défaut, et l’icône affichée est fonction du thème d’icônes activé, en l’occurrence Elementary Xfce.

Le répertoire /usr/share/pixmaps contient le logo de CentOS sous le nom fedora-logo-sprite, aux formats SVG et PNG. Ce nom n’est réutilisé nulle part ailleurs dans les thèmes d’icônes, et nous allons donc le définir comme icône par défaut pour le menu des applications.

Bureau MATE

Dans la configuration par défaut, le tableau de bord supérieur de MATE arbore trois petits lanceurs rapides pour le navigateur de fichiers, le terminal et le navigateur Web juste à droite du menu Système. Étant donné que le dock Plank fait désormais office de lanceur d’applications, nous pouvons supprimer ces trois icônes pour faire un peu de place.

La prochaine étape consiste à restituer la liste des fenêtres. Faites un clic droit sur la zone centrale vide du tableau de bord et cliquez sur Ajouter au tableau de bord. Parcourez la liste des applets et sélectionnez Liste des fenêtres.

Bureau MATE

Ensuite, il faut ramener la liste des fenêtres plus vers la gauche du tableau de bord. Faites un clic droit sur le petit séparateur, cliquez sur Déplacer et collez l’applet le plus possible à gauche contre le menu Système. Verrouillez le tout au tableau de bord en cochant la petite case correspondante.

Bureau MATE

En haut à droite, l’affichage de la date prend de la place inutilement. Ouvrez les préférences de l’horloge et désactivez l’affichage de la date. À partir de là, un simple clic sur l’horloge affiche un calendrier perpétuel, ce qui fait tout aussi bien l’affaire et nous fait gagner de la place sur le tableau de bord.

Bureau MATE

On va en profiter en passant pour élargir le tableau de bord un tout petit peu. Faites un clic droit sur la zone centrale, cliquez sur Propriétés et augmentez la taille de 24 à 26 pixels.

Il manque encore une fonctionnalité importante qui était fournie par le tableau de bord inférieur, le sélecteur d’espaces de travail. Cliquez droit sur une zone vide du tableau de bord, cliquez sur Ajouter au tableau de bord, et dans la liste des applets, choisissez Sélecteur d’espaces de travail. Déplacez l’applet du côté droit du tableau de bord, juste à côté de la zone de notifications et verrouillez-le. Pour ma part, je n’ai pas besoin de quatre espaces de travail, je réduis donc leur nombre à deux.

Voici à quoi ressemble notre tableau de bord supérieur dans sa nouvelle configuration.

Bureau MATE

Configurer l’apparence du terminal graphique

L’apparence de MATE Terminal peut être améliorée. Ouvrez l’entrée de menu Édition > Préférences du profil pour accéder aux paramètres du terminal.

Dans l’onglet Général, je définis une taille par défaut de 105 x 38 caractères pour la fenêtre de mon terminal.

MATE Terminal

Dans l’onglet Titre et commande, je remplace le titre initial par un simple Terminal.

MATE Terminal

Dans l’onglet Couleurs, je définis la palette Gris sur noir pour le premier plan, et Tango pour la deuxième palette un peu plus bas.

MATE Terminal

Je passe à l’onglet Arrière-plan, où je choisis un ombrage transparent. Je règle l’opacité à 80 % du maximum environ. Nous reviendrons sur ce point un peu plus loin.

MATE Terminal

Dans l’onglet Défilement, je désactive la barre de défilement, étant donné que dans le shell, je me sers uniquement des raccourcis clavier pour le défilement du texte.

MATE Terminal

Et voilà l’aspect de mon terminal dans la configuration personnalisée.

MATE Terminal

Si l’on souhaite définir l’opacité plus précisément, on peut ouvrir l’éditeur dconf dans la catégorie org > mate > terminal > profiles > default et régler le paramètre background-darkness à une valeur comme 0.8 par exemple.

Modifier le pointeur de la souris

Le pointeur noir par défaut est un peu terne et pas très visible. Nous allons installer et configurer un thème plus visible et plus agréable à l’oeil.

# yum install bluecurve-cursor-theme

Ouvrir Système > Préférences > Apparence, sélectionner le thème courant et cliquer sur Personnaliser. Dans l’onglet Pointeur, définir le thème Bluecurve Inverse.

Bureau MATE

Configurer l’économiseur d’écran

La configuration de l’économiseur d’écran se trouve dans le Centre de contrôle, dans la section Apparence. L’application n’offre qu’une poignée d’animations sobres et peu gourmandes en ressources, et dans le lot, nous allons choisir Cosmos.

J’augmente la période d’inactivité de 5 à 30 minutes pour m’éviter d’avoir à déverrouiller l’écran à chaque fois que je vais boire un café.

Bureau MATE

Désactiver la liste des utilisateurs

Dans la configuration par défaut, LightDM affiche la liste de tous les utilisateurs du système. À partir du moment où le réseau a une certaine envergure – comme dans notre lycée local – ça peut vite devenir ingérable. Il vaut donc mieux désactiver l’affichage de la liste des utilisateurs dans le gestionnaire de connexion. Cette option peut être définie dans /etc/lightdm/lightdm.conf.

[Seat:*]
greeter-hide-users=true
greeter-show-manual-login=true

Au prochain redémarrage, chaque utilisateur devra saisir son identifiant de connexion.

LightDM

Création du profil par défaut

La configuration que nous venons de créer peut être définie comme profil par défaut pour les futurs utilisateurs. Dans l’exemple ci-dessus, j’ai personnalisé MATE en tant qu’utilisateur kikinovak. Partant de là, je peux créer le profil comme ceci.

# mkdir /etc/skel/.config
# cd /home/kikinovak
# cp -R .config/{dconf,plank,autostart} /etc/skel/.config/

Au final, voilà ce qu’on doit avoir.

# tree /etc/skel/.config/
/etc/skel/.config/
├── autostart
│   └── plank.desktop
├── dconf
│   └── user
└── plank
    └── dock1
        ├── launchers
        │   ├── audacious.dockitem
        │   ├── caja-browser.dockitem
        │   ├── firefox.dockitem
        │   ├── libreoffice-writer.dockitem
        │   ├── thunderbird.dockitem
        │   └── vlc.dockitem
        └── settings

Remerciements

Un grand merci à Lucian, le mainteneur du dépôt Nux-Dextop, pour son soutien à ce projet, notamment l’ajout du paquet elementary-xfce-icon-theme et l’adaptation du paquet modifié plank.

Publié dans CentOS, Documentation Microlinux | Marqué avec , , | 4 commentaires

En cours de rédaction : CentOS pour les nuls

Logo EyrollesDepuis quelques semaines, je suis attelé à la rédaction de mon prochain ouvrage sur Linux pour l’éditeur Eyrolles. Après Linux aux petits oignons, Ubuntu efficace et Débuter avec Linux, voici venir le quatrième ouvrage spécialisé de ma plume, et peut-être même le cinquième dans la foulée, car vu l’ampleur du sujet, il va probablement falloir répartir ça sur deux tomes.

Là je suis confortablement installé à mon bureau, la fenêtre est ouverte et donne sur les cimes des arbres de la place des Platanes et la garrigue ensoleillée au loin. Les hirondelles construisent leur nid juste à côté de ma fenêtre, et c’est très sympa de les voir faire des loopings enthousiastes ou de s’immobiliser à moins d’un mètre de mon bureau avant l’atterrissage. Plus haut dans le ciel, l’été vient de frapper son premier grand coup de cymbale. La machine à café espresso fonctionne bien et garantit le taux de caféine idéal pour un travail de rédaction soutenu. Écoutez mes phalanges qui craquent.

bibliographie

Pour l’instant, le titre de travail que j’ai donné à mon dossier, c’est Administration Linux. Je pense qu’en définitive ça s’appellera Administration Linux pas à pas ou Administration Linux par la pratique. Ce qui me motive à écrire ce livre, c’est le constat d’un manque sur le marché. Un livre du genre RHEL/CentOS pour les nuls, qui explique pas à pas et sans aucun prérequis l’administration de ces systèmes. Alors bien évidemment, vous me direz qu’il y a déjà une flopée de bouquins qui traitent de ça.

  • Le best-seller du marché, c’est la collection Administration Linux en quatre volumes de Jean-François Bouchaudy dans la collection T-Soft. C’est basé sur CentOS 5, et c’est donc officiellement EOL (End Of Life). Bon, y’a des trucs qui sont pas mal dedans, mais j’avoue que j’ai rarement vu un bouquin technique avec autant d’erreurs factuelles et de fautes de frappe. Il n’y a manifestement eu aucun travail de relecture technique, ou même de relecture tout court. Et quand on regarde les illustrations, on se demande si elles ont été faites par un gamin de trois ans.
  • Un autre best-seller, Red Hat Enterprise Linux et CentOS dans la collection ENI. C’est la réédition d’un grand classique, dont la mise à jour a été copieusement bâclée. À titre d’exemple, la configuration d’Apache sous CentOS 7 concerne en fait celle de la version 6. Et bon, les bouquins techniques qui commencent par me conseiller de désactiver SELinux plutôt que de m’expliquer clairement à quoi ça sert, je ne m’étendrai pas plus là-dessus.
  • Sinon, en langue anglaise, je pourrais à la limite conseiller l’excellent Unix and Linux System Administration Handbook, un des meilleurs bouquins techniques que j’ai pu avoir sous la main. C’est écrit par une équipe d’auteurs extrêmement compétents et bien renseignés. C’est toujours sérieux sans jamais se prendre au sérieux, et c’est souvent même drôle à lire. Sauf que c’est basé sur Red Hat Enterprise Linux, CentOS, Debian, Ubuntu et FreeBSD, ça compte pas moins de 31 gros chapitres pour un total de près de 1.200 pages, et c’est donc le pavé idéal pour les interrogatoires musclés, pour asseoir les gosses dessus à table ou pour caler la porte de la terrasse un jour de Mistral. Il faut donc quelque chose de plus concis que ça. En français.

Maintenant, voilà en grandes lignes le concept de mon bouquin à venir.

  1. Ça parle uniquement des serveurs, en mode console. Pour la configuration des postes de travail, vous n’avez qu’à lire mon blog.
  2. C’est basé sur CentOS 7 et ça se concentre sur la famille Red Hat. Dans mon expérience, les formations qui essaient de danser à toutes les noces (comme on dit dans mon pays natal) finissent par embrouiller les gens qui apprennent. Généralement, je conseille à mes stagiaires de s’initier à Linux (ou Unix) en optant pour un seul système (CentOS), et de voir les autres (Debian, Ubuntu, FreeBSD) par la suite. Eyrolles a déjà deux excellents ouvrages dans la collection des Cahiers de l’Admin, le bouquin sur Debian de Raphaël Hertzog et celui sur les systèmes BSD d’Emmanuel Dreyfus.
  3. Ça doit être pratique et immédiatement utilisable, bien expliqué et sans prérequis externes, en suivant une progression pédagogiquement cohérente. Un des rares points faibles du Unix and Linux System Administration Handbook, par exemple, c’est que ça commence par le chapitre Booting and System Management Daemons, qui vous plonge à froid dans les entrailles de GRUB2 et la personnalisation des unit files de systemd. C’est très bien expliqué, y’a rien à dire. Mais un débutant qui voit ça, il part en courant pour entamer une carrière de réparateur de pirogues sur une île du Pacifique, au sein d’une micro-économie basée sur le troc.
  4. Les configurations fournies en exemple doivent être immédiatement utilisables, telles quelles.
  5. Les techniques enseignées doivent permettre à un administrateur novice de RHEL/CentOS de survivre tout en lui montrant les réflexes de base pour se documenter et apprendre en autonome par la suite.
  6. Sans oublier qu’il faut absolument trouver un nombre suffisant de vannes et de blagues de potache qui me font rire moi-même, mais tout juste en-dessous du seuil de tolérance du comité de relecture d’Eyrolles pour que ça soit amusant à lire. Jusqu’ici ils ont été plutôt sympa. Un grand merci à Alexandre Habian des éditions Eyrolles, qui ne se contente pas simplement de supporter mes idées farfelues et autres délires, mais qui les encourage activement. Publier un bouquin sur Linux basé uniquement sur Slackware en 2017, fallait oser quand-même.

Là j’en suis au chapitre 3, avec une vingtaine de chapitres prévus pour le premier tome. Avec le temps prévu pour l’escalade, le trail, le VTT et le boulot (parce qu’il faut quand-même que je remplisse mon frigo aussi), on va voir si j’arrive à nager d’une rive à l’autre d’ici la rentrée. Je vous tiens au jus.

Rédaction

Publié dans Divers | Marqué avec , | 5 commentaires

Mises à jour automatiques sous CentOS avec yum-cron

Mise à jourUne des règles les plus élémentaires de la sécurité informatique, c’est de garder son système à jour. Sur un serveur dédié qui héberge des services critiques avec une ouverture frontale sur Internet, il est même vital de patcher le plus rapidement possible les vulnérabilités connues de la machine.

Sur un système comme CentOS, c’est tout à fait possible d’automatiser cette tâche dans la mesure où il s’agit d’une distribution de qualité “entreprise”. Concrètement, cela signifie que le distributeur fournit des mises à jour à faible risque, censées corriger des bugs ou des failles de sécurité sans pour autant introduire des nouvelles fonctionnalités susceptibles de perturber le bon fonctionnement des applications hébergées.

Si vous gérez un parc de machines conséquent, vous avez peut-être l’habitude de vous réserver un jour dans la semaine pour gérer toutes vos mises à jour. Peut-être vous demandez-vous dans un coin de votre tête si la mise à jour hebdomadaire est suffisante. Quoi qu’il en soit, il s’agit là d’une tâche répétitive, et comme tous les administrateurs dignes de ce nom le savent, les tâches répétitives sont là pour être automatisées.

Évidemment, rien ne nous empêcherait de définir une tâche automatique sous forme de cronjob. Sous Red Hat Enterprise Linux et CentOS, il vaut mieux utiliser l’outil yum-cron, qui est spécialement pensé pour cette tâche. Le paquet yum-cron est fourni par les dépôts officiels.

# yum install yum-cron

Le paquet installe une paire de fichiers de configuration par défaut.

  • /etc/yum/yum-cron.conf gère les mises à jour quotidiennes du système.
  • /etc/yum/yum-cron-hourly.conf pilote les mises à jour horaires de la machine.

Étant donné qu’une mise à jour quotidienne suffit amplement à nos besoins, nous allons laisser de côté le fichier yum-cron-hourly.conf pour nous concentrer sur yum-cron.conf. Le fichier fourni par défaut est amplement documenté, et avant toute chose, nous allons en faire une copie de sauvegarde.

# cd /etc/yum
# cp yum-cron.conf yum-cron.conf.orig

J’édite le fichier en l’adaptant à mes besoins, et je supprime les commentaires pour plus de lisibilité. Au total, le fichier ressemble à ceci.

# /etc/yum/yum-cron.conf

[commands]
update_cmd = default
update_messages = yes
download_updates = yes
apply_updates = yes
random_sleep = 0

[emitters]
system_name = betadine.microlinux.fr
emit_via = email
output_width = 79

[email]
email_from = root@localhost
email_to = info@microlinux.fr
email_host = localhost

[groups]
group_list = None
group_package_types = mandatory, default

[base]
debuglevel = -2
mdpolicy = group:main

Cette configuration mérite quelques remarques.

  • La directive update_cmd définit le type de mise à jour et distingue théoriquement entre les mises à jour normales (default) et les mises à jour de sécurité (security). Cette distinction vaut uniquement pour Red Hat Enterprise Linux, étant donné que CentOS ne fait pas la distinction dans les métadonnées des paquets. Pour les utilisateurs de CentOS, le seul choix valable est donc default.
  • La directive random_sleep introduit un temps d’attente aléatoire avant de démarrer la mise à jour. L’intérêt de cette configuration, c’est d’éviter de congestionner le réseau si vous avez un nombre important de machines qui lancent leur mise à jour en même temps. Dans la configuration par défaut, ce temps d’attente peut atteindre jusqu’à 360 minutes, c’est-à-dire six heures. Puisque j’ai installé yum-cron sur un serveur dédié, je peux me passer du temps d’attente.
  • Le nom de la machine est spécifié par la directive system_name. Si vous gardez la valeur par défaut None, il équivaudra au nom d’hôte pleinement qualifié, c’est-à-dire le résultat de la commande hostname --fqdn.
  • À partir du moment où vous disposez d’un serveur mail sur la machine, c’est toujours une bonne idée de vous envoyer des notifications par mail. Notez que si vous définissez root@localhost comme expéditeur du mail, localhost sera automatiquement remplacé par le nom d’hôte spécifié dans la directive system_name.
  • Dans la configuration actuelle, c’est /etc/cron.daily/0yum-daily.cron qui est lancé en fonction de l’heure précisée dans /etc/anacrontab. Sans trop rentrer dans les détails, yum-cron se lance grosso modo toutes les nuits entre 3h00 et 4h00, ce qui convient parfaitement à mon utilisation. Les éventuels redémarrages disruptifs de certains services – notamment httpd – s’effectuent alors à une heure de faible affluence.

Il ne reste plus qu’à activer le service au démarrage et à le lancer.

# systemctl enable yum-cron
# systemctl start yum-cron

Voici à quoi ressemble un mail de notification de yum-cron après l’application d’une mise à jour automatique.

Notification yum-cron

Publié dans CentOS, Documentation Microlinux | Marqué avec , , | Laisser un commentaire

La dématérialisation, chronique de la folie ordinaire

DématérialisationÀ l’heure où tout le monde parle de “transformation numérique” et de “dématérialisation”, j’avoue platement que dans ma tête, ces deux termes sont rangés dans les mêmes zones cérébrales que “file d’attente à la préfecture” ou “extraction de dent de sagesse sans anesthésie”.

Lorsque j’ai créé mon entreprise Microlinux en août 2009, j’ai été accompagné par un conseiller de la Boutique de Gestion du Gard, à Nîmes. Toutes les démarches comme l’inscription de l’entreprise ou la demande ACCRE (Aide aux Chômeurs Créant ou Reprenant une Entreprise) s’effectuaient en ligne, et mon conseiller faisait de son mieux pour mettre les croix virtuelles dans les bonnes cases dématérialisées.

Ma demande ACCRE était plus ou moins une formalité, puisque je remplissais rigoureusement tous les critères. Mon contrat à la Mairie de Montpezat – où je gérais l’informatisation et la mise en réseau des Médiathèques de la Communauté de Communes du Pays de Sommières – avait pris fin en été 2008, et au bout de près d’un an de recherche d’emploi, j’avais décidé de créer ma propre entreprise.

ArgentAu bout de la première année, l’URSSAF du Gard m’a demandé de payer l’intégralité des charges que je leur devais pour toute l’année. Quelques milliers d’euros, je ne sais plus le chiffre exact et j’ai la flemme d’aller vérifier, peu importe d’ailleurs. C’était beaucoup d’argent, et je n’avais pas la somme. Je les ai contactés en exprimant mon incompréhension, étant donné que j’avais effectué une demande ACCRE, ce qui était censé m’exonérer des charges à payer pendant au moins la première année de création de mon entreprise. La réponse de l’URSSAF m’a quelque peu interloqué.

“Non, vous n’avez pas demandé l’ACCRE.”

Et là, j’avais beau insister sur le fait que mon conseiller de création d’entreprise et moi avions bien effectué une demande ACCRE en ligne, et que la demande avait bien été validée.

“Eh non, la demande en ligne ne fonctionne pas, vous auriez dû le faire sur papier.”

J’ai donc fait un courrier à l’URSSAF pour leur expliquer que ce n’était pas à moi de faire les frais de leurs dysfonctionnements, et je demandais tout simplement qu’on rectifie le tir et qu’on m’accorde l’ACCRE. Pour toute réponse, j’ai eu une mise en demeure avec une majoration de retard à payer.

URSSAF

Ne sachant pas trop où donner de la tête, je me suis adressé au Médiateur de la République à Nîmes, qui est intervenu dans l’affaire en écrivant au directeur de l’URSSAF du Gard, et en lui suggérant de montrer un peu de bienveillance à mon égard, étant donné que le refus de l’ACCRE – dont l’attribution était normalement une formalité – risquait de me ruiner dans l’état actuel des choses. Le directeur de l’URSSAF a répondu par courrier au Médiateur de la République, en lui signifiant son refus en une phrase simple. La position de l’URSSAF est juridiquement viable. Sic.

JusticeJe suis donc allé voir une avocate à Nîmes, et j’ai intenté un procès à l’URSSAF. Je me disais que les choses étaient assez simples, puisque l’URSSAF ne niait pas le dysfonctionnement de son portail et qu’elle insistait à ce que je paye les pots cassés. Mon avocate débutait dans le métier et acceptait les dossiers avec l’aide juridictionnelle. Elle me disait qu’elle était un peu perdue dans tout ça et que je ne devais pas oublier le fait que je n’avais pas affaire à n’importe qui.

Au bout de deux ans de procès, j’ai été débouté de ma demande, et dans les conclusions, on peut lire l’argument cocasse qu’étant donné que M. Kovacs est expert en informatique, il aurait dû anticiper le dysfonctionnement du portail de l’URSSAF. Donc en gros, ça veut dire que si je suis mécanicien de voitures, n’importe qui a le droit de me vendre une épave maquillée sous prétexte que j’aurais dû en anticiper les dysfonctionnements sous le capot. Bref.

Don QuichotteJe ne suis pas Don Quichotte, et je reconnais le moment où il faut cesser de se battre contre les moulins de l’administration française. J’ai donc troqué ma vieille moto BMW contre un vélo pour payer les charges d’URSSAF et les frais juridiques, et j’ai quand-même réussi tant bien que mal à ne pas couler.

Il y a deux ans environ (je ne sais plus exactement, et cela n’a pas non plus d’importance ici), l’URSSAF m’a écrit pour m’annoncer que désormais toutes les déclarations devaient se faire de manière dématérialisée sur le site Net Entreprises. J’ai regardé un peu le portail en question, et je me suis retrouvé confronté à une immonde usine à gaz, un amalgame déplaisant de bordel et de rigueur, dont l’ergonomie avait visiblement été confiée à une équipe de Shadoks. Pour l’aspect visuel, ils ont fait quelques progrès depuis, mais sous le capot, ça dysfonctionne toujours autant.

Déclaration de recettesJ’ai envoyé un courrier à l’URSSAF pour leur faire savoir qu’il était hors de question que j’utilise leur nouvelle interface, et qu’ils veuillent bien m’envoyer un bon vieux formulaire papier. Je leur ai rappelé que le papier constituait avant tout une technologie pérenne qui a fait ses preuves depuis plusieurs millénaires. Le papier est exempt de bugs, il ne connaît pas de problèmes de téléchargement ni de soucis de compatibilité. Et il ne me somme pas non plus d’installer la version Windows d’Adobe Reader sur ma station de travail Linux.

Pendant près de deux ans, l’URSSAF a ainsi continué à m’envoyer des formulaires papier. Non sans une constante réticence, car il a fallu quand-même que je les rappelle à l’ordre tous les trimestres, en leur écrivant des courriers, en les appelant et en sautant à travers les habituels cerceaux en feu. Mais j’ai toujours fini par obtenir mon formulaire bleu et blanc Déclaration Trimestrielle de Recettes, que je mettais deux minutes à remplir, dater et signer avant de le plier, de le mettre dans une enveloppe avec un chèque pour la cotisation, et l’affaire était réglée.

Tout ça c’est fini maintenant. Depuis janvier 2018, plus de formulaire papier, et j’ai donc fait ma première déclaration en ligne sur le site Net Entreprises, pour laquelle il m’a fallu une matinée entière. Et encore, visiblement cela n’a pas fonctionné, parce que deux mois après avoir effectué ma déclaration pour le premier trimestre 2018, je n’ai toujours pas été débité.

Musique d'attenteCe matin j’ai donc appelé le 3957, où je me suis farci une bonne demi-heure de musique d’attente avant d’avoir une conseillère au téléphone. Elle a regardé mon dossier et m’a fait savoir que la déclaration n’a pas fonctionné et qu’il fallait la refaire. Je lui ai demandé s’il y avait moyen de prendre rendez-vous avec un conseiller à l’URSSAF du Gard pour voir ça directement, mais les rendez-vous ne peuvent pas être pris au téléphone. Il faut aller sur le site de l’URSSAF pour vous inscrire, Monsieur.

Je me suis donc rendu sur le site de l’URSSAF, j’ai voulu créer un compte pour pouvoir prendre rendez-vous, et j’ai eu droit au message d’erreur suivant.

Bug URSSAF

Et oui, mon numéro SIRET c’est bien le 51406750300011. Saloperie de bordel à cul de pompe à merde.

Du coup j’ai pris la moto, j’ai fait vingt kilomètres pour aller à Nîmes, et je me suis rendu à l’URSSAF, où il y a juste un portail fermé et un interphone. J’ai sonné à l’interphone, et la dame à l’accueil a refusé de m’ouvrir, mais elle m’a fait savoir que c’était uniquement sur rendez-vous et qu’il fallait que j’appelle le 3957 pour prendre rendez-vous.

Musique d'attente“Oui mais ce matin j’ai déjà appelé le 3957 et j’ai eu votre collègue qui m’a dit qu’on ne pouvait pas prendre rendez-vous au téléphone.”

“Ah ben il faut le faire sur le site de l’URSSAF alors.”

“Je veux bien, mais je n’ai pas réussi à m’inscrire sur le site pour prendre rendez-vous. Le site a un bug, il ne reconnaît pas mon numéro de SIRET.”

Après avoir parlementé encore, j’ai réussi à obtenir un rendez-vous pour demain matin, pour parler à un conseiller.

C’est reparti pour un tour. À suivre.

BMW K75

Publié dans Non classé | Marqué avec | 17 commentaires