structure & meta

This commit is contained in:
Yax 2019-08-17 18:40:27 +02:00
parent da6d838193
commit b25ce65735
284 changed files with 461 additions and 1000 deletions

View file

@ -0,0 +1,90 @@
<!-- title: Mon mémo pour la virtualisation -->
<!-- category: Virtualisation -->
<!-- tag: planet -->
Cet article est un mémo de toutes les commandes qui me sont régulièrement
utiles quand je manipule des machines virtuelles VirtualBox, VMware et KVM.<!-- more -->
L'utilitaire **qemu-img** du paquet qemu-utils (sous Debian) a bien évolué et
c'est l'outil de prédilection pour les conversions ; on peut se passer de
l'utilitaire *VBoxManage* (qui fait partie de VirtualBox).
### Convertir une machine virtuelle VirtualBox en KVM
La première approche c'est de créer une VM VirtualBox avec le type de disque
natif VDI et de convertir le disque au format QCOW2 avec *qemu-img* :
qemu-img convert -f vdi -O qcow2 vm-disk.vdi vm-disk.qcow2
Mais si la finalité c'est de mettre au point la VM sous VirtualBox avant de
l'installer sous KVM (dans un Proxmox par exemple), on peut plutôt créer une VM
VirtualBox directement avec le type de disque QEMU (QCOW) dans VirtualBox.
![VirtualBox](/images/2016/virtualbox-creation.png "VirtualBox")
Ensuite, il reste à convertir le disque du format QCOW vers QCOW2 :
qemu-img convert -O qcow2 vm-disk.qcow vm-disk.qcow2
### Convertir un disque VMware en VirtualBox
Le format natif des disques VMware est VMDK. L'utilitaire *VBoxManage* permet
de convertir un fichier VMDK en VDI.
VBoxManage clonehd --format VDI vm-disk.vmdk vm-disk.vdi
Mais *qemu-img* reste la voie royale pour faire le même boulôt :
qemu-img convert -f vmdk -O vdi vm-disk.vmdk vm-disk.vdi
### Convertir une machine virtuelle VMware en KVM
D'abord exporter la machine au format OVF puis convertir le disque avec l'ami *qemu-img* :
qemu-img convert -f vmdk -O qcow2 vm-disk.vmdk vm-disk.qcow2
Ensuite, on peut créer une VM avec des caractéristiques semblables dans KVM et
attacher le disque.
### Retaper les interfaces réseau
Lorsque la machine virtuelle a été créée depuis une machine physique par le
tryptique : clonezilla / restauration virtualbox / conversion KVM, il se peut
que la configuration logique des interfaces réseaux (*/etc/network/interfaces*
sous Debian ou */etc/sysconfig/network-scripts/ifcfg-???* sous RedHat / CentOS)
ne correspondent plus aux interfaces physiques. Dans ce cas il faut adapter la
configuration UDEV qui s'occupe de réaliser cette correspondance sur la plupart
des distributions en éditant le fichier
*/etc/udev/rules.d/70-persistent-net.rules* :
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.
# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="32:94:32:76:50:6d", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="6a:79:37:a3:24:32", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="fa:a8:8e:cc:fd:69", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"
# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="ce:1c:8c:c2:fd:f7", ATTR{type}=="1", KERNEL=="eth*", NAME="eth3"
# Compacter un disque
Il ne s'agit pas de modifier la taille du disque virtualisé mais de réduire son encombrement sur le disque hôte par du compactage.
Depuis le système GNU/Linux virtualisé, on nullifie (horrible ce mot) l'espace libre :
dd if=/dev/zero of=/bigemptyfile bs=4096k
rm -rf /bigemptyfile
On stoppe la VM et on utilise *vboxmanage* pour compacter le disque :
vboxmanage modifyhd disk.vdi --compact
Et pour Ms Windows ? je ne sais pas et ça ne m'intéresse pas (*troll inside*)

View file

@ -0,0 +1,42 @@
<!-- title: SMTP Relay avec Postfix -->
<!-- category: GNU/Linux -->
<!-- tag: planet -->
On trouve de l'information sur le relais SMTP avec Postfix un peu partout mais
pas toujours adapté à son cas.<!-- more --> Voici donc mon mémo, compilé à partir de
plusieurs sources, pour utiliser Postfix comme relais SMTP avec le fournisseur
Orange (sur le port 25 et authentifié en clair par un nom d'utilisateur et un
mot de passe).
Ajouter dans **/etc/postfix/main.cf** :
# SMTP relay
relayhost = smtp.orange.fr
smtpd_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
sender_canonical_maps = hash:/etc/postfix/sender_canonical
Créer un fichier pour définir l'authentification SMTP : **/etc/postfix/sasl_passwd**
smtp.orange.fr [utilisateur]:[mot de passe]
Créer un fichier pour définir le *mapping* des expéditeurs : **/etc/postfix/sender_canonical**
root [adresse expéditeur]
Ensuite il rester à créer une version *hash* des fichiers *sasl_passwd* et
*sender_canonical* et à relancer Postfix :
$ postmap hash:/etc/postix/sasl_passwd
$ postmap hash:/etc/postfix/sender_canonical
$ /etc/init.d/postfix restart
On peut tester l'envoi d'un e-mail et vérifier dans le log **/var/log/mail.log** que l'envoi se passe bien :
$ mail -s "Test depuis Postfix" [someone@somewhere.com]
is it working?
I hope so^D

View file

@ -0,0 +1,111 @@
<!-- title: Construire sa clef USB multiboot -->
<!-- category: GNU/Linux -->
<!-- tag: planet -->
J'ai essayé quantité d'utilitaires pour créer facilement une clef USB multiboot
et aucun ne fonctionne correctement sur des serveurs racks<!-- more --> (du type Dell
PowerEdge). Ces utilitaires ont en commun d'utiliser syslinux et de proposer
une interface graphique conviviale pour glisser-déposer des ISO sur la clef. Je
ne suis pas (encore) expert en partitionnement et boot mais je m'y intéresse
beaucoup en ce moment par la force des choses et on voit beaucoup de subtilités
pour booter sur du GPT au lieu de MBR. A force de chercher le bon utilitaire,
je suis tombé sur de la doc Archlinux (et oui encore) qui propose de créer
soi-même sa clef avec **GRUB** au lieu de **syslinux**. Cela veut dire qu'on ne
peut démarrer que des GNU/Linux et pas des utilitaires DOS (comme il y en a
quantité pour tester les disques ou la mémoire), c'est parfait, c'est la seule
chose que je fais. Cette documentation ArchLinux [est accessible à cette
adresse](https://wiki.archlinux.org/index.php/Multiboot_USB_drive).
Cet article est donc surtout un mémo pour moi même qui reprend les parties de
cette doc pertinentes pour mon cas d'usage J'ai besoin d'avoir le live CD de
CloneZilla et Knoppix ainsi que le DVD d'installation de CentOS 7 et Debian 8.
Je suis parti d'une clef de 16 Go sur laquelle j'ai une table de partition GPT
et une partition unique formatée en EXT2. J'avais commencé avec une partition en
FAT32 mais on ne peut pas copier un fichier de plus de 2Go. Hors dans notre
cas, on va copier les ISO sur la clef et laisser GRUB les monter pour y
accéder. C'est différent des solutions basées sur syslinux où l'ISO est
désarchivée sur la clef dans un répertoire Bref une ISO DVD d'installation de
CentOS pèse 4 Go donc on formate en EXT.
Voici ma table de partition :
$ fdisk -l /dev/sdf
Disque /dev/sdf : 14,5 GiB, 15504900096 octets, 30283008 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Type d'étiquette de disque : gpt
Identifiant de disque : 34793BF6-88B6-4325-98D8-BD79DC297619
Device Start End Sectors Size Type
/dev/sdf1 2048 30282974 30280927 14,4G Linux filesystem
Ensuite, on crée un répertoire pour accueillir GRUB et les ISO :
$ mount /dev/sdf1 /mnt
$ mkdir -p /mnt/boot/iso
Et on installe GRUB :
grub-install --force --target=i386-pc --recheck --boot-directory=/mnt/boot /dev/sdf
Il reste à copier les ISO dans le répertoire */mnt/boot/iso* et à créer un
fichier *mnt/boot/grub/grub.cfg*. Tout le problème est de configurer correctement
GRUB pour monter chaque type de distribution. Pour certaines, il n'y a pas de
solution pour que ça fonctionne. Le documentation ArchLinux liste la
configuration GRUB pour un certain nombre de distributions.
Voici ma configuration **/mnt/boot/grub/grub.cfg** pour les distributions installées sur ma clef :
# path to the partition holding ISO images (using UUID)
set imgdevpath="/dev/disk/by-uuid/53ac1278-3d48-4528-a348-2eb3b7b8dc93"
# define globally (i.e outside any menuentry)
insmod search_fs_uuid
search --no-floppy --set=isopart --fs-uuid 40c8461c-a5fd-4b3b-9a78-f8e92275ea98
# later use inside each menuentry instead
loopback loop ($isopart)$isofile
menuentry "Live clonezilla-live-2.4.2-61-amd64" {
set isofile="/boot/iso/clonezilla-live-2.4.2-61-amd64.iso"
loopback loop $isofile
linux (loop)/live/vmlinuz findiso=$isofile boot=live union=overlay username=user config
initrd (loop)/live/initrd.img
}
menuentry "Live clonezilla-live-2.2.2-32-i686-pae" {
set isofile="/boot/iso/clonezilla-live-2.2.2-32-i686-pae.iso"
loopback loop $isofile
linux (loop)/live/vmlinuz boot=live live-config noswap nolocales edd=on nomodeset ocs_live_run=\"ocs-live-general\" ocs_live_extra_param=\"\" ocs_live_keymap=\"\" ocs_live_batch=\"no\" ocs_lang=\"\" GRUB_GFXMODE=1024x768 ip=frommedia nosplash toram=filesystem.squashfs findiso=$isofile
initrd (loop)/live/initrd.img
}
menuentry "Live Knoppix_v7.6.1DVD-2016-01-16-EN" {
set isofile="/boot/iso/KNOPPIX_V7.6.1DVD-2016-01-16-EN.iso"
loopback loop $isofile
linux (loop)/boot/isolinux/linux bootfrom=/mnt-iso/$isofile acpi=off keyboard=fr lang=fr
initrd (loop)/boot/isolinux/minirt.gz
}
menuentry "Install CentOS-7-x86_64-DVD-1511" {
set isofile="/boot/iso/CentOS-7-x86_64-DVD-1511.iso"
loopback loop $isofile
linux (loop)/isolinux/vmlinuz noeject inst.stage2=hd:UUID=53ac1278-3d48-4528-a348-2eb3b7b8dc93:/$isofile
initrd (loop)/isolinux/initrd.img
}
menuentry 'Install Debian-8.3.0-amd64-firmware' {
set isofile='/boot/iso/firmware-8.3.0-amd64-netinst.iso'
set initrdfile='/boot/iso/debian-8.3.0-am64-initrd.gz'
loopback loop $isofile
linux (loop)/install.amd/vmlinuz vga=791 iso-scan/ask_second_pass=true iso-scan/filename=$isofile
initrd $initrdfile
}
Pour trouver l'identifiant UUID de la clef qu'on claque dans la variable
*imgdevpath* en début de config et qu'on passe à *inst.stage2* dans la section
CentOS ou l'identifiant de la partition *fs-uuid* qu'on passe à la commande search,
on utilise la commande **blkid** :
blkid /dev/sdf1: UUID="53ac1278-3d48-4528-a348-2eb3b7b8dc93" TYPE="ext2" PARTUUID="40c8461c-a5fd-4b3b-9a78-f8e92275ea98"

View file

@ -0,0 +1,115 @@
<!-- title: Mon informatique personnelle -->
<!-- category: Hébergement -->
<!-- tag: planet -->
C'est une période de réflexion et de mise en ordre de mon informatique
personnelle.<!-- more --> Après un hiver rigolo à changer de distribution toutes les deux
semaines sur mon fidèle portable, l'occasion de découvrir quelques distributions
peu connues et sympathiques comme la [NuTyX](http://nutyx.org), de faire mon
test annuel de BSD et en conclure que ce n'est pas (encore) pour moi ou que je
n'aime toujours pas KDE, avant de revenir à ma distribution de départ : une
Debian Jessie avec Mate Desktop, l'environnement de bureau qui progressivement
uniformise l'ensemble de mes machines. J'ai longtemps utilisé XFCE, que
j'apprécie toujours, mais je trouve un charme *old school* inimitable à Mate
Desktop qui me rappelle ma jeunesse ;-) Fini donc le yoyo des distributions pour
quelques temps, il est temps de se servir de sa bécane au lieu de la
réinstaller.
Le sujet de réflexion du moment, c'est **la sécurité des données**. C'est loin
d'être une obsession pour moi mais il y a un minimum à faire pour ne pas se
trouver démuni quand le pépin arrivera (et il arrivera forcément). J'ai donc
recensé mes données sensibles et importantes. Je me rends compte que je
trimballe pas mal de données sensibles sur mon portable, notamment ma base de
données [KeepassX](https://www.keepassx.org) qui conserve mes identifiants de la
quantité de sites Web que je fréquente. Mon portable fait des sauvegardes vers
la seule machine fixe de la maison, un iMac de 2007 (pas de troll merci) et je
fais régulièrement un clone de cette machine sur un disque dur externe. L'iMac
conserve aussi les photos familiales, on arrive à 60 Go de photos. Ce sont les
données importantes à ne surtout pas perdre. J'ai donc une sauvegarde de tout ça
en local mais pas de sauvegarde sur un autre site. En cas de gros pépin
(cambriolage, incendie), j'ai tout faux :-(
Pour protéger mes données sensibles en déplacement, j'ai opté pour le
chiffrement du disque dur à la réinstallation de ma Debian et j'ai mis en place
des certificats Let's Encrypt pour mon installation d'Owncloud et mon WebMail
Roundcube.
Pour sauvegarder mes données à l'extérieur, j'ai d'abord envisagé un serveur
plus gros que celui qui héberge mon blog et mon cloud actuellement et une
solution simple basée sur Rsync. Le prix de l'espace disque m'a un peu refroidi
et je me suis intéressé aux solutions de stockage pur pour retenir Hubic qui,
sur le papier, a beaucoup d'atouts (oui ça va se gâter si vous êtes des fans OVH
qui ne supportent pas la critique de leurs idôles, sautez les paragraphes qui
suivent) :
* la réputation de l'hébergeur OVH
* un stockage sur des serveurs localisés en France
* un stockage triplé sur trois serveurs différents
* un coût qui écrase toute concurrence : 1 euros les 100 Go par mois
J'avais testé Hubic lors de sa sortie avec l'offre de 25 Go offerts, c'était en
bêta test, il y avait beaucoup de soucis et tout a été refait techniquement
depuis, je me suis dit banco et j'ai souscrit pour une année. Dommage !
J'ai d'abord sorti mes photos du *silo* iPhoto de MacOS pour les stocker de
manière standard : un répertoire par année, puis un répertoire combinant la date
et le nom de l'évènement. Pour cela, je remercie [Brian et sa moulinette
magique](https://github.com/BMorearty/exportiphoto). J'ai posé les photos dans
mon répertoire synchronisé avec Hubic et j'ai regardé tourner la machine une
semaine. Ca n'est pas choquant, j'ai une ligne ADSL avec un upload moyen et j'ai
limité Hubic pour ne pas utiliser toute la bande passante. En parallèle je me
suis intéressé à sortir de iPhoto en installant la gallerie Web Piwigo sur ma
vieille version de MacOs (Snow Leopard). Je passerais rapidement sur mes galères
avec le monde de la pomme : installer MacPorts pour pouvoir juste installer Git,
installer HomeBrew et virer MacPort pour éviter les conflits, trouver une
version de Xcode d'époque et finalement installer une stack MNMP (MacOS / NginX,
MySQL, PHP) opérationnelle, puis finalement Piwigo.
Ah Piwigo c'est pas mal ! De belles galeries en mode Web, une gestion des droits
utilisateurs, une gestion de l'unicode parfaite (???) Enfin parfaite... sans
bug en tout cas, car inexistante ce qui gomme tout problème d'intéropérabilité,
les accents ne sont pas supportés dans les noms de fichiers, ni les espaces
juste le classique *A-Za-z0-9_-*. C'est probablement un choix rationnel pour une
galerie destinée à héberger des photos sur le Web mais sur le coup ça ne m'a
pas arrangé. J'ai regardé mes photos juste synchronisées sur Hubic et j'ai
commencé une moulinette pour détecter les caractères interdits. Rien de trop
méchant au final, 98% des fichiers sont déjà corrects, par contre 95% des
répertoires ont des accents ou des espaces. Dans la lancée j'ai fait une
moulinette *crade* pour renommer mes répertoires. C'est là que j'ai vu la 1ère
faille d'Hubic qui a commencer à supprimer les fichiers pour repousser les mêmes
fichiers dans un répertoire avec un nom différent. En gros, chez Hubic, il n'y a
pas de somme de contrôle pour détecter qu'un fichier a juste changé de nom ou
que le répertoire a changé de nom. Pire que cela, la suppression est
désespérement longue : c'est le désavantage de la fameuse triple redondance, on
attend la confirmation de suppression des données sur les trois data centers. A
ce stade, j'ai trouvé malin de stopper le client de synchronisation, de virer
mes photos localement et de passer par l'interface Web Hubic pour supprimer les
données, pensant que ça serait plus rapide. Erreur, cela a pris environ 8
heures.
Ne me laissant pas décourager, j'ai regénéré un répertoire propre avec mes
photos bien formatées [en forkant la moulinette de
Brian](https://github.com/kianby/exportiphoto) pour rajouter une option et je
suis reparti pour une petite semaine de synchronisation avec Hubic. Ca s'est
bien passé, j'ai un serveur Piwigo local accessible par Wifi dans la maison.
Mais deux choses m'ont gratté :
* parfois le client Hubic télécharge à nouveau des photos (alors qu'il possède
la version de référence des données)
* la taille occupée par mes données sur l'interface d'administration Hubic ne
correspond pas à ce que je compte sur mon disque.
Du coup, je me suis mis à douter de l'intégrité de mes données. J'ai souscrit un
mois d'hébergement pour un serveur avec 100 Go de disque et j'ai installé une
Debian et le client Hubic pour Linux. J'ai commencé à rapatrier mes données sur
ce serveur. A mon grand étonnement, le téléchargement n'est guère plus plus
rapide que l'envoi, des débits entre 50 et 250 Ko/s. Le rapatriement des données
a pris 4 jours. En grand parano, j'ai fait un checksum MD5 de l'ensemble des
fichiers et j'ai comparé avec ma référence sur l'iMac. Et bien ça correspond,
Hubic fonctionne (les fans OVH, vous pouvez revenir).
Au final, je vais changer de solution de sauvegarde à cause du manque de
confiance que j'ai acquis en deux semaines de test et des faibles performance
en téléchargement. Je m'oriente donc vers une solution classique avec un serveur
hébergé et du probablement du rsync et je cherche la perle rare dans les tarifs
que je m'impose, mais c'est une autre histoire.

View file

@ -0,0 +1,95 @@
<!-- title: Histoire d'hébergement -->
<!-- category: Hébergement -->
<!-- tag: planet -->
Dans la continuité de [mon article
précédent](http://blogduyax.madyanne.fr/mon-informatique-personnelle.html) je
continue à mettre de l'ordre dans mon informatique.<!-- more --> Après le renoncement de
confier à Hubic mes 70 Go de photos familiales j'ai recherché une solution
classique : un hébergement de serveur avec suffisamment d'espace disque qui
puisse à la fois accueillir mes photos (synchronisées en *rsync*) et mes
services (blog, cloud) pour ne pas exploser ma facture d'hébergement.
L'hébergement c'est une belle jungle avec :
* des poids lourds : quelques gros hébergeurs qui possèdent leur infrastructure
système et réseau (OVH et Online par exemple).
* des grossistes : des hébergeurs qui louent en volume chez les gros hébergeurs
et qui façonnent des offres commerciales un peu différentes, un peu
l'équivalent des MVNO dans le domaine de la téléphonie
* des petits hébergeurs qui possèdent leur propre infra et essaient de tirer
leur épingle du jeu avec des offres différentes (techniquement ou commercialement)
Tout d'abord il n'y a pas d'hébergeur miracle qui possède la meilleure offre du
marché. En fonction du type d'hébergement (serveur physique ou virtuel) et de
la gamme, on va trouver des offres plus intéressantes chez l'un ou chez
l'autre.
Moi je cherchais un serveur virtuel VPS (pour sa flexibilité et son faible taux
de pannel) avec une assurance de sauvegarde des données (snapshot ou espace
FTP) pour rapidement tout restaurer en cas de panne. J'ai écarté les
grossistes, ça ne m'intéresse pas d'avoir un hébergeur qui dépend d'un autre
pour résoudre les incidents techniques. J'ai d'abord exploré le monde des
petits hébergeurs où on trouve quelques perles (des hébergeurs à fond sur le
Green IT) et des gens qui ne tiennent pas la route malgré un site Web
alléchant.
Après deux expériences foireuses chez des petits hébergeurs, j'ai failli opter
pour une Dedibox de Online : du serveur physique à un prix plancher ; le pendant
chez OVH est la gamme Kimsufi. Du serveur physique, pas très cher donc, mais
avec souvent un service minimum (pas de RAID, pas de sauvegarde). Dedibox
propose 100 Go de FTP et ça me semblait pas mal, sans surprise. je connais
l'offre à titre professionnel : le taux de dispo est impressionnant et la bande
passante très bonne. Seul hic, c'est un peu en dessus de mon buget de 9 euros HT
par rapport aux 8 euros TTC d'aujourd'hui chez FirstHeberg. Par contre, avec une
Dedibox j'avais un gros disque de 1 To.
J'allais me lancer quand j'ai aperçu les offres Scaleway sur le site Online.
C'est quoi [Scaleway](https://www.scaleway.com) ? C'est une filiale de Online
avec un positionnement **Cloud**. Le problème du terme Cloud, c'est qu'on l'a
tellement usé et absusé (hein les marketeux) qu'on ne sait plus de quoi on parle
là. Scaleway se positionne sur le créneau de Amazon AWS et de Google App Engine
avec une offre tarifée à l'heure qui permet de faire du pilotage / de
l'orchestration pour par exemple automatiser des déploiements de nouveaux
serveurs dans le cadre d'une intégration continue d'un logiciel en cours de
développement, ou démarrer une grappe de serveurs supplémentaire pour absorber
une charge Web dans le cas d'un architecture balancée. Pour cela, ils proposent
des API et un matériel original puisqu'il s'agit d'un serveur physique peu
performant basé sur une architecture ARM. Je parle ici du serveur C1, leur
premier modèle. L'offre est originale car ce genre d'orchestration se fait
généralement sur du virtuel pour sa souplesse à stopper, démarrer, reconfigurer
des VMs et eux proposent un micro serveur qui ne consomme pas grand chose avec
l'argument que sur du physique il n'y a pas d'inconnu sur la performance comparé
au virtuel où votre voisin (que vous ne connaissez pas) a mangé la CPU de
l'hyperviseur. C'est donc un peu comme si on avait un Raspberry chez un
hébergeur avec une grosse bande passante. Ils arrivent à mettre plus de 900
serveurs dans un rack 1U. Le côté *green IT* m'a séduit.
Et l'espace disque ? C'est l'autre grosse particularité de l'offre. L'espace
disque est attribué par tranche de 50 Go (1 euros la tranche) et géré
dynamiquement puisque la vocation du Scaleway est d'offir la même souplesse que
les VPS : stopper, déplacer, redéployer... Donc en fait, les données sont
centralisées (dans un gros NAS). Et au démarrage d'un serveur,
elles sont rapatriées pour être attachées au boot. Quand le serveur est stoppé,
elles sont réécrites dans le central. Pour quelques centimes, on peut conserver
un snapshot de notre disque.
Ce qui m'a plus dans cette offre ce sont les points suivants :
* un hébergement physique
* la flexibilité de rajouter ou d'enlever des volumes disques
* une architecture ARM : performances modestes faible consommation électrique
Est-ce que c'est une offre adaptée à un hébergement classique ? Clairement, ce
n'est pas la cible et le Scaleway n'a pas été conçu pour héberger un blog et
quelques services Cloud mais il peut le faire avec un bémol sur l'arrêt /
relance du serveur : le temps de rapatriement des données vers l'espace central
est très long. Surtout qu'aux 50 Go de base, j'ai souscrit un volume
supplémentaire de 100 Go pour stocker mes fameuses photos. J'ai tout stoppé pour
réaliser un snapshot du disque système (pas de snapshot à chaud) mais on ne
stoppe pas un serveur régulièrement donc c'est gérable. Autre point à prendre en
considération : l'architecture ARM est supportée par peu de distributions. Sans
surprise, j'ai choisi Debian. Tout ajout de logiciel qui ne ferait pas partie du
système de paquets nécessite une compilation pour la plateforme ARM.
J'ai achevé ma migration vers Scaleway depuis un mois et jusqu'ici tout va bien :-)

View file

@ -0,0 +1,66 @@
<!-- title: Un pas en avant, deux pas en arrière -->
<!-- category: Mobilité -->
<!-- tag: planet -->
Entre la fin du système Blackberry 10 qui se profile et une certaine lassitude
de mon Q5, j'ai eu envie de changer de téléphone et de me faire plaisir<!-- more --> : un
écran plus grand, une bonne autonomie (le point faible des smartphones), un bon
appareil photo. Comme j'ai une tablette Android depuis presque 2 ans (une belle
Lenovo Yoga 2 en 8 pouces) je me suis dit pourquoi pas un téléphone Android, je
ferai comme pour la tablette, privilégier le dépôt F-Droid et ses applications
libres : OSM, Firefox et consorts. Les rayons des téléphones Android dans les
magasins ont tendance à me faire sourire ; une suite de briques entre 5'' et
5''7, des appareils photo entre 13 et 20M pixels. Rien de tripant, la tristesse
d'un monde uniforme. En plaçant l'autonomie en tête de mes critères avec un
écran de plus de 5'' j'ai vite réduit la liste, et les occasions des soldes ont
placé le Samsung A5 sur ma route.
j'ai craqué pour la bête et j'ai apprécié la beauté de l'objet : très bel écran,
des matières nobles (du vrai aluminium). L'autonomie tient ses promesses pour un
smartphone de cette taille, 2 bonnes journées en utilisation modérée. J'ai joué
deux semaines avec, surtout avec les GPS et je me suis rendu compte que je
m'étais planté, que le téléphone n'est pas adapté à moi, indépendamment de toute
polémique autour du système d'exploitation **presque libre** : trop lourd et
trop grand pour une utilisation quotidienne, trop fragile et trop cher aussi ;
j'avais l'impression de manipuler une poupée de porcelaine.
En terme de services rendus, je reconnais, pour mon cas (désespéré), l'utilité
de l'appareil photo et du GPS avec un temps de fix extrèmement rapide. Le reste
je n'en ai pas besoin. En bref, je me suis planté ; je me suis laissé tenter par
les sirènes de la consommation pour voir si par hasard je ne serais pas l'homme
du 21ème siècle. Et bien raté, j'ai entendu récemment qu'aussi moderne et à la
page qu'on puisse être, on appartient à son siècle, celui qui nous a vu naître.
Sur ce coup là je confirme.
J'ai négocié une reprise de mon appareil par ma moitié (profil bas, pas fier le
gars) et je suis revenu à mon ancien téléphone, enfin plus exactement à mon
ancien... ancien téléphone, mon Blackberry Bold 9780 sous BBOS 6. Pour 20 euros,
j'ai remis une batterie neuve et je suis revenu au meilleur téléphone avec
clavier physique que j'ai pu avoir ; c'est sur celui ci que je tape cet article
d'ailleurs.
Alors qu'est-ce qu'on fait avec un téléphone pareil en 2016 ? Et bien beaucoup
de communication écrite (des textos et des e-mails), des appels (hein des appels
pour quoi faire), du tethering USB pour partager sa 3G avec son PC en
déplacement. Ah oui on fait une croix sur la 4G mais pour envoyer des e-mails
c'est pas très grave. Et c'est comme ca qu'on se retrouve à développer
[mail2diaspora](https://github.com/kianby/mail2diaspora) pour avoir la
possibilité de diaspoter sa vie, à chaud, n'importe où.
La synchronisation du calendrier et des contacts je m'en passe : un export des
contacts de Cozy Cloud fait l'affaire pour l'instant. Pour le calendrier, je
saisis dans Cozy Cloud et je demande des rappels par e-mails (la fonctionnalité
qui manquait à Owncloud).
Quoi d'autre ? Je recommence à écouter des podcasts grâce à l'application native
de Blackberry et des radios Web. Je pars en vacances dans une semaine et je vais
emmener mon bridge Lumix que je néglige ces dernières années au profit du
smarphone pour son instantanéité (on l'a dans la poche, on vise et on partage
avec ses proches). La je vais essayer de faire de la belle photo en prenant le
temps
Dans un an et des brouettes, on aura plus d'antennes 4G qu'autre chose et je
n'aurais proablement plus de réception dans certaines zones, il sera temps de se
poser la question du changement.
![Mon Bold](/images/2016/bold.jpg "Mon Bold")

View file

@ -0,0 +1,51 @@
<!-- title: Peu de neuf -->
<!-- category: Hébergement -->
<!-- tag: planet -->
Déjà Halloween ! Le temps à filé depuis mon dernier article sur ce blog.<!-- more --> Jécris
surtout des articles techniques à propos dexpérimentations système ou de
projets personnels en programmation. Et visiblement je suis plus fainéant depuis
le printemps dernier. Une autre excuse est que mon activité sur le réseau social
Diaspora, par mon compte sur [Framasphère](https://framasphere.org) (déjà 2 ans,
merci encore Framasoft) est devenue plus régulière, mais pas encore chronophage.
Parfois je balance une idée et un lien et cela aurait pu donner un vrai article
sur le blog avec un peu deffort. Cest le plaisir de linstantanéité qui
lemporte sur la réflexion et le labeur. Et puis il y a aussi limpression que
beaucoup de sujets sont déjà traités, des nouvelles plumes apparaissent dans le
flux du Planet, et cest très bien.
De fait, je nai pas fait grand-chose de nouveau depuis le printemps.
Jai tâté un peu de la gestion de conteneur LCX dans Debian et caressé lidée de
cloisonner mes services hébergés. Mais rien nest décidé pour linstant. Nayant
pas encore eu doccasion dexpérimenter Docker professionnellement, je lai
aussi envisagé comme une opportunité de casser linstallation monolithique de
mon serveur et de tout repenser en services éclatés dans des conteneurs légers.
Lidée fait lentement son chemin. Docker cest tout un univers avec ses outils
de déploiement, de supervision, dorchestration, [sûrement pas un outil
parfait](https://blog.imirhil.fr/2016/10/09/docker-container-hell.html), mais il
est sûr que la conteneurisation succède à la virtualisation, comme elle-même
sest imposée, sans équivoque, en son temps.
Ah, jai enfin installé une instance de Wallabag sur ma stack NginX / PHP /
MySQL, la moindre des choses après avoir profité plus dun an du service
Framabag.
Et, surtout, jai repris la main sur mes e-mails. Depuis ma période
auto-hébergement un peu chaotique à cause d'une ligne ADSL peu fiable, javais
décidé de ne plus gérer mon propre serveur de mail car cest un service trop
critique et javais laissé Gandi sen occuper pour moi (cest inclus avec la
gestion de mon nom de domaine). Au passage, le service Gandi est impeccable, ça «
juste marche » :-) Bref, le serveur étant désormais chez un hébergeur avec un
réseau fiable, jai remonté un serveur de mail avec la stack habituelle :
postfix, dovecot, spamassassin, roundcube. Cest toujours les mêmes outils, la
difficulté aujourdhui, cest davoir lair honnête pour ne pas voir ses e-mails
refoulés : ce fut loccasion de [sintéresser à SPF, DKIM et DMARC](http://www.badsender.com/2014/01/13/delivrabilite-spf-dkim-dmarc) pour
authentifier ses e-mails.
Voilà, cela commence à faire une belle liste de services hébergés sur mon
serveur : le blog, son système de gestion des commentaires, les flux RSS (avec
TT RSS), les fichiers, les contacts et lagenda synchronisés (grâce à Cozy
Cloud), et puis les e-mails.
Bon je vous laisse, on vient de sonner, cest pour du racket de bonbons :-)

View file

@ -0,0 +1,45 @@
<!-- title: Rationalisation de mon informatique -->
<!-- categories: Humeur Debian -->
<!-- tag: planet -->
Je continue la rationalisation de mon informatique.<!-- more -->
J'avais opté pour un environnement commun à la maison et au bureau : XFCE
pendant 3 ans et Mate depuis le début de cette année, sans oublier mes outils
*console* [configurés aux petits oignons](https://github.com/kianby/dotfiles)
(BASH, TMUX, VIM). Ensuite j'avais éténdu au système d'exploitation en
remplaçant ma Fedora du bureau par une Debian stable, identique à celle qui
tourne sur mon fidèle compagnon à la maison, un petit [portable Toshiba
Portégé](http://www.toshiba.fr/discontinued-products/portege-m800-10d) acquis
en 2009 et qui a retrouvé la pêche avec un SDD à 30 euros. Mon second portable,
qui a lui aussi de la bouteille mais beaucoup plus de puissance, un portable
LDLC de 2011 en Core i7 avec 8Go de RAM faisait tourner ArchLinux depuis 5 ans.
Ce dernier bastion est tombé, et j'ai installé une Debian Testing (donc une
quasi Stretch) à la place de Arch ; rien de personnel, cela va dans le sens de
ma démarche. Avoir une testing me permettra d'anticiper les évolutions sur mes
environnements stables.
Et le fun dans tout ça me direz-vous ? le test de distribution exotiques ? Pour
cela on a inventé la virtualisation et j'ai aussi deux petits disques 2''5 que
je peux installer dans le Toshiba pour évaluer une distribution GNU/Linux
voire, soyons fou, un BSD en grandeur nature.
Le second dommage collatéral, après Arch, a été Cozy Cloud car je suis revenu à
Nextcloud ce week-end pour deux raison :
* certains problèmes de synchronisation qui ne seront probablement pas corrigés
avant fin 2017, après la grosse refonte du back-end en cours chez Cozy.
* le manque d'une synchronisation sélective pour ne pas synchroniser certains
répertoires sur ma machine du bureau. Pour la même raison (refonte du
backend) on peut supposer que le client de synchronisation n'évoluera pas trop
les 12 prochains mois
Je suis et je reste un fervent supporter de Cozy Cloud car ils ont une plus
grande ambition que de fournir une synchronisation de fichiers, de contacts et
d'agendas. Ils ont une vision d'un produit (ou service) qui crée de la valeur
grâce à l'Open Data tout en étant respectueux de la vie privée. Pour décoller,
ils auront besoin d'entreprises et d'hébergeurs. En tant que modeste
utilisateur en auto-hébergement, je continuerai à évaluer la solution et à
faire mes remontées à l'équipe mais dans le contexte d'une maquette
d'évaluation en parallèle. Au jour le jour, il me faut une solution sans
surprise.

View file

@ -0,0 +1,84 @@
<!-- title: Mon bilan 2016 -->
<!-- category: Humeur -->
<!-- tag: planet -->
C'est le moment du bilan personnel de l'année écoulée. <!-- more -->Si je regarde mon compte
GitHub, je vois peu de code cette année et
[Mail2Diaspora](https://github.com/kianby/mail2diaspora) est mon seul nouveau
projet. Si je jette un œil au blog, j'ai réussi à réduire ma production en deçà
d'un billet mensuel. Pourtant je n'ai pas diminué mon temps passé sur
l'informatique au sens large. Alors il est vrai que je suis beaucoup plus
régulier sur Diaspora, ce qui explique en partie la baisse du nombre de
billets. Il est plus simple de partager un lien technique avec un commentaire
rapide (mais pertinent hein) que d'élaborer un long article après une
expérimentation plus poussée. Ma consommation de jeux vidéos a diminué
elle-aussi et je ne me suis pas encore jeté à corps perdu dans le bricolage ou
la cuisine. Finalement, en repassant l'année au ralenti, j'ai passé énormément
de temps à apprendre et me perfectionner dans mon métier de programmeur, dont
je ne parle pas souvent. Apprendre, c'est une pratique que j'exerce régulièrement depuis
une dizaine d'années suite à un licenciement où j'avais réalisé être un peu
largué techniquement : la faute à la routine d'un poste et la fainéantise.
Depuis cette époque je me tiens informé : langages, méthodes, conception tout
ce qui touche à mon métier. Je lis beaucoup : de la documentation, des retours
d'expérience d'experts, et j'expérimente un peu.
J'ai beaucoup joué avec Javascript l'année dernière et la moitié de ce que j'ai
appris est déjà *has-been*. Mais ce n'est pas grave ; ça n'a pas été inutile
car cela me servira pour aborder d'autres outils et d'autres Frameworks.
J'avais aussi suivi une formation sur la programmation fonctionnelle en Scala
avec l'organisme de cours en ligne Coursera. Il est possible que je ne fasse
plus jamais de Scala mais l'éclairage sur la programmation fonctionnelle est
transposable, il ouvre l'esprit sur d'autres façons de penser et de coder.
Et il ne s'agit pas que de langages et de frameworks. On n'est pas largué parce
qu'on ne connaît pas un langage. Si un recruteur voit les choses de cette
manière c'est qu'il a une vision limitée du potentiel de la personne, juste
réduite à des mots clefs dans un CV. Pour voir plus loin, il faut qu'il
connaisse le métier, pose les bonnes questions et surtout comprenne les
réponses. Ce n'est pas un tâcle, mais on voit une catégorie de recruteurs
sortis tout droit d'écoles de commerce qui ne connaissent absolument rien au
métier et dont le seul talent est finalement de faire correspondre des
mots-clés dans des annonces avec des mots-clés dans des profils. Quel gâchis
pour eux et quelle frustation pour les candidats qu'ils approchent...
Au delà des technos, rester en phase avec le métier de développeur c'est
s'intéresser à tous les aspects, réfléchir verticalement, ne pas rester
cantonné au code et aux langages : s'intéresser à l'agilité, à la qualité du
code : un vaste sujet qui va des tests unitaires à l'intégration et au
déploiement continus et qui amène à aborder des outils comme Jenkins, Docker,
Sonar. Et puis il y a les bonnes pratiques, mon dada en prenant de l'âge. Faire
n'est plus suffisant, réaliser selon l'état de l'art dans le domaine est
beaucoup plus gratifiant. Ces bonnes pratiques sont présentes dans tous les
domaines. Ce sont les design patterns en programmation, la compréhension des
concepts et de la philosophie derrière une techno pour l'utiliser dans le bon
cadre et en tirer la quintessence. Ne pas utiliser la programmation orienté
objet en JAVA ou utiliser Ansible comme un bête installeur via SSH, c'est
dommage et c'est passer à côté de la puissance qu'on aurait pu en tirer.
Quand on a étiré ses connaissances dans plusieurs domaines avec cet état
d'esprit on atteint la satisfaction de l'artisan qui sait choisir l'outil le
plus approprié pour chaque tâche, on peut prétendre faire de l'architecture
logicielle : être capable de choisir le bon langage et le bon paradigme de
programmation pour un projet, les bons frameworks, et mettre en place les
outils nécessaires à une production de qualité. Le seul hic c'est le temps. Il
y a tellement de sujets et cela prend déjà tant de temps pour se maintenir dans
son cœur de métier, qu'il faut obligatoirement sélectionner. Dans mon cas, le
cœur c'est d'abord le développement avec des solides compétences en JAVA et
PYTHON, deux écosystèmes qui évoluent en permanence. En parallèle ce sont les
méthodes et outils transverses, valables pour tout langage : tests,
intégration, méthodes agiles. Et comme j'ai une fibre système, de par ma
formation initiale, que j'ai bien fait évoluer depuis 6 ans, je me maintiens
sur les outils de déploiement, la virtualisation et les conteneurs.
Pour en revenir à l'année écoulée, j'ai mis le paquet sur le langage PYTHON que
je pratique pourtant depuis 15 ans et sur lequel j'ai décidé de grimper en
compétence. Remise à niveau sur l'aspect fonctionnel du langage, découverte de
nouvelles librairies. J'ai aussi appliqué un conseil lu chez
[Sam](http://sametmax.com) : la lecture de bon code écrit par d'autres. Et
c'est ainsi que j'ai disséqué le code de quelques librairies standard de
PYTHON, notamment les collections. Et c'est un très bon conseil, on en tire des
façons de faire, des conceptions élégantes et cela démystifie le côté un peu
magique de certaines librairies en regardant sous le capot. C'est un effort que
je vais continuer en 2017.
Bonnes fêtes de fin d'année à tous.