Connecter deux casques bluetooth mac: comment faire?

Lundi 13 mai, j’étais dans le train pour un long trajet Paris>Toulouse. Un bon moment pour regarder le dernier épisode de Game of Thrones non? Mais partager ses AirPods, c’est pas pratique. Idéalement, je voulais connecter deux casques bluetooth sur le Macbook. Et ça marche!

Étape 1. Il tout d’abord appairer les 2 AirPods sur le mac, via le bluetooth. Vous devriez pouvoir jongler facilement entre les 2.

Étape 2. Il faut créer une « sortie agrégée » sur le Macbook. Il y a une page de l’assistance Apple qui explique cela.

Étape 3. On se rend compte maintenant qu’il n’est pas possible de modifier le volume sur la sortie agrégée. Alors on déconnecte chaque AirPods, on le reconnecter un par un, on fixe chacun son volume de sortie et que reconnecter la sortie agrégée.

Trop bien! Et sur iPhone? La réponse est simple aussi: non. Il n’est pas possible de connecter 2 écouteurs bluetooth sur iPhone.

Connecter 2 AirPods sur iPhone et iPad

C’est désormais possible! Avec iOS 13.1, le 24 septembre, il est possible de connecter 2 paires d’AirPods et de transmettre le son aux 2 paires. Ça fonctionne avec tous les écouteurs bluetooth avec une puce Apple W1 ou H1, c’est à dire les AirPods et les écouteurs Beats.

Compresser un ePub: ma méthode pour réduire la taille d’un ePub

Lorsque j’ai terminé mon ebook, je l’ai tout naturellement exporté et j’ai obtenu un fichier ePub de… 160Mo. C’est beaucoup trop. Il est nécessaire de compresser un ePub avant de le publier car les distributeurs (Amazon en premier), facturent le coût de la distribution en fonction de la taille du fichier. Avec ma méthode, j’ai obtenu un ePub de 29Mo: 80% de compression. Pas mal non?

Réduire la taille d’un ePub: quels éléments?

Fichier ePub trop lourd? Pour alléger un ePub, on va parler compression. La 1ère source d’éléments à compresser dans un ePub, ce sont les images! Dans mon cas, elles représentent 90% de la taille de mon eBook.

On peut trouver aussi d’autres sources d’optimisations comme le nombre de police intégrés.

Structure d’un fichier ePub

Comprenons déjà la structure d’un fichier ePub. Un fichier ePub est une archive Zip d’une structure bien définie:

  • le 1er fichier de l’archive est mimetype. Il ne doit pas être compressé.
  • un dossier « META-INF » contenant quelques informations de base sur la structure.
  • un autre dossier, « OPS » ou « oebps » contenant les données du ePub.

Le fichier mimetype permet aux applications qui vont lire ce fichier de le considérer comme un fichier spécial de type application/epub+zip, et pas comme une simple archive zip.

Le contenu du fichier mimetype fait exactement 20 caractères, sans saut de ligne à la fin:

application/epub+zip

Ce que ça veut dire, c’est que nous allons pouvoir dézipper le ePub pour comprendre ce qui prend de la place afin de pouvoir compresser un ePub en conséquence.

Commencez donc par dézipper le fichier ePub. Vous pouvez ajouter l’extension .zip pour vous aider. Sur macOs, via le terminal, la commande est:

flogg@MacBook:~/ePub$ unzip MonEBook.epub

On obtient la structure:

flogg@MacBook:~/ePub$ ls
META-INF/   OPS/        MonEBook.epub  mimetype

Réduire la taille d’un ePub: les images

Aller donc voir la taille du dossier OPS/images/. Il est énorme? Parfait, on va pouvoir compresser.

L’analyse dépend de chaque cas. Je vous raconte le mien mais le votre pourrait être différent.

Premier constat, je n’ai que des fichiers PNG. Clairement, ce n’est pas le format le plus efficace pour mon type de contenu. On préférera le format JPEG. Ce changement n’est valable que pour les images que n’ont pas besoin de fond transparent. Pour ces dernières, il n’y a pas d’autres choix que de conserver le format PNG.

Deuxième constat, ces fichiers ne sont pas optimisés du tout. Une simple optimisation des fichiers en suivant les recommandations de Google m’a permis de gagner 50Mo.

Convertir les images d’un ePub en JPEG

Les fichiers ePub supportent 4 types de fichiers images:

  • PNG
  • JPEG
  • GIF
  • SVG

Pour convertir de JPEG en PNG, j’utilise ImageMagick en ligne de commande sur macOs. Rappel: la transformation va remplacer les images au fond transparent par un fond blanc (-background white).

flogg@MacBook:~/ePub$ convert ./OPS/images/image.png -background white -alpha remove ./OPS/images/image.jpg
flogg@MacBook:~/ePub$ rm ./OPS/images/image.png

Il faut maintenant changer toutes les références de ce fichier dans tout votre ePub:

  • OPS/epb.opf: Ce fichier contient un inventaire des fichiers de l’ePub. Il faut remplacer une ligne comme:
<item id="dataItem5" href="images/image-1.png" media-type="image/png"/>

par

<item id="dataItem5" href="images/image-1.jpg" media-type="image/jpg"/>
  • OPS/page-xxx.xhtml: Ce fichier contient une page de votre ePub. Il suffit de remplacer toutes les occurrences de images/image-1.png par images/image-1.jpg

Répétez l’opération pour toutes les images. Vous pouvez automatiser l’opération de renommage des occurrences avec sed, par exemple:

flogg@MacBook:~/ePub$ sed -i'' -e "s/images\/image-1.png/images\/image-1.jpg/g" ./OPS/page-*.xhtml
flogg@MacBook:~/ePub$ sed -i'' -e "s/href=\"images\/image-1.png\"\ media-type=\"image\/png\"/href=\"images\/image-1.jpg\"\ media-type=\"image\/jpeg\"/g" ./OPS/epb.opf
flogg@MacBook:~/ePub$ rm ./OPS/*-e

La simple conversion de mes fichiers PNG en JPG m’a permis de compresser un ePub de 60% (157Mo > 63,1Mo).

Compresser les images d’un ePub

Que les images soient au format JPG ou PNG, c’est pareil et c’est très simple. Compresser toutes les images avec un programme comme ImageOptim, en suivant les recommandations de Google pour l’optimisation des images. Oui, on va dégrader la qualité de certaines images mais ce sera difficilement visible à l’oeil.

J’ai obtenu une compression d’environ:

  • 30% pour les fichiers PNG
  • 50% pour les fichiers JPG

Supprimer les images en doublon

Dans mon cas, j’utilise à plusieurs reprises une même image (un rond rouge). L’image de ce rond rouge est présente plus de 50 fois, avec un nom différent.

On peut compresser un peu plus l’ePub en ne conservant qu’une occurence de cette image et en remplaçant toutes les occurrences dans les fichiers page-xxx.html et epb.opf.

Je n’ai pas fait cette optimisation car le gain était assez minimes dans mon cas (moins de 1Mo).

Réduire la taille d’un ePub: les polices

Si vous incorporez les polices dans votre ePub, elles sont enregistrés dans le dossier OBS/fonts/.

Vérifiez les polices incorporées, et si elles sont toutes justifiées.

Dans mon cas, j’ai découvert 2 polices inutiles incorporées:

  • « Wingdings »: pour 2 malheureuses puces rondes.
  • « FontAwesome5Pro-Solid-900.otf »: pour 2 petites icônes grasses alors que les autres ne le sont pas

Remplacer ces polices dans votre éditeur d’eBook afin qu’elles ne soient pas présentes à l’exportation.

Réduire la taille d’un ePub: reconstruire le fichier

Pour reconstruire le fichier, il faut suivre correctement et à la lettre le format ePub. Suivez le guide ici: Reconstruire un fichier ePub

Compresser un ePub: comparatif des améliorations

Voici un récapitulatif des gains possibles avec mon fichier de base:

ÉtapePoids du fichiers
Origine160Mo
Optimisation PNG-57Mo
Conversion JPG-100Mo
Conversion JPG
+ Optimisation
-130Mo
Suppression des polices inutiles-3Mo
Suppression des images en doublons-1Mo

Pour mon eBook, j’ai choisi de convertir en JPG, optimiser les images et supprimer les polices inutiles et j’ai finalement obtenu un ePub de 29Mo! YEAH!

Sauvegarde automatique de base de données MySQL: mon script

Une sauvegarde automatique de la base de données MySQL peut sauver! Un piratage de site peut toujours arriver et sans sauvegarde, vous êtes bon pour tout recommencer depuis zéro.

Faire une sauvegarde (un backup) sur le même serveur, c’est un début mais ça ne suffit pas. Si un pirate a accès à votre serveur, il peut facilement tout supprimer, y compris vos sauvegarder. C’est pourquoi il faut conserver vos backups sur un autre support. Tout d’abord sur un autre serveur, puis également sur un support déconnecté d’Internet.

Quelles solutions possibles?

Sauvegarde automatique avec WordPress

Il existe plusieurs plugins WordPress qui fonctionnent très bien. Le plus connu est certainement UpDraftPlus.

Mais les plugins WordPress… faut pas non plus en abuser. Il y a déjà assez de plugins dans tous les sens, lorsque je peux éviter d’en ajouter, j’évite!

Sauvegarde WordPress sans plugin

Pour sauvegarder les articles de WordPress sans plugin et de manière automatique, il faut passer par un script de sauvegarde. Ce script fera appel à MysqlDump pour créer des sauvegardes et Crontab pour le planifier chaque jour.

Sauvegarde automatique avec MysqlDump et Crontab

J’ai mis en place un script qui effectue une sauvegarde automatique de la base de données tous les jours sur un NAS situé chez moi. Tous les 3 mois, je fais une sauvegarde froide, je fais une copie des dernières sauvegarde sur un disque externe. Avec ce process, j’ai une réponse à plusieurs risques:

  • Piratage du site: récupération depuis la sauvegarde de la veille
  • Piratage du site + du serveur de sauvegarde: récupération depuis la sauvegarde d’il y a max 3 mois.

Dans mon cas, le « serveur de sauvegarde » est un Raspberry Pi. C’est lui qui va créer les backups et les enregistrer sur le NAS.

Sécurité de la sauvegarde automatique de base de données

L’idée générale, c’est une tâche ordonnancé par cron qui se connecte automatiquement au serveur, sauvegarde les bases de données et les transfert sur le NAS. Pour limiter les accès du programme de sauvegarde, on va créer un utilisateur spécial pour se connecter en SSH, et un autre pour accéder à la base de donnée.

Créer un utilisateur sans permissions dans Linux

La configuration par défaut suffit. La commande est simple:

ubuntu@serveur: sudo adduser backupuser

Saisissez un mot de passe compliqué, issu d’un générateur de mot de passe. De toutes façons, on ne va jamais l’utiliser puisque la connexion SSH par mot de passe est désactivé sur le serveur web.

Pour permettre la connexion par clef SSH, il faut ajouter notre clef . Copier la clef SSH du serveur de sauvegarde:

ubuntu@pi:~$ cat ~/.ssh/id_rsa.pub

Sur le serveur web, ajouter votre clef pour le nouvel utilisateur:

ubuntu@serveur:~$ sudo -u backupuser bash
backupuser@serveur:~$ mkdir -p ~/.ssh
backupuser@serveur:~$ echo "MACLEFSSH" >> ~/.ssh/authorized_keys

Désormais, le serveur de sauvegarde sait se connecter au serveur web, avec un utilisateur sans permissions. Sans risque donc.

Créer un utilisateur MySQL dédié pour la sauvegarde

De même pour l’utilisateur MySQL (ou MariaDB). On créé un utilisateur n’ayant pour permissions que la lecture (=SELECT).

On se connecte à MariaDB avec les droits root pour créer cet utilisateur:

ubuntu@serveur:~$ sudo mysql
MariaDB [(none)]> GRANT SELECT ON *.* TO 'backupuser'@'localhost' IDENTIFIED BY 'secret-password';

On peut maintenant se connecter avec cet utilisateur pour sauvegarder la base de données: il peut lire toutes les bases de données et ne peut en modifier aucune: parfait!

Script de sauvegarde automatique

Le programme de sauvegarde est piloté par le serveur de sauvegarde (mon Raspberry Pi). Il va se connecter en SSH, exécuter le programme de sauvegarde, rapatrier les fichiers de sauvegarde créés et supprimer ces fichiers du serveur web.

#!/bin/sh

SQL_USER="backupuser"
SQL_PASS="secret-password"
SQL_HOST="localhost"

SSH_USER="backupuser"
SSH_HOST="monServeur"

FILE_PREFIX="backup_db"
FILE_PATH="/media/smb/Backups/"

FILE_DATE=`date +%Y-%m-%d-%H-%M-%S`
TARGET_FILE_PATH="/tmp/backupuser/"

DB_SCRIPT="MYSQL_PWD=$SQL_PASS mysql -h $SQL_HOST -u $SQL_USER -e \"SHOW DATABASES;\" | tr -d \" | \" | grep -v -e Database -e _schema -e mysql"
DB_SAVE="MYSQL_PWD=$SQL_PASS mysqldump -h $SQL_HOST -u $SQL_USER --single-transaction --skip-lock-tables \$DB_NAME > $TARGET_FILE_PATH$FILE_PREFIX.\$DB_NAME.$FILE_DATE.sql"
DB_COMPRESS="gzip $TARGET_FILE_PATH$FILE_PREFIX.\$DB_NAME.$FILE_DATE.sql"

ssh -T $SSH_USER@$SSH_HOST << EOSSH
mkdir -p $TARGET_FILE_PATH
DATABASES=\$($DB_SCRIPT)
for DB_NAME in \$DATABASES; do
	\$($DB_SAVE)
	\$($DB_COMPRESS)
done
EOSSH

# On transfert les données du script client
scp $SSH_USER@$SSH_HOST:$TARGET_FILE_PATH$FILE_PREFIX.*.sql.gz $FILE_PATH

# On supprime le script client et les fichiers temporaires
ssh $SSH_USER@$SSH_HOST "rm $TARGET_FILE_PATH$FILE_PREFIX.*.sql.gz"

Déchiffrons le fonctionnement du script, point par point

1/ La configuration du script

Ici, ce sont les variables qu’il faut modifier pour que le script fonctionne.

  • Nom du serveur Web
  • Utilisateur SSH du serveur Web
  • Nom du serveur SQL
  • Utilisateur SQL
  • Mot de passe SQL
  • Chemin où seront enregistrés les fichiers de sauvegarde
  • Préfixe pour le nom des fichiers de sauvegarde
SQL_USER="backupuser"
SQL_PASS="secret-password"
SQL_HOST="localhost"

SSH_USER="backupuser"
SSH_HOST="monServeur"

FILE_PREFIX="backup_db"
FILE_PATH="/media/smb/Backups/"

2/ Les variables de travail

On stocke la date actuelle qui servira à nommer les fichiers, afin d’avoir des noms fichiers uniques.

Le chemin temporaire de travail peut être modifié. /tmp est généralement stocké en RAM. Si vous avez des grosses bases de données, ça pourrait ralentir le serveur web.

FILE_DATE=`date +%Y-%m-%d-%H-%M-%S`
TARGET_FILE_PATH="/tmp/backupuser/"

Les 3 fonctions à exécuter

On définit les 3 opérations à exécuter:

  • Lire la liste de la base de données
  • Sauvegarder une base de données
  • Compresser un fichier de sauvegarde

Ces fonctions seront exécutés dans un tunnel SSH.

Les options de mysqldump:

  • Single Transaction: la sauvegarde se fera dans une transaction SQL: ça permet de conserver l’intégrité des données sans bloquer la base de données.
  • Skip Lock Tables: pas besoin de vérouiller la base de données pendant le backup puisqu’on l’effectue dans une seule transaction SQL

Je me suis inspiré de cet article intéressant sur les options de mysqldump.

DB_SCRIPT="MYSQL_PWD=$SQL_PASS mysql -h $SQL_HOST -u $SQL_USER -e \"SHOW DATABASES;\" | tr -d \" | \" | grep -v -e Database -e _schema -e mysql"

DB_SAVE="MYSQL_PWD=$SQL_PASS mysqldump -h $SQL_HOST -u $SQL_USER --single-transaction --skip-lock-tables \$DB_NAME > $TARGET_FILE_PATH$FILE_PREFIX.\$DB_NAME.$FILE_DATE.sql"

DB_COMPRESS="gzip $TARGET_FILE_PATH$FILE_PREFIX.\$DB_NAME.$FILE_DATE.sql"

Le tunnel SSH

On ouvre le tunnel SSH et on créer le dossier qui va recevoir nos fichiers temporaires. On sort le liste des bases de données puis on boucle dessus pour créer et compresser une sauvegarde pour chaque base de données

ssh -T $SSH_USER@$SSH_HOST << EOSSH
mkdir -p $TARGET_FILE_PATH
DATABASES=\$($DB_SCRIPT)
for DB_NAME in \$DATABASES; do
	\$($DB_SAVE)
	\$($DB_COMPRESS)
done
EOSSH

Rapatriement des fichiers de sauvegarde

Une simple copie avec SSH de tous les fichiers backups compressés (*.sql.gz) vers notre répertoire de sauvegarde.

scp $SSH_USER@$SSH_HOST:$TARGET_FILE_PATH$FILE_PREFIX.*.sql.gz $FILE_PATH

Nettoyage des fichiers temporaires

Pour ne pas laisser trainer des fichiers inutiles sur le serveur, on supprime tous les fichiers backups compressés de notre répertoire de travail

ssh $SSH_USER@$SSH_HOST "rm $TARGET_FILE_PATH$FILE_PREFIX.*.sql.gz"

Planification de la sauvegarde automatique dans Cron

Il ne reste plus qu’à planifier une sauvegarde automatique de base de données toutes les nuits, et le tour est joué. On ouvre crontab pour un utilisateur standard du serveur de sauvegarde.

ubuntu@pi:~$ crontab -e

Et on ajoute cette ligne:

3 33 * * * /home/ubuntu/Scripts/backup-bdd.sh

Tous les jours, à 3h33, une sauvegarde automatique de la base de données du serveur Web sera effectuée.

Faire taire le message d’accueil SSH

Quand vous utiliserez ce script, il est possible que le message d’accueil SSH vous agace. C’est mon cas.

La solution est très simple, il suffit d’ajouter un fichier .hushlogin dans son répertoire personnel.

backupuser@serveur:~$ touch .hushlogin

Optimiser les images sur macOs facilement avec ImageOptim

Il est très important d’optimiser les images pour le web. Le site sera plus rapide et mieux référencé. L’optimisation des images est une part importante du SEO technique. J’ai longtemps chercher une solution idéale pour optimiser les images sur macOs facilement, et j’ai enfin trouvé!

Pour WordPress, je préfère optimiser les images avant de les télécharger sur le site. La raison est toute simple: WordPress est souvent bien assez chargé de plugin, autant éviter d’un ajouter. D’une manière générale, si je peux faire quelque chose sans plugin WordPress, je n’hésite pas.

ImageOptim pour optimiser les images sur macOs

ImageOptim, c’est gratuit, c’est Open-Source et l’interface graphique est agréable. On part déjà sur de bonnes bases. Pour l’installer, télécharger l’archive sur le site officiel: https://imageoptim.com, décompresser l’archive et copier le programme dans « Applications ». ImageOptim n’est pas disponible sur HomeBrew :(.

ImageOptim intègre et cumule tous les optimiseurs d’image les plus utilisés:

  • JPEG (.jpg / .jpeg)
    • jpegoptim
    • guetzli
  • PNG
    • PNGOUT
    • OxiPNG
    • AdvPNG
    • PNGCrush
  • GIF (ou Jif?)
    • Gifsicle
  • SVG
    • SVGO
    • SVGCleaner

On peut facilement choisir entre une compression sans perte (Lossless) ou avec, on peut conserver le timestamp initial, on peut supprimer les informations EXIF.

J’ai opté pour une compression avec perte, en suivant les recommandations de Google pour le JPEG: « au delà de 85%, la taille de l’image grandit vite mais n’apporte que peu d’amélioration visuelle » (source: Google PageSpeed du 9 février 2019). Pour le format PNG et SVG, j’ai également opté pour une compression avec perte, pour une qualité de 90%. Bien entendu, je supprime toutes les informations EXIF et la correction Gamma des PNG (là encore, sur recommandation de Google). Enfin, j’ai mis la vitesse d’optimisation la plus lente pour avoir la meilleure compression.

Utilisation d’ImageOptim

Pour optimiser les images sur macOs avec ImageOptim, c’est très simple. Un clic droit sur l’image puis « Image Optimize » et le tour est joué. La compression peut prendre plusieurs secondes suivant la taille de l’image et la puissance de votre ordinateur.

Après compression, l’image est remplacée: il n’y a pas de copie de sauvegarde de l’image d’origine. Pour mon utilisation, ça m’arrange mais sachez le avant de traiter en lot des images précieuses.

Optimiser les images sur macOs clic droit

On peut traiter une image ou un lot d’image tout aussi simplement, en les sélectionnant et en faisant un clic droit.

ImageOptim est très efficace. Depuis que je l’utilise, Google PageSpeed n’a plus rien à redire sur mes images.

Exemple d’optimisation d’image

Démonstration sur une image au hasard. Au départ, cette image JPEG fait 9,8Mo. Après optimisation, on arrive à 5,9Mo. A l’arrivée, l’image est presque 40% plus légère. Ça veut également dire un coût de bande passante 40% moins élevé pour la même image.

OptimImage est simple, gratuit et efficace. Il fait une tâche et la fait bien. On serait beaucoup plus heureux si tout était aussi simple :).

GeForce Now: retour d’expérience après 1 an d’utilisation

Déjà 1 an que j’ai reçu l’email de Nvidia « Congratulations! You’re In The Free GeForce NOW Beta ». 1 an que j’utilise ce service de jeu vidéo en streaming. La conclusion est sans appel: j’ai revendu ma console et je n’imagine jamais en racheté: le jeu en streaming, c’est le tur-fu.

Pour vous inscrire sur la liste d’attente de la bêta, c’est ici: https://www.nvidia.com/en-us/geforce/products/geforce-now/waitlist/

C’est quoi le jeu vidéo en streaming?

Jouer en streaming, ça veut dire que les ressources matériels ne sont pas chez vous: vous les louez à la demande. Seul votre écran, clavier, souris sont mis à contribution, le reste est réalisé sur des serveurs qui vous renvoient une vidéo.

Qui propose du jeu vidéo en streaming?

Plusieurs acteurs se sont lancés, une petite liste non-exhaustive:

  • GeForce Now (Nvidia)
  • LiquidSky: fermé depuis
  • PlayStation Now (Sony)
  • Stradia (Google)
  • Shadow
  • Vortex

Tous ne fonctionnent pas pareil. Avec Shadow, vous louez un PC avec Windows 10: à vous de faire la suite. Avec GeForce Now, vous lancez directement les jeux Steam: pas d’installation nécessaire.

Pourquoi GeForce Now, c’est génial?

J’aime bien jouer aux jeux vidéos mais je ne suis pas un hardcore gamer. D’ailleurs, je n’ai jamais vraiment eu de PC de compétition. J’ai fini GTA 3 à base de AMD Duron et GeForce 3 Ti (bonjour l’ancêtre!). Mon PC, c’est un portable, petit, léger, passe partout. Grâce à GeForce Now, ce petit PC est capable de faire tourner n’importe quel jeu en FullHD.

J’ai essayé plusieurs dizaines de jeux. Qu’est ce que c’est agréable de pousser tous les détails à fonds, d’être en FullHD et ne pas ressentir un poil de ralentissement. Tout est fluide, simple, rapide.

Mon PC, c’est un Macbook. Pratiquement aucun jeu n’est imaginable avec car c’est macOs et c’est peu puissant. Grâce à GeForce Now, plus de limite!

Vous connaissez ces mises à jour de 20Go sur PS4 ou Xbox One? Perso, j’ai oublié. Sur GeForce Now, tous les jeux sont systématiquement à jour. Entre le moment où je veux jouer et le moment où le jeu début, il ne s’écoule jamais plus de 10s!

Je suis convaincu par ce service et je resterai abonné lorsque l’offre commerciale débutera. C’est un service qui fonctionne très bien, très simplement.

Les inconvénients de GeForce Now

GeForce Now, c’est pas non plus la solution ultime. Voici les principaux défauts que j’ai pû rencontrer:

  • oubliez le WiFI, seul le cable est fiable
  • la latence
  • le catalogue
  • les mods

Jouer à GeForce Now en WiFi? Non?

Le service indique qu’une connexion câblée est préférable mais qu’il est possible de jouer avec un bon WiFi 5Ghz, voir en 4G.

Effectivement, je peux lancer un jeu avec un WiFi 5Ghz mais c’est injouable. La latence est bien trop élevée, même pour des jeux comme City Skyline.

Si vous voulez correctement jouer, la connexion câblée est la seule fiable.

La latence sur GeForce Now?

Même pour un casual gamer, la latence peut être gênante (même avec une connexion câblée). C’est jouable mais parfois la connexion perd en qualité et la latence apparait. Je l’ai particulièrement constaté sur des jeux comme Fallout.

Vous me direz, c’est ton ADSL qui est en cause. Oui, peut-être que c’est mieux en fibre. Malheureusement, mon immeuble est bien en zone de couverte Fibre mais la seule réponse que j’ai eu d’Orange est « ça nous fait chier de venir l’installer » (après 5 no-show 👏).

Tout le catalogue Steam?

Oui, il est possible de jouer à tout le catalogue Steam, mais il y a quand même 2 écoles:

  • les jeux populaires
  • les autres

Les jeux populaires sont jouables directement, les sauvegardes sont conservées, tout marche très bien.

Pour les autres jeux, il faut les « installer » en sachant que toutes les données seront supprimés à la fin de la session. La sauvegarde sur Steam Cloud fonctionne. L’installation est extrêmement rapide mais il est parfois nécessaire de bidouiller (par exemple, avec Fallout New Végas, il faut changer plusieurs fois la langue que le jeu se lance en français).

Des mods sur GeForce Now? pour l’instant, non

C’est pas forcement gênant pour tout le monde. Sur City Skyline, j’aurai adoré pouvoir utiliser des mods du Steam Workshop. Cette fonction n’est pas (encore?) supporté. Adieu les mods, bonjour les jeux Vanilla.

C’est tout pour mon retour d’expérience sur GeForce Now. Un grand avantage de la bêta, c’est bien sur que c’est gratuit! Si vous avez des questions sur GeForce Now, je peux y répondre.

Le même SSID pour le WiFi 2,4Ghz et 5Ghz?

Avec la généralisations des routeurs 5Ghz, je me suis posé la question s’il était préférable de conserver le même SSID pour le WiFi 2,4Ghz et 5Ghz, ou s’il valait mieux les différencier.

En théorie oui c’est mieux mais en fait, non.

Lorsqu’un réseau WiFi ayant le même SSID (le même nom) et la même sécurité mais émettant sur des fréquences différentes, le périphérique est libre d’utiliser celui qui lui plait.

En théorie, c’est génial: mon PC / Smartphone / Smart TV se connecte tout seul au meilleur réseau. Mais comment fait-il pour savoir quel réseau est le meilleur? Cette partie est inconnue et c’est bien le problème.

Ce que je constate sur mon iPhone XS et mon Macbook, c’est qu’il se connecte à celui qui a le meilleur signal. Comme le WiFi 2,4Ghz traverse mieux les murs, c’est souvent celui-ci que je capte mieux – bien qu’il soit plus lent!

La seule solution est de différencier les SSID des réseaux 2,4Ghz et 5Ghz, puis d’indiquer la priorité de connexion sur macOs/windows. Lorsque ce n’est pas possible, vous pouvez toujours n’enregistrer qu’un seul des 2 réseaux.

Ma recommandation, c’est donc de ne pas avoir le même SSID pour WiFi 2,4Ghz et 5Ghz: différenciez-les!

Logiciel pour écrire un eBook: lequel choisir pour Mac et Windows?

Quand j’ai débuté l’écriture de mon eBook, je me suis demandé comme vous: quel logiciel pour écrire un eBook dois-je choisir? C’est une question très importante car il serait très dommage de devoir refaire la mise en page à la fin.

Créer un eBook sur Mac

Créer un eBook sur Mac, c’est le plus simple. Apple propose 2 logiciels gratuits qui permettent de créer des livres numériques:

Apple iBooks Author est plus restrictif. Si vous voulez écrire un livre ayant peu d’éléments graphiques (un roman par exemple), iBooks Author sera idéal.

Apple Pages est plus complet, permet de faire plus de chose, de placer des éléments graphiques à des endroits précis, etc. C’est le bon choix si vous voulez écrire un livre numérique ayant beaucoup d’images.

Les deux solutions sont parmi les meilleurs. Vous pourrez écrire un bel ebook avec un logiciel agréable.

Les deux permettent d’exporter le fichier en format ePub v3, en PDF, ainsi que la publication directement dans Apple Books.

Créer un ePub avec Word

Non.

Microsoft Word ne permet pas l’exportation au format ePub. Il existe plusieurs logiciels, dont Calibre, permettant de convertir un fichier .docx en format ePub. Mais n’espérez pas grand chose. Ces convertisseurs fonctionnent très bien avec un document simple mais deviennent inutile si vous utilisez des polices particulières à intégrer ou une mise en page figée (fixed layout).

Créer un ePub avec LibreOffice

LibreOffice est le célèbre « clone » de Microsoft Office, en version libre et gratuite. Il fait parti des pépites du monde du libre, avec Mozilla Firefox, Linux, etc…

Depuis LibreOffice 6.1, il est possible de créer un document avec Writer et de l’exporter au format ePub, y compris les documents avec une mise en page figée.

Pour télécharger LibreOffice, ça se passe ici: https://fr.libreoffice.org/download/libreoffice-stable/

Pour installer LibreOffice sur Windows:

C:/> choco install libreoffice-fresh

Pour installer LibreOffice sur Mac:

flogg@MacBook:~$ brew cask install libreoffice

Créer un ePub avec Calibre

Calibre, c’est un peu le couteau suisse du ePub. Il permet de convertir, visualiser, cataloguer des livres numériques.

Calibre ne va pas permettre d’écrire un ePub, mais permettra de convertir un fichier docx en ePub par exemple.

Pour installer Calibre sur Windows:

C:\> choco install calibre

Pour installer Calibre sur Mac:

flogg@MacBook:~$ brew cask install calibre

J’ai essayé de l’utiliser. Il propose de tout faire, je confirme. En revanche, le résultat que j’obtenais était systématiquement décevant. J’imagine qu’en sachant très bien l’utiliser, il est capable de grandes choses. Toutefois, pour un novice, c’est un logiciel trop complexe. La conversion en format MOBI (Kindle) est trop ancienne et non recommandé par Amazon. Les autres conversions n’ont jamais donné un rendu correct.

Créer un ePub avec InDesign

Adobe InDesign, c’est le logiciel le plus cher pour créer un ePub. Créer un ePub avec InDesign nécessite de s’abonner à Adobe Creative Cloud pour 23,99€ minimum.

C’est certainement un très bon logiciel, largement utilisé pour la mise en page dans le journalisme.

Pour créer un ePub, il y a d’autres logiciels, moins cher ou gratuit qui permettent d’obtenir un niveau de qualité largement suffisant. C’est votre contenu qui est important et pas les artifices :).

Créer un ePub à partir d’un PDF

Je n’ai pas trouver de logiciel suffisamment bon pour convertir un PDF en ePub en conservant toutes les informations (mise en page, image, police, etc.).

En revanche, Amazon fournit un logiciel permettant de convertir un PDF en un format compatible avec la distribution via Amazon Kindle: Amazon Kindle Create.

Après avoir importé votre fichier d’origine en PDF, vous pourrez le convertir en format KPF qu’il sera ensuite possible de distribuer via Amazon. L’opération est simple et rapide, il suffit d’installer Amazon Kindle Create sur son ordinateur.

Comparatif: Logiciel pour écrire un eBook/ePub?

Si vous avez un Mac, la solution est claire: Pages ou iBooks Author. Personnellement, je préfère Pages car je l’utilise pour tout type de document.

Sur Windows, la solution est également claire: LibreOffice. C’est le seul logiciel réputé permettant d’exporter au format ePub.

Ces 2 solutions sont gratuites! Pas besoin d’investir dans un logiciel pour créer un eBook. Maintenant, concentrez-vous sur votre contenu, et débutez l’écriture! Quand vous aurez fini votre livre numérique, pensez à compresser votre ePub avant de le diffuser.

Reconstruire un ePub (rezipper le fichier) et le vérifier

Après avoir modifier un ePub, ou compresser un ePub, vous aurez besoin de reconstruire un ePub avant de le diffuser. Le fichier ePub est une archive zip ayant quelques spécificités qu’il faut suivre pour obtenir un fichier ePub valide et compréhensible par un maximum de liseuse.

Reconstruire un ePub

Pour reconstruire un ePub, la méthode est pareil quelques soit les logiciels que vous utilisez. Je fais ce tutoriel depuis macOs.

La reconstruction se passe en 3 temps:

  • Supprimer les fichiers temporaires
  • Créer une archive non compressée avec le fichier mimetype
  • Ajouter les autres informations compressées

Supprimer les fichiers temporaires de son ePub

Sur macOs, des dossiers cachés ._DS_Store sont créés à tout bout de champs. On va les supprimer de notre ePub pour ne pas les embarquer inutilement:

flogg@MacBook:~/ePub$ find . -name '.DS_Store' -type f -delete

Créer un fichier zip non-compressé

Le fichier mimetype doit être non-compressé et être le premier fichier de l’archive. On commence donc avec lui:

flogg@MacBook:~/ePub$ zip -X0 MonEbook.epub mimetype

-X permet de ne pas enregistrer les informations additionnels du fichier (propriétaire, groupe): -X: Do not save extra file attributes (Extended Attributes on OS/2, uid/gid and file times on Unix).

-0 permet de ne pas compresser

Ajouter les informations compressées de l’ePub

On peut compresser les autres informations de l’ePub, alors on va les compresser au maximum, en les ajoutant au fichier zip existant:

flogg@MacBook:~/ePub$ zip -rX9 MonEbook.epub META_INF OPS

-r permet d’incorporer tout le contenu des dossiers

-9 permet de compresser au maximum

Terminé. Le fichier ePub reconstruit est prêt! C’est normalement un fichier ePub valide, mais il est préférable de le vérifier.

Vérifier son ePub

Pour vérifier la qualité du nouveau fichier ePub, on peut utiliser le programme epubcheck. C’est la même vérification que Kobo Writing Life fera après l’importation de votre fichier.

Pour l’installer:

flogg@MacBook:~/ePub$ brew install epubcheck

Pour contrôler notre fichier epub:

flogg@MacBook:~/ePub$ epubcheck MonEbook.epub

Vous devez obtenir un ePub sans erreur, ou au moins sans plus d’erreur que dans votre fichier d’origine.

C’est tout! Le fichier est prêt à être distribuer, via Kobo Writing Life ou par vous même.

Publier un eBook sur Amazon Kindle en fixed layout

Après avoir créé mon ebook avec Apple Pages, j’ai obtenu un beau fichier ePub que j’ai pu compressé pour obtenir un fichier compressé.

Mon eBook est en fixed layout. C’est à dire que la mise en page ne peut pas être modifiée, le texte ne peut pas être agrandi ou réduit. L’avantage, c’est que mes éléments graphiques restent au bon endroit: je suis sûr que les lecteurs verront l’ebook comme je l’ai conçu.

J’upload mon fichier sur Amazon Kindle et je vérifie la Prévisualisation: rien ne va! Le format est bien respecté mais est tassé dans le coin supérieur droit.

J’ai passé des heures à lire la documentation officielle pour comprendre ce qui n’allait pas: il manque une balise dans l’ePub pour qu’Amazon l’interprète correctement.

L’information clef est au chapitre 10.1 du Amazon Kindle Publishing Guidelines (PDF): une balise « original-resolution » est nécessaire pour la bonne interprétation du format fixed layout.

<meta name="original-resolution"
content="1024x600"/>

Ok, c’est sympa, et alors? Pour vérifier si la balise est présente dans l’ePub, il faut:

  • Dézipper l’ePub
  • Ouvrir le fichier OPS/epb.opf

Faites une recherche de texte pour « original-resolution ». Dans mon cas, elle n’y était pas. Je l’ai donc ajouté moi-même. Première question: quel est ma résolution d’origine? Dans Apple Pages, j’ai choisi un format papier, en cm. Ça donne quoi en pixel?

Pour trouver la réponse, j’ai ouvert la 1ère page de mon ebook, c’est à dire le fichier OPS/page-1.xhtml. Vous devriez trouver une balise comme celle-ci:

<meta name="viewport" content="width=255.118px,height=453.543px"/>

Traduction: ma résolution d’origine est de 255×453.

Il suffit alors d’ajouter ma nouvelle balise dans le fichier OPS/epb.opf:

<meta name="original-resolution"
content="255x453"/>

ajouté juste après la balise

<meta property="rendition:layout">pre-paginated</meta>

Il ne reste plus qu’à reconstruire le fichier ePub correctement et le resoumettre à Amazon. Lors de la Prévisualisation, l’ebook apparaitra centré et prendra toute la largeur/hauteur disponible.

Cette astuce m’a bien aidé, même si au final, je n’ai pas soumis mon eBook à Amazon Kindle de cette manière là.

La raison est la suivante: mon eBook en format ePub fait 30Mo, après traitement par Amazon, il fait 60Mo. N’oublions pas qu’Amazon facture le coût de livraison en fonction du poids du fichier… merci!

Pourquoi un fichier Kindle est 2x fois plus gros? Il semble que le format converti contienne 2 eBook:

  • un premier, complet, avec les polices, compatibles avec les dernières liseuses/applications
  • un second, incomplet, sans certaines polices, sans lien mais compatibles avec leurs vieilles liseuses…

J’espère que cette astuce vous sera utile!

Retour sur l’incident Soyouz du 11 octobre 2018

Le 11 octobre, le lanceur russe Soyouz devait transporter le cosmonaute russe Alexeï Ovtchinine et l’astronaute américain Nick Hague vers l’ISS, la station spatiale internationale. Depuis 2011, Soyouz est l’unique vaisseau habilité à transporter des hommes vers l’ISS. Un problème au lancement a conduit à l’echec de la mission, l’équipage étant rappatrié sain et sauf dans la capsule de sécurité et laissant l’ISS sans aucun moyen de ravitaillement humain.

Comment Soyouz s’est retrouvé l’unique lanceur pour rejoindre l’ISS

L’ISS n’est pas vraiment internationale, mais surtout américaine, russe, européene, japonaise et canadienne. Depuis le démarrage du programme, les ravitaillements humains sont partagés entre la Russie et les États-Unis, les seuls pays du programme disposant de vaisseaux capables d’emporter des humains dans l’espace. Pour les États-Unis, il s’agit de Navettes Spatiales: Columbia, Challenger, Discovery, Atlantis et Endeavour. Pour la Russie, il s’agit de la fusée Soyouz.

Soyouz est un lanceur un peu ancien mais extremement fiable: elle a volé pour la 1ère fois en 1966! Il y a tout de même eu des modifications mais on reste sur la même conception. Petit point sur la fiabilité: Aucune perte humaine avec Soyouz, plus de 1800 tirs réussi et 3 échecs, dont celui de 2018. Seulement 3 échecs en 52 ans.

De l’autre côté, la navette américaine a volé pour la 1ère fois en 1981. En 1986, Challenger se désintègre au lancement au dessus de l’atlantique avec à bord 7 membres d’équipage. En 2003, Columbia se désintègre au retour, lors de l’entrée dans l’atmosphère, avec à bord 7 membres d’équipage. Ces problèmes de fiabilité ont conduit la NASA à abandonner ses navettes qui ont volés pour la dernière fois en 2011. En tout, les navettes auront effectués 133 missions pour 2 échecs et 14 morts. La Nasa a délégué la conception de fusée a des sociétés commerciales privés qui, encore en 2018, ne sont pas habilitées à transporter des humains: SpaceX, BlueOrigin, United Launch Alliance.

Voilà comment ce bon vieux Soyouz se retrouve, encore en 2018, et depuis 9 ans, comme l’unique moyen de rejoindre l’ISS.

L’incident du 11 octobre 2018

Au décollage, tout va bien. À 2mn45s, le premier étage – les 4 boosters – se sépare. C’est à ce moment que le pilote, Alexeï Ovtchinine annonce à la radio « Problème de lanceurs, deux minutes 45 secondes ».

À ce moment, la mission est abandonnée et la capsule contenant est séparée de la fusée pour retourner sur terre. Ce n’est pas un retour très agréable car il n’est pas du tout optimisé: l’équipage va encaisser jusqu’à 6,7G. Fort heuresement, le cosmonaute et l’astronaute sont récupérés sain et sauf.

Un problème au décollage signifie pas de nouveau vol tant que la cause n’est pas identifiée et corrigée. L’autre problème, c’est que les 3 humains qui peuplent l’ISS doivent rentrer à la fin de l’année – la capsule Soyouz de retour ne peut rester qu’environ 200 jours dans l’espace. Potentiellement, l’ISS pourrait être abandonnée à la fin de l’année…

L’enquête de Roscosmos

L’agence spatiale russe a débuté les investigations dès le 11 octobre. Il n’y a pas de temps à perdre! Rapidement, l’enquête se focalise sur les boosters puisque les problèmes ont débuté à la séparation des boosters.

La vidéo de la séparation des boosters est même publiée sur Twitter et même un novice peut voir qu’il y a un problème. Les 4 boosters sont parfaitement équilibré autour de la fusée et lorsqu’ils se séparent, ils forment une croix, appelée croix de Korolev (l’ingénieur en chef de programme spatiaux de l’Union Soviétique). Là, très clairement, la croix n’y est pas.

L’agence spatiale russe révèle le problème à l’origine de l’incident du 11 octobre

« Un capteur qui surveille la séparation des boosters était mal monté, de 6 degrés ». Le communiqué de presse précise que cette pièce est montée lors de l’assemblage finale sur le cosmodrome de Baïkonour, au Kazakhstan.

6 degrés, c’est pas grand chose. Mais ça a suffit à perturber la séparation du booster qui a ensuite hurté violemment le réservoir principal, ce qui a dévié fortement la fusée de sa trajectoire.

Voilà à quoi tient la conquête spatiale, à peu de chose. Finalement, tout rentre dans l’ordre et le prochain lancement de Soyouz le 16 Novembre (un vol non habité, de ravitaillement) devrait se dérouler sans encombre.

Photo par Bill Ingalls/NASA