Longue vie à MacBook Pro ?

En avril 2014, grâce au revenu issu de l’écriture de mon livre sur Drupal 7 aux éditions ENI, je me suis acheté un MacBook Pro 13″. Il s’agissait d’un début de nouvelle génération Retina, avec un CPU Intel i5 (donc 2 cœurs), à 2,4GHz, avec 8Go DDR3 (1600MHz) de mémoire vive. Des ressources correctes mais qui commencent à être limitées lorsque, dans mon cas, l’usage consiste à développer du code sur des gros projets web qui nécessitent de faire tourner en parallèle une VM ou des conteneurs Docker, un éditeur de code avancé de type PhpStorm (les outils JetBrains sont assez gourmands), les outils que l’on ne ferme jamais (mail, prise de note), un ou deux navigateurs web avec trop d’onglets ouverts, etc.

Les biais d’usages qui sont décrits dans cet article sont ceux de mon usage professionnel, avec le besoin de faire cohabiter mes besoins personnels. Par exemple, depuis plusieurs années, j’ai utilisé 2 comptes bien distincts pour mieux séparer ces deux usages. Désormais, je souhaite mettre fin à cette séparation car elle me semble générer beaucoup de duplication, et donc de perte de stockage (place des fichiers) mais aussi de CPU et réseau car il arrive que certaines tâches de mises à jour applicatives soient jouées sur chaque compte.

A noter

Les paragraphes particulièrement orientés tech sont préfixés (paragraphe) ou suffixés (titre) [tech]

Le verrouillage by design

L’un des problèmes liés aux ordinateurs Apple est le verrouillage de la montée de puissance (CPU, et RAM), et de stockage.

Comme sur tous les portables, il n’est pas possible de changer de CPU puisqu’il est soudé à la carte mère.

Ce qui est plus atypique est le fait que c’est aussi le cas de la mémoire vive qui ne dispose d’aucun Slot, au motif officiel Apple que cette architecture physique permet une meilleure optimisation matérielle, notamment sur le plan des performances.

Même si cet argument semble pouvoir faire sens, cela a aussi pour conséquence de forcer le rachat d’une nouvelle machine pour l’augmentation des ressources de mémoire vive de la machine : le bénéfice commercial qui passe par la conception du matériel est évident pour l’entreprise et l’actionnaire. L’impact environnemental est lui aussi évident : au lieu de changer une barette de mémoire vive, c’est tout l’ordinateur qu’il faut changer ! Au final, la comparaison bénéfice / impact entre un gain marginal de performance d’un côté, et l’impact environnemental et la capacité à évoluer de l’autre ne laisse aucune ambiguïté côté client. Pourtant, la conception des nouvelles références vendues par la société Apple n’a pas changé de paradigme : c’est toujours l’intérêt commercial du verrouillage matériel qui est à l’ordre du jour.

Sur le plan du stockage, même chose : depuis les MacBook Pro Retina 2013, il n’est pas plus possible de remplacer le disque dur de la machine. Contrairement au CPU et à la RAM, des solutions d’appoint sont toutefois envisageables pour contourner cette limite.

Globalement, la mise à niveau des ressources est soumise à une très claire stratégie de verrouillage du produit vendu. Dans ces conditions, allonger la durée de vie de ces ordinateurs passe impérativement par une réflexion sur l’usage et la consommation des ressources.

Dans une perspective constructive, en prenant acte du volume d’ordinateurs déjà produits et disponibles sur notre petite planète, j’ai décidé de bien le prendre — ce qui demande un certain effort : je vais donc mettre de côté pour les lignes qui suivent les choix de conception destinés à favoriser à très grande échelle le renouvellement anticipé, et les conditions de production qui se font autant au détriment des populations qui produisent, que des territoires qui subissent la pollution majeure générée par la production, et puis surtout les conséquences des conditions d’absence de recyclage réel en fin de vie qui génère notamment des fuites extrêmement graves de métaux lourds. Chacune de ces étapes méritera à elle seule un long article, voire un dossier approfondi pour faire le tour de ce qui est déjà documenté.

Ayant décidé depuis 2014 d’acheter au sein de la famille plusieurs produits Apple (un Pro, un Air, un iPad, 2 iPhone SE), et ayant radicalisé depuis ma prise de conscience, commence à se poser très pragmatiquement la question de l’allongement de vie de ces matériels. C’est en effet autour de 2 ans que se pose en moyenne la question du renouvellement du téléphone portabable, et 3 ans le renouvellement du matériel informatique.

Étendre le stockage

Un disque dur est une ressource qui est caractérisée par ses limites. Lorsque cette limite est de 256Go, la question de sa gestion optimale se pose plus tôt que s’il s’agit d’un disque de 512Go, mais au bout d’un certain temps la contrainte est ressentie.

Dans l’informatique d’aujourd’hui, la limite de l’espace disque peut-être contournée de différentes manières.

Ajouter un disque dur interne supplémentaire

Certains ordinateurs disposent d’un second emplacement. Cela passe par un espace physique disponible qui nécessite un écran minimum de 15″ : il y a alors de la place inutile dans la cave sous le clavier, qui peut être ainsi proposée à un disque dur supplémentaire.

Non disponible sur mon MacBook Pro 13″.

Remplacer le disque dur interne

C’est l’approche la plus courante, même si elle nécessite un effort de migration des données, et pose la question de ce que devient le disque dur démonté.

Il semble que la chose soit possible : certains sites web proposent un disque SSD de remplacement, pouvant aller jusqu’à 1To, avec la promesse (le temps passant) d’une amélioration des performances. Des offres d’aide à la mise à niveau intègres les tournes vis et le boitier qui permettront de migrer les données, puis par la suite d’utiliser l’ancien disque interne comme un disque externe pour l’archivage ou autre.

Tuto sur iFixit (exemple : OWC)

Ajouter un disque dur externe

Il est possible de le brancher sur un port USB3 ou USB-C. La performance du disque est assez bonne, la rapidité effective est ensuite limitée par la vitesse des câbles : passez par une connexion générique USB* est forcément moins rapide qu’une connexion matérielle optimisée en interne. Mais on est pas mal.

Cela est possible sur un MacBook Pro, dans la limite des ports disponibles.

L’inconvénient majeur est le fait qu’il s’agit d’un objet supplémentaire qu’il faut transporter, monter et démonter à chaque usage…

Utiliser une carte SD

Une carte SD est plus chère au Mégaoctet qu’un disque dur externe, mais est bien moins encombrante, et bien plus légère.

L’une des caractéristiques du lecteur de carte SD (qui constitue un choix quasi unique dans le secteur des portables informatiques) est le fait qu’il ne permet d’intégrer que la moitié de la carte SD dans la machine : l’autre moitié dépasse de la machine.

Il n’est donc pas envisageable de laisser la carte installée lorsque l’on range le portable dans le sac, au risque de la tordre et perdre toutes ses données. Nous en revenons donc à la contrainte de monter et démonter à chaque usage… et disposer d’une petite boîte de stockage. Contrairement au disque dur amovible, il est alors possible de la perdre assez facilement.

Utiliser une carte micro-SD

Un MacBook Pro ne disposant pas nativement d’un lecteur de carte micro-SD, il faut passer par un adaptateur de lecture de carte micro-SD dont la taille est celle… d’une carte SD. Cela revient globalement à la situation d’une carte SD, mais :

  • plus chère au Mégaoctet
  • encore plus facile à égarée
  • encore plus fragile sur le plan physique

Pourquoi donc alors envisager cette option ? (Spoiler : c’est l’approche que j’ai fini par adopter)

On trouve sur Internet (de temps à autres, il est difficile de remplacer Amazon par son commerce de quartier), des adaptateurs de carte micro-SD au format SD dont la longueur est plus courte, ou pour être plus complet : qui ont été spécialement conçues pour répondre au choix de conception imposé par Apple sur ses MacBooks. Au final, la limite se trouve levée, et on ne génère que des surcoûts supplémentaires (achat, production, logistique, distribution, pollution à chaque étape, etc.).

Aucun de ces objets ne bénéficie de critiques clients unanimes, ce qui génère un peu d’inquiétude au moment de l’achat. La plupart déclarent ne pas supporter plus de 256Go — on parle bien d’un bout de plastique qui ne sert qu’à relier une interface de slots métalliques à une autre. Dans le doute, et au vu des prix du Gigaoctet supplémentaire, je n’ai pas eu la témérité d’acheter une carte micro-SD plus grande qui risquerait de ne jamais être utilisée.

[tech] L’inconvénient principal que je puis partager est le démontage intempestif qui arrive 3 ou 4 fois par mois. Il faut alors retirer et replacer le lecteur de carte. Et ça repart. Etant donné ce type de risque matériel, il est souhaitable de s’assurer que le stockage porté par ce support complémentaire ne risque pas de générer un risque de perte de données liées à un démontage intempestif. D’expérience, même l’utilisation pour le stockage de la Docker Image n’a pas généré de perte critique en dehors du temps de redémarrage de l’application Docker.

Au final, même si le coût est un peu supérieur, cela est bien moindre que le remplacement d’un ordinateur complet, sans compter l’importance de l’impact environnemental associé. Et cela répond bien à mon besoin.

Sur le plan de la sécurité, le contenu du disque n’est pas sécurisé comme le contenu attaché à un utilisateur. Mais il s’agit de ce que je recherche afin de mutualiser des ressources entre un utilisateur personnel, et un compte pro (ce qui ouvre d’autres sujets de duplication de stockage que je traiterai dans un autre article).

Choisir ses formats de stockage

Lorsque l’on installe un nouveau disque, comme vu ci-dessus, ce qui est immédiatement remarquable est le fait que le format de stockage recommandé par MacOS (APFS), et vers lequel les dernières mises à jour ont orienté l’utilisateur… ne semble pas disponible dans l’Utilitaire de disque. La boite Effacer… ne le propose souvent pas. La raison en est simple : en l’état, le format n’est effectivement pas disponible.

L’écriture sur un disque dur (une œuvre) fonctionne à deux niveaux principaux :

  • une description qui définit comment pouvoir diviser celui-ci en volumes : le schéma de partitionnement du disque.
  • une description qui définit la manière dont il est possible d’accéder à une page (un fichier) : le format du volume.

Le fait est qu’APFS un format de volume qui n’est pas disponible pour tous les formats de partitionnement. Pour le rendre disponible, il est donc nécessaire de changer le mode de partitionnement.

Le problème est naturellement que modifier le partitionnement a pour conséquence de détruire toutes les données d’indexation du disque : les données ne sont pas matériellement supprimée, mais plus aucun accès direct n’est possible.

Sauf à utiliser un outil spécifique qui efface pour de vrai un fichier (en remplaçant chaque page mémoire par des valeurs nulles), effacer un fichier se limite à supprimer l’entrée dans l’index — et placer le fichier dans la corbeille : à modifier une entrée d’index.

Cela nécessite donc de pouvoir déplacer ces données ailleurs : donc du temps, du CPU, de la RAM, et parfois du réseau. Plus le niveau de sécurité demandé sera élevé, plus ces ressources seront importantes. Il est inutile de supprimer en mode paranoïa des données qui sont publiées sur le web, ou les données qui n’intéressent personnes ou n’ont pas de valeur particulière.

Une carte Micro-SD permet de bien séparer les niveaux d’accès :

  • le lecteur de carte dans lequel on insère une carte : il matérialise l’interface avec l’ordinateur.
  • le disque qui doit être partitionné.
  • le volume où sont effectivement indéxées et stockées les données.

Il existe 3 formats de partitionnement :

  • MBR : assez ancien, il permet de disposer d’une zone où l’on définit sur quel volume lancer le premier programme lors du lancement de l’ordinateur. Il autorise MacOS étendu (précédent format Apple), FAT (vieux format DOS), ExFAT (un peu amélioré, il permettait des partitions un peu plus grandes), et enfin NT (créé par Microsoft).
  • Apple : propre à Apple, il autorise les mêmes formats.
  • GUID : en complément, il propose des formats MacOS chiffrés, ainsi que les formats APFS.

Dans tous les cas, c’est donc le format GUID qu’il faut privilégier.

Mais, encore une fois, cela passe par la suppression de la totalité des données du disque : hors de question sans sauvegarde préalable !

Pour pouvoir, modifier le format de partitionnement, il faut :

  • choisir la présentation Afficher tous les appareils,
  • sélectionner *Effacer… sur l’un des éléments de plus haut niveau (clic-droit pour accéder au menu contextuel)
  • donner un nom,
  • sélectionner le schéma Table de partition GUID,
  • sélectionner le format souhaité,
  • cliquer sur le bouton Options de sécurité pour choisir les conditions d’effacement des données sur le disque dur (vidage de la corbeille),
  • et cliquer sur Effacer.

Pour les formats de volumes Apple (MacOS et APFS), il est possible de choisir 2 options supplémentaires :

  • sensible à la casse (document vs Document vs DOCUMENT) : par défaut, ce n’est pas le cas, comme pour les systèmes de fichiers Microsoft (FAT, exFAT, NT) — alors que les systèmes Unix (linux) sont historiquement sensibles à la casse ;
  • chiffré : par défaut, ce n’est pas le cas, mais cette option permet d’empêcher la lecture d’un fichier directement sur le disque — naturellement, tous les accès (lecture, écriture) sont beaucoup plus coûteux en CPU et RAM, donc impacte significativement les performances.

On aura noté que MacOS ne fournit aucun moyen de formater un volume au format Linux, alors même que MacOS est un système d’exploitation Unix (système BSD).

Pour savoir quel est le bon format pour un volume, il faut avant tout s’interroger sur son usage à long terme (i.e. jusqu’au prochain effacement complet) :

  • Le disque sera-t-il strictement utilisé par MacOS, ou bien le format doit-il être lisible par un autre système d’exploitation ?
  • Quelles sont les conditions de récupérations de données en cas de panne de la machine ? Si cela est facile, cela signifie aussi que les données sont moins bien protégées en cas de vol du disque par un tiers.
  • Quelles sont les conditions de performance lors d’une utilisation normale ? Quelle utilisation moyenne sera faite sur ce support : plutôt de nombreux petits fichiers ? ou bien des très gros fichiers multi-volumes ?

Les business models de la rareté

Le second modèle d’affaires de la rareté de stockage (tant sur les MacBook que les iPads et les iPhones) participe à générer du revenu dans l’offre de service du stockage distant nommé iCloud.

Publier pour collaborer

La promesse de service initiale consiste à faciliter le partage de fichiers entre terminaux, ou entre personnes. Un service comme Dropbox est plus orienté à faciliter la collaboration, et le partage facilité d’un lien vers une ressource ou un groupe de ressources (fichiers, image, etc.). iCloud est plus orienté vers un partage individuel entre terminaux, et le cercle très fermé de la Famille (à comprendre comme un périmètre de facturation, et de licences au sein de l’Apple Store).

Peu à peu, cette promesse a été remplacée par une incitation à placer le plus possible de ressources dans iCloud, et de moins en moins sur le disque local. Les mêmes évolutions se retrouvent chez Google et son Drive qui a privilégié une gamme d’ordinateurs qui ne sont pensés que pour faire tourner des applications web.

Renoncer à la privauté pour partager avec soi

Alors que le prix du Gigaoctet sur disque n’a cessé de baisser depuis des décennies, le coût marginal du Gigaoctet soudé sur un MacBook neuf est sans commune mesure avec le coût du Gigaoctet vendu sur un disque : sur un MacBook Pro équivalent à mon exemplaire 2014 (même CPU, même RAM, même disque), passer de 256Go à 1 To (1 Téraoctet = 1024 Gigaoctets) coûte 750€ de plus alors qu’un SSD sans kit de mise à niveau coûte $250. Et $320 avec kit de mise à niveau, cas dans lequel nous disposons en réalité de 1To + 256Mo externe. Naturellement, ouvrir la machine pour opérer une telle mise à niveau a aussi pour conséquence de faire immédiatement tomber la garantie du fabricant.

Derrière ces services, les évolutions d’usage orientent l’utilisateur vers une évolution du sanctuaire personnel :

  • Une confusion entre un espace disque physiquement privé, et un espace disque loué qui est juridiquement privé mais physiquement dépossédé.
  • Une incapacité physique à aller contrôler la nature exacte des traitements qui sont opérés sur nos données, les accès, les conditions de copies sous motif de performance et de résilience des infrastructures.
  • La transition entre un contrat de propriété facile à comprendre, et un contrat de service difficile à maîtriser, instable, et assymétrique tant par le puissance juridique, commercial, financière, technologique que géographique.
  • Le passage d’un régime juridique national de protection du consommateur à un contrat de droit américain sur lequel s’applique le CLOUD Act qui participe à contourner une part du régime européen de protection des données stockées dans des services opérés par des Entreprise américaines.
  • Et ne pas oublier que lorsque les Américains gagnent un combat pour la protection de leurs données, ce recul ne concerne que les citoyens américains : les européens sont logés à la même enseigne que les ressortissants de tous les autres pays de la Terre — il n’existe pas de dérogation protective des données pour les Alliés.

Maîtriser son partage

Etant entendu qu’à l’heure où j’écris ces lignes, en connaissance des éléments listés ci-dessus, je suis depuis nombre d’années utilisateur de plusieurs autres services en complément de ceux déjà listés précédemment. Il s’agit donc moins de donner des leçons de bonne conduite, que de faire un point, de consolider tous ces détails connus que je procrastine, et commencer à activement remettre en cause cet ordre établis :

  • Mais pourquoi continuer à gérer ainsi mes données ?
  • Changer de machine aurait-il le moindre impact sur ces problématiques ?
  • Comment faire la part des choses, dans la mise en œuvre, entre les enjeux de sécurité des données, la réalité des choix passés qui ne peuvent plus être changés et l’impact environnemental des choix à venir ?

Durant longtemps, il manquait des pièces aux dispositifs alternatifs, aux solutions libres publiées. Depuis un certain nombre de mois, j’ai le sentiment que l’arsenal est désormais suffisamment exhaustif pour pouvoir réussir à sortir véritablement, et durablement des GAFAM en 2019. Tout l’enjeu est de réussir à avoir à la fois :

  • Des fonctionnalités à l’état de l’Art
  • La capacité à bénéficier d’une sécurisation par une ubiquité minimale des données
  • Eviter les scénarii que j’ai pu répéter plusieurs fois au XXe siècle : effacer tout ou trop par un formatage opéré trop tard dans la nuit, ou un [tech] rm -fr /* légèrement abusif par mégarde qui est toujours arrêté trop tard par le CTRL-C qui arrivera lorsque la lumière se rallume dans la tête…
  • Et découvrir enfin le prix réel d’un tel service lorsqu’il n’est pas sponsorisé en partie ou en totalité par la mise à disposition de fait à un tiers dont on ne sait rien et qui s’autodéclare personne de confiance.

Libérer CPU et RAM

Lorsque les ressources touchent les limites, l’effort devient nécessaire, et la procrastination du nettoyage touche à sa fin. Et dans le besoin de faire de la place, les marges de manœuvre sont peu négociables.

Lorsque l’espace restant tombe à 10%, MacOs va commencer à s’en plaindre, et à un niveau situé entre 5% et 8%, un impact de performance commence à se faire véritablement sentir. Il n’est pas rare que le ventilateur du CPU commence à donner longuement l’impression que l’ordinateur conçu pour être silencieux n’est plus rien d’autre qu’un ventilateur géant qui tente de décoller et prendre de l’altitude.

Le côté positif est que cela force à prendre acte de la situation : il est de commencer à réfléchir à sa manière d’utiliser les ressources de l’ordinateur.

  • Fermer les applications / données / onglets non-utilisés actuellement.
  • Fermer une session utilisateur plutôt que de garder une multiplicité de comptes ouverts
  • Tenter d’identifier les tâches de fond : elles sont lancées avec une priorité plus basses, et ne sont pas supposées impacter pas les performances en forte charge (c’est le métier du système d’exploitation, et notamment celui de MacOs). Par contre, cela participe à multiplier les tâches lancées (comme tout ce qui semble peu cher), et génère de la consommation de ressources (CPU, RAM, énergie, etc.).

D’une manière générale, le niveau de consommation d’énergie est probablement le meilleur critère d’observation de l’activité de l’ordinateur : tout traitement consomme de l’énergie. Si cette valeur baisse significativement, c’est qu’il y a quelque chose d’important à identifier et à reproduire régulièrement.

J’ai aussi pu observé que depuis que j’ai commencé à nettoyer / re-déployer de manière un peu proactive le contenu de mes disques durs (au bénéfice du disque principal) mon MacBook a pour le moment cessé de s’envoler : c’est très récent mais très encourageant.

Pour autant, il y a un mystère que je n’arrive à résoudre : il semble avoir plus tendance à surventiler lorsqu’il ne fait rien, en mode écran vérrouillé, que lorsqu’il est opérationnel. Si vous détenez une explication, n’hésitez pas à me contacter pour partager celle-ci 😉

Les navigateurs web

Je suis assez mauvais à la fermeture d’onglets de mes navigateurs, alors que pour le reste des applications je sais assez bien refermer des documents. Cela vaut pour chacun des navigateurs. A ce titre, regarder dans l’outil de Monitoring système les ressourcing par chacun de ces onglets est assez édifiant.

J’ai trois navigateurs installés :

  • Safari : je crois ne pas avoir le choix. Il me semble que comme sur Windows, il s’agit d’une dépendance pour nombre d’autres applications de MacOS. Je l’ai surtout utilisé au cours des premières années. Je ne m’en sers plus qu’anecdotiquement. Je l’utilise notamment si mon activité à un lien avec l’univers Apple.
  • Firefox : il s’agit de mon navigateur de référence et celui qui est définit comme navigateur par défaut. Libre et fiable. Jusqu’à ce que l’on me prouvera le contraire, je le croît être plus fiable car libre et ouvert. Je ne me connecte jamais à l’écosystème de Google sur Firefox.
  • Chrome : je l’utilise lorsque j’ai besoin d’aller dans le monde Google en mode connecté. Et lorsque j’ai besoin de faire des tests de développement sur Chrome, ou utiliser un de ses outils de debug ou d’analyse.

Il m’est arrivé d’avoir plusieurs dizaines d’onglets ouverts par navigateurs, répartis ou pas entre plusieurs fenêtres par navigateurs. Ce type de situation consomme à la fois du CPU et de la RAM. Ou bien de l’espace disque lorsque onglets inactifs sont swappés (stockage temporaire sur le disque pour libérer de la mémoire vive).

Depuis plusieurs semaines, peut-être plusieurs mois, je réfléchis (de manière aléatoire, extensive) à une discipline, un endroit où prendre note de ces pages qui me semblent si nécessaires. Un blocage assez ridicule, et consommateur de ressources, qui empêche tout lâcher-prise énergétique tant sur le plan intellectuel qu’informatique. Le problème est moins simple qu’il n’y paraît : ces onglets restent ouverts car je sais que je passe régulièrement à cet endroit, et cela participe à relancer des réflexions, des idées.

Il faut donc trouver un endroit plus static, mais où je passerai presqu’aussi régulièrement. Ce lieu ne doit pas être un archivage où la relance des idées s’évanouiraient. Cela peut paraître un peu ou très alambiqué, mais explique beaucoup pourquoi ces onglets restent ouverts au mauvais endroit.

En réalité, je n’ai pas seulement 3 navigateurs, j’ai probablement désormais encore plus d’onglets qui restent ouverts dans mes navigateurs Firefox (mon navigateur principal) et Safari (là où les pages persistent à s’ouvrir lorsqu’on passe par le bouton Partager) : sûrement plusieurs dizaines sur Safari, et plus de cents sur Firefox (oui, je les ai déjà comptés). Il serait donc bon que cet endroit à trouver soit accessible depuis différents terminaux : juste un critère en plus…

Jetbrains et les tâches de fond

Docker et le suivi des fichiers

Normalement, lorsque l’on utilise une image au format *.raw, la taille de vrait être dynamique et optimisée sur disque : Ainsi pour une Docker Machine de 64Go, la taille affichée entre parenthèse sur disque dur devrait le plus souvent être significativement inférieure.

Lorsque j’ai déplacé mon image sur mon disque SD, j’ai pu lire : 64Go (64Go sur disque). Et ce, quelque soit mes efforts à supprimer des conteneurs et des images inutilisés.

J’avais pourtant lors de son installation formaté le volume au format MacOS étendu (journalisé) : lors de la mise à niveau de MacOS qui a apporté APFS, il ne m’a pas été proposé de faire une mise à niveau du même type. La table de partition est de type MBR.

J’ai décidé de déplacer l’image de la Docker Machine sur le disque principal qui est au format APFS sur une table de partition GUID. S’il s’avère que le temps de démarrage en est nettement amélioré, la taille sur disque en est restée inchangée. Les performances générales quant à elles sont sans communes mesure.

Aucune des recommandations listées sur cette page n’a effectivement généré un gain de place sur le disque :

Une aide précieuse pour libérer de l’espace disque :

Désencombrer les disques durs

Pour réussir à avancer dans ce sens, il n’y a pas beaucoup de manière de faire : comme pour le désencombrement physique, il faut apprendre à jeter — sans se retrouver à supprimer n’importe quoi, n’importe comment. En guise de zone de mise en attente, il est possible de faire usage d’un disque externe d’archivage : l’essentiel est que cet espace se situe en dehors des disques montés en permanence sur la machine (en ce qui me concerne : disque principal de 256 Go, et carte micro-SD de 200Go).

La non-utilisation d’une données depuis plusieurs années est aussi un angle assez facile à mettre en œuvre.

Trier le code [tech]

Si vous coder, garder le code de projets de plus de 2 ou 3 ans ne sert à rien (au moins dans 95% des cas) : il est peu probable que du code ancien ne soit aux standards de codage, et les cas de réutilisation en globalité est moindre. L’urgence est à faire le tri :

  • Tout code réutilisable est à placer sur un dépôt public ou privé de Github ou GitLab. Il n’a rien à faire sur le disque local.
  • Surtout cesser de penser que du code doit être propre pour être placé dans un dépôt de ce type : c’est une tâche à ajouter / documenter dans le dit dépôt suivant la manière la plus rapide ou plus adaptée que l’on préfère : wiki, fichier README, documentation, tâche. L’essentiel est de faire le tri, pas de s’imposer une tâche plus lourde qui génère de la procrastination.
  • S’il s’agit de quelques lignes nécessitant moins de structure, faire un Gist.
  • Lorsque l’on travaille toujours avec le même Framework, il apparaît vite que le code Core et autres vendor/ est présent 5 fois, 20 fois, parfois plus : l’espace libéré par ce recentrage sur la valeur est immédiatement sensible.
  • Surtout, penser à vider la corbeille pour sortir les ordures : sans quoi l’espace disque n’est pas prêt d’être libéré.

Limiter les VM / Conteneurs Docker [tech]

La taille par défaut d’une Docker Machine est de 64Go. J’ai souhaité réduire cette taille à 32Go car la taille réelle utilisée est plutôt l’ordre de 20Go. Lorsque l’on tente de réduire le disque Docker.raw (donc le format le plus performant et récent, qui permet prendre en compte l’effacement d’une image inutilisée), on obtient cet avertissement :

Resizing to a smaller size will delete the disk image; all Docker images / containers will be lost. Other settings will be preserved.

Autrement dit : il faut avoir pris soin par ailleurs de pouvoir réactiver la totalité des conteneurs nécessaires. Je dois donc m’assurer que :

  • Je ne vais pas perdre de données enregistrer au sein même des conteneurs : je dois monter un volume pour exfiltrer les données.
  • Je vais être en mesure de reconstruire intégralement mes conteneurs a posteriori : je dois m’assurer que mes images actives sont bien à jour.
  • Je dois m’assurer que ces images à jour sont exportées pour pouvoir ensuite les réinsérer dans ma Docker Machine une fois réinitialisée : je dois donc disposer de la place nécessaire sur mes disques pour stocker la version archivée en plus de la version active déjà présente sur mon disque au sein de la Docker Machine. Si rien n’y est confidentielle, une solution consiste à les stocker sur Docker Hub : cela signifie consommer du débit réseau ascendant et descendant pour plusieurs Go. Pas forcément ma priorité dans une démarche de limitation de mon impact environnemental.
  • Je dois donc surtout commencer par me poser et m’interroger pour chaque conteneur : ai-je vraiment besoin de conserver celui-ci ? ne puis-je pas simplement jeter ce que je n’ai jamais pris le temps de jeter ? puis-je dépasser le piège du au cas où… ?

Le fait de disposer de 2 comptes, m’a amené à disposer de 2 Docker Machine : sur un disque de 256Go (+ 200Go sur SD), dont une certaine part est prise par l’incompressible taille du système d’exploitation MacOS qui ne cesse de grossir, et les applications, les 2 x 64Go de stockage monopolisé par ce fonctionnement en double compte est devenu l’un des problèmes
centraux de mon optimisation d’espace disque. Il est facile d’imaginer que l’optimisation de cet espace disque de plus de 25% de l’espace disque total à quelque 7% a un impact qui va au-delà du seul stockage : lorsque l’espace libre tombe en deçà de 10-15% du disque principal, on commence à ressentir des problèmes de performances : je suppose que l’on doit limiter les ressources disques de MacOS utilise pour son optimisation, mais je n’ai pas une connaissance très approfondie des stratégies effectivement mise en œuvre par le système d’exploitation en la matière.

Simplifier l’usage de WordPress

Voici les stratégies que j’ai entrepris de mettre en place pour simplifier le mieux possible mon usage de WP :

  • Limiter le nombre d’installation en utilisant une instance WP Multi-sites, multi-domaines.
  • N’utiliser qu’un unique thème, quelque soit le projet : Twenty Seventeen, fourni avec la distribution de WP, donc soumise à des contrôles qualité fort, et toujours en phase avec la dernière MAJ.
  • Limiter, en conséquences, le plus possible les corrections à faire sur le thème.

Pour le moment, mes modifications du thème portent sur des besoins d’intégration avec des services tiers dans les fichiers header.php et footer.php qui devront être progressivement sortis vers un plugin dédié à ce type de correctifs ciblés.

A noter, que les gabarits qui ont été modifiés dans le thèmes ne sont pas écrasés lors des mises à jour de WP. Donc rien n’est perdu : ne vous empêchez pas de MAJ votre WP par crainte de perdre des modifications de ce type.