High Sierra : comment s’y préparer en entreprise (et pas que)

High Sierra, alias macOS 10.13, approche à grands pas, et à ce titre, Apple a diffusé plusieurs articles techniques en amont, tous résumés dans cet article. Intéressons-nous y donc de plus près…

Abandon des certificats signés SHA-1 utilisés avec le protocole TLS.

Cela peut avoir un impact si vous utilisez d’anciens certificats sur d’anciennes versions de Mac OS X Server, par exemple. Notez cependant cette phrase pas anodine en italique dans le document :

Les certificats CA racine signés SHA-1, les certificats SHA-1 distribués par des entreprises et les certificats SHA-1 installés par les utilisateurs ne sont pas concernés par cette modification.

Cela n’est donc surtout vrai que si, par exemple, vous hébergez un site web sur un serveur, site protégé par TLS avec un certificat considéré désormais comme non fiable. Depuis macOS 10.12.4 et iOS 10, Safari affichait une alerte en cas de certificat non fiable, mais désormais, la connexion est carrément refusée. À vous de mettre à jour votre certificat sur votre site. Ça ne sera pas un mal dans tous les cas…

Et dans tous les cas, même pour vos certificats d’entreprise, ou autres, il vaut mieux basculer vers des certificats signés de façon plus sûre.

Les certificats utilisant des clés RSA d’une taille inférieure à 2048 bits à travers toutes les connexionsMacos aofs maj TLS ne seront plus considérées comme sûres.

Là encore, il s’agit d’une amélioration de la sécurité au vu des évolutions technologiques. Apple pousse la sécurité vers le haut, et préfère abandonner des technologies considérées comme obsolètes côté sécurité. Si vous êtes administrateur informatique, attention donc si vous utilisez par exemple des services comme des VPN utilisant des clés RSA un peu trop faibles.

Un exemple de clé RSA non valide sous macOS High Sierra (chiffrement 1024 bits).

TLS 1.2 par défaut pour les configuration EAP-TLS

Important surtout si vous utilisez une authentification de type entreprise exploitant le protocole EAP-TLS pour vos connexions Wi-Fi ou Ethernet. Vos points d’accès devront désormais utiliser TLS 1.2 et non plus 1.0. Dans le cas où vos points d’accès ne peuvent être mis à jour, vous devrez appliquer un profil de configuration sur vos Mac pour forcer l’utilisation de TLS 1.0.

APFS : tout ce qui va mettre le souk dans vos systèmes informatiques

J’ai déjà longuement abordé APFS, je ne reviendrai pas dessus, même si il va falloir éduquer quelque peu vos utilisateurs (« je comprends pas pourquoi désormais quand je duplique des fichiers de 10 Go, la copie se fait toute seule et la taille du disque ne bouge pas… »). Apple y a carrément dédié un article spécifique, pas encore disponible en VF (mais le lien que j’ai utilisé devrait pointer sur la VF dès qu’elle sera disponible).

Il va cependant falloir noter certains points TRÈS importants lors de la migration vers High Sierra.

  • High Sierra va automatiquement convertir tous vos disques de type flash (internes ?) vers APFS, et à priori, on ne peut pas l’éviter. Or, si vous avez des disques partagés via le protocole AFP, ceux-ci ne pourront plus être partagés en utilisant ce protocole (obsolète). Ça peut être gênant si vous avez des anciens clients sous Mac OS X, ou des logiciels qui supportent mal le SMB (<Tousse> Adobe CC <Tousse tousse>), dans ce cas vous ne pourrez plus vous connecter en forçant AFP plutôt que SMB.En clair, si vous avez des serveurs tournant sous des versions récentes de macOS, évitez le passage sous High Sierra si vous avez encore besoin du protocole AFP.
Macos aofs maj

Si vous voyez cette case sur un disque dur classique, vous ne la verrez pas lors de l’installation de la version finale de macOS High Sierra sur un disque flash.

  • Notez que le passage ne sera automatique que pour les disques intégralement Flash, donc pas de migration si vous utilisez un Fusion Drive ou un disque dur classique.
  • Si vous utilisez Time Machine via AFP, vous devrez basculer la connexion en SMB. Du coup, vos postes clients devront peut-être être reconfigurés pour être à nouveau sauvegardés via Time Machine.
  • Les versions de macOS antérieures à macOS 10.12.6 ne pourront pas lire ou écrire sur un disque APFS. Si vous devez assurer l’échange de fichiers avec des disques externes vers d’anciens systèmes, ne les convertissez pas vers APFS. Utilisez Mac OS Étendu pour l’échange vers des Mac, ou exFAT si vous devez également transférer des fichiers vers des PC (évitez FAT-32 (pas de gestion des gros fichiers) et NTFS (pas géré nativement par macOS en écriture)) (et oui je sais il y a trop de parenthèses dans cette phrase).
  • Boot Camp est supporté si vous mettez à jour votre Mac vers macOS Sierra, SAUF si le volume Boot Camp est d’une taille supérieure à 3 To ET réside sur un disque Fusion Drive. Que se passe-t-il si vous avez un volume Boot Camp de plus de 3 To sur un Fusion Drive ? Ben… on ne sait pas. Mystère total. Est-ce que le volume devient non bootable ? Est-ce qu’il faut recréer la partition Boot Camp intégralement ? Au cas où, vous pouvez quand même réduire le volume avec Camptune X (testé avec succès chez moi).
  • Dans tous les cas, Boot Camp ne gèrera pas APFS, en tout cas pour le moment. Cependant, la phrase d’Apple est ambiguë : Boot Camp doesn’t support Read/Write to APFS-formatted Mac volumes. Est-ce que ça veut dire que Boot Camp supportera au moins la lecture des volumes APFS ? SI vous avez la réponse à cette question, ça m’intéresse :)
  • Et évidemment, il faudra mettre à jour la totalité de vos utilitaires de gestion/réparation de disque avec des versions compatible APFS. Mais ça, vous vous en doutiez, n’est-ce pas.

Du côté des services d’annuaires…

Pas grand chose à signaler de ce côté. Ah si, quand même un truc important :

  • Les postes sous High Sierra ne pourront plus être reliés à un annuaire Active Directory dont le niveau de fonctionnalités est inférieur à 2008. Exit Windows Server 2003. Mais de toute façon, en tant que bon sysadmin, ça fait longtemps que vous avez dégagé vos serveurs 2003, n’est-ce pas (enfin je l’espère pour vous).
  • Y’a un deuxième point à savoir, si vous faites partie des 2 administrateurs à encore utiliser NIS, vous ne pourrez pas intégrer vos postes High Sierra. Je sais, c’est un coup dur.

Extensions de kernel… UAKEL bordel ! 1

Du côté des extensions de noyau, ou kernel pour les intimes, il y a énormément de changements. Tout d’abord, rappelons ce qu’est une extension de noyau. Il s’agit d’un fichier doté d’une extension .kext qui ajoute des fonctionnalités au micro-noyau de macOS. La plupart du temps, les extensions de noyau sont plutôt des pilotes matériels, des protocoles réseau, des systèmes de fichiers… Dans l’absolu, Apple invite fortement les développeurs à se passer des extensions de noyau pour éviter qu’un crash d’une extension provoque la chute du système (et donc un reboot obligatoire). Et il est rare qu’un logiciel ait vraiment besoin de charger des extensions de noyau. Mais cela arrive !

Avant High Sierra, une application pouvait installer une extension de kernel et se lancer tranquillou billou, sans que l’utilisateur en soit averti. Mais désormais, le comportement de macOS va changer. Un nouveau mécanisme appelé User Approved Kernel Extension Loading (UAKEL, c’est moche) va désormais inviter l’utilisateur à valider les applications à utiliser une extension de noyau à se charger.

Alors, j’avoue que quelque part, ça me laisse perplexe. En effet, dans cela fait seize ans que macOS charge des extensions d’applications tierce sans qu’Apple s’en émeuve, et d’un coup, ça devient un méga-problème. C’est très bien qu’Apple veuille que les utilisateurs sachent que des trucs se passent sur leur Mac, mais d’un autre côté, ça implique que l’utilisateur comprenne ce qu’est une extension de noyau, et aille valider dans un dialogue s’il souhaite ou non utiliser une extension sans comprendre vraiment à quoi ça sert. Mouaaaaaaaaaais. D’autant plus que l’utilisateur n’aura pas besoin d’être administrateur pour activer l’extension. Ce qui, à mon goût, tue un peu l’intérêt du truc. Cela me fait furieusement penser au concept de l’UAC sous Windows… Erik Gomez a longuement écrit (en anglais) sur ce qu’il appelle Kextpocalypse. Heureusement, Apple a modifié le comportement de l’UAKEL pour rendre la gestion bien plus simple que prévue :

  • UAKEL ne s’activera que pour les nouvelles extensions installées après ou pendant l’installation de High Sierra. Si vous avez déjà des applications installées qui utilisaient des extensions, elles seront automatiquement validées. Ça devrait déjà éliminer un paquet de problèmes.
  • Si une extension remplace une extension déjà validée, elle ne demandera pas la validation.
  • Surtout, si vos Mac sont enrôlés dans une solution de gestion de mobilité (MDM), telle Jamf Pro, Jamf Now, Airwatch, Filewave, Profile Manager… UAKEL sera automatiquement désactivé. Plus de crainte de centaines d’appels affolés après une migration en masse vers High Sierra !
  • Par ailleurs, Apple précise que vous pourrez désactiver UAKEL à la main sur vos postes à l’aide de la commande spctl en démarrant sur la partition Recovery (processus lourd). Et réinitialiser la NVRAM réactivera automatiquement  l’UAKEL.

Mettre à jour vers macOS High Sierra… ou déployer une image de High Sierra ?

Depuis l’arrivée du programme DEP pour le déploiement des appareils, la question de déployer un système en s’appuyant sur une image-disque avec un outil comme Deploy Studio ou autre se pose de plus en plus. Dans le cas du passage à High Sierra, la question ne se pose même pas :

Vous DEVREZ déployer au moins une fois High Sierra via l’application de mise à jour.

L’explication est simple : lors du déploiement de High Sierra, une mise à jour de firmware sera également automatiquement installée par le logiciel d’installation de macOS, comme l’explique cet article. Impossible également de mettre à jour un système sur un disque externe ou sur un Mac en mode disque cible.

Apple a d’ailleurs ajouté de façon très claire et bien visible dans son article :

Apple doesn’t recommend or support monolithic system imaging when upgrading or updating macOS.

C’est clair non ?
 
CEPENDANT.

Vous pourrez toujours faire une image d’un Mac après qu’il ait été migré en High Sierra une première fois, puis déployer l’image SI CES MACS ONT ÉTÉ DÉJÀ MIS À JOUR UNE PREMIÈRE FOIS VERS HIGH SIERRA.

En clair : si vous avez déjà mis une première fois vos Mac à jour vers High Sierra, rien ne devrait vous empêcher de déployer une image monolithique par la suite, une fois que le firmware a été déployé. Mais ça ne reste pas une solution que je recommande, pour plein de raisons qu’il serait trop long de lister ici.

Par contre, imaginons que vous commandiez un lot d’iMac ces jours-ci auprès d’Apple, et que ces iMac vous soient livrés avec macOS 10.12 Sierra. Là, vous vous dites, « les machines sont neuves, j’attends High Sierra et je les déploie avec un nouveau master tout beau tout propre vers High Sierra avant de les déployer, ni vu ni connu j’t’embrouille ». Ben là, c’est complètement non supporté et vous risquez de rencontrer des problèmes (kernel panics, chute de cheveux, nouvelle émission d’Hanouna, que sais-je). Donc, vous devrez passer par la case mise à jour de logiciels :

  • Par la partition Recovery avec Option + Commande + R (si vous utilisez Cmd + R, vous réinstalleriez la version de l’OS fournie avec votre Mac !) ;
  • En lançant l’installation de macOS depuis le Finder ;
  • Avec un disque d’installation  de macOS créé avec la commande createinstallmedia OU DiskMaker X (Et oui, cela signifie aussi que Diskmaker X sera sûrement d’actualité pour High Sierra ;-) ) ;
  • En créant une image d’installation avec l’utilitaire d’image-système et en la déployant avec la fonction Netinstall de macOS Server.

Le plus simple sera sûrement de déployer l’application High Sierra (à l’aide d’un logiciel d’installation customisé) en exploitant votre solution de déploiement habituelle, Jamf, Filewave, Munki, etc).

Conclusion

Ne migrez pas tout de suite vers High Sierra dès sa sortie. Si vous le pouvez, bloquez la mise à jour autant que possible, et attendez la version .2 ou .3 pour la déployer, comme d’habitude. N’oubliez pas que vous pouvez simplement désactiver le téléchargement des mises à jour en arrière-plan. Jamf Pro permet aussi de bloquer le lancement des applications

Et surtout, testez, testez et testez. La meilleure solution pour les déploiements de ce type consiste souvent à déterminer deux ou trois utilisateurs avancés/passionnés capables de vous faire des vrais retours d’expérience, capables d’assumer les conséquences d’une migration anticipée vers un nouvel OS, de vous indiquer clairement les soucis rencontrés.

N’hésitez pas à renvoyer à Apple vos rapports de bugs. Oui, ils sont bien lus et ils sont pris en compte, surtout si ils sont nombreux. Mais cela pourrait être l’objet d’un autre article.

Et dans tous les cas, enjoy macOS High Sierra !

  1. Je me rends compte que je n’ai jamais fait de vanne sur Kernel et Lion, alors que les Kernel de Lion, ça aurait pu faire un super gag gastronomique. C’est triste.

Finder et « Afficher tous les fichiers » : le raccourci impossible en VF (màj : ou pas)

J’ai entendu parler d’un nouveau raccourci dans le Finder de macOS ces derniers jours à deux occasions, lors d’un article sur le site MacStories, et plus récemment sur Slack. Il s’agit d’une combinaison de touches utilisable dans le Finder pour afficher ou masquer les éléments invisibles dans les différents dossiers de votre Mac. Or, ce raccourci semblait totalement inutilisable sur mon Mac. Le raccourci en question est :

Cmd + Maj + . (point).

À priori, c’est donc un super nouveau raccourci, qui fonctionne d’ailleurs déjà depuis 10.11 (peut-être avant, flemme de tester) dans les dialogues d’ouverture et enregistrement de fichiers. Mais curieusement, il ne fonctionne pas si votre clavier est en configuration AZERTY (99% de la population française). En effet, en France le point est affiché en utilisant Maj + point-virgule. Or, dans notre cas, la correspondance des touches ne fonctionne pas. J’ai essayé différentes solutions, en particulier en attribuant de nouveaux raccourcis-claviers dans la préférence Système Clavier > Raccourcis, mais aucune ne fonctionne correctement, le Finder n’ayant pas d’article Afficher ou Masquer les éléments invisibles pour lui créer une correspondance.

MISE À JOUR (28/05/2017) : En fait, il y a bien un raccourci-clavier utilisable en AZERTY ! Il faut ajouter la touche Fn, ce qui fait donc Fn + Cmd + Maj + point. Bravo à @trebleum qui a trouvé la solution sur Twitter.

Il reste toujours la solution du Terminal (taper defaults write com.apple.finder AppleShowAllFiles yes ; killall -9 Finder et valider), mais il est dommage qu’on ne puisse pas bénéficier de ce raccourci en VF. J’ai renseigné un Radar sur sur ce sujet (#32443380), n’hésitez pas à faire un duplicate dessus.

AppleShowAllFiles

L’Applescript du support technique [Oldies but Goodies]

Dans la série « ça trainait sur mon disque dur », un prototype d’Applescript rigolo que j’avais pondu pour la première version de Gete.Net, il y a 18 ans… La vache, ça ne nous rajeunit pas.

——-——-——-——-——-——-——-——-——-——-——-——-——-——-——-——-——-——-

–Ce script sert à décrire exactement comment les techniciens des centres de support technique sont entrainés à répondre au téléphone–
— Optimisation des couches basses du script par Guillaume Gete® —
— Toute ressemblance avec des individus ou des faits existant ou ayant existé est complètement fortuite… Enfin, on l’espère :-) —

Set 
LeTelephone to “Dring Dring”
Set LeClient to LeNomDuClientGonflantQuiAppelle
Set 
NumeroClient to LeNumeroConfidentielDuClientGonflantQuiAppelle

when hearing LeTéléphone
tell application “Prend Telephone”
activate

–Les lignes suivantes servent à se présenter une fois le téléphone décroché–
     set NomTechnicien to MonNom
          if HumeurDuMoment = « Bonne »
set 
TonParole to “VoixChaleureuse”
               set TechVolume to 3
speak « 
Apple Assistance bonjour » & NomTechnicien & « à l’appareil. », with volume = TechVolume and voice = TonParole
          else
set 
TonParole to « VoixAgressive »
               set TechVolume to 5
speak « 
Allo, quel est le problème ? », with volume = TechVolume and voice = TonParole
          end if

–Les lignes suivantes servent à faire donner le nom du client une fois le téléphone décroché–

     speak « Puis-je avoir votre numéro client ? » with volume = TechVolume and voice = TonParole

if LeClient answers “Désolé, je n’ai pas de numéro de client » and HumeurDuMoment = « Bonne »
               speak « Désolé, il m’est impossible de vous aider car vous n’êtes point référencé auprès d’Apple Assistance. Je vous transmets au standard afin que nous procédions à votre enregistrement. »
               redirect LeTelephone to LeStandard
          else
                 set TonParole to « Kill Kill Destroy »
speak « Mais comment vous avez pu appeler alors ? Votre problème, je m’en tape, vous avez qu’à contacter votre revendeur » with volume = 7 and voice = TonParole
                    set LeTelephone to RaccrocheViolemment
          end if
end tell

–Si le client donne son numéro de client, il faut l’entrer dans la base Clients. Les lignes suivantes déterminent le comportement à avoir si le numéro de client ne ressort pas–

     try
search 
NumeroClient in BaseClients
     on error
set 
TonParole to « PassablementEnervé »
          set TechVolume to 1
speak « 
Putain de base à la con ! » with volume = TechVolume and voice = TonParole
     end try

— Il va falloir désormais répondre à la question. La séquence suivante enclenche le processus de recherche automatique de solutions aux problèmes du client– 

tell application « Répondre à la question »
activate
     set TonParole to « QuestionSansAucuneAttention »
     speak « Bien, quel est le problème ? » with volume = current and voice = TonParole
     hear LeClient without listening
     set TonParole to « Compréhensif »
     speak « Oui… D’accord… Hmmm… Ok, très bien. » with volume 2 and voice = TonParole but without attention

set LeProblèmeDuClient to LeClientLuiMême
set 
BlahBlahBlah to CeQueLeClientEssaied’Expliquer

when BlahBlahBlah = 0
     set TonParole to « Ayons l’air d’y comprendre quelque chose »
     set TechVolume to 3
speak « 
Je vais essayer de trouver une solution. » with volume = TechVolume and voice = TonParole

wait 
idle with timer=120
     set TonParole to « Victorieux »
     set TechVolume to 3
speak « 
J’ai peut-être trouvé ! » with volume = TechVolume and voice = TonParole

— Il n’est plus possible de reculer maintenant, il faut trouver une réponse. —
— Les lignes suivantes servent à guider le « troubleshooting »–

set LaRéponseBateau to « Reconstruire le Bureau »
     set TonParole to « Conseil amical »
     speak « Il va falloir essayer de » & LaRéponseBateau with volume = current and voice = TonParole
     set

wait RéponseClient
     if RéponseClient = « Ca marche ! »
          set TonParole to « Super content »
          set TechVolume to 5
speak « 
Et bien voilà une bonne chose de faite ! » with volume = TechVolume and voice = TonParole
     else

          — Il faut envisager la situation où la solution nª1 ne fonctionne pas —

think « Et merde… » with stay silent
          set TonParole to « Songeur »
          set TechVolume to 4
speak « 
Bon, on va essayer autre chose… » with volume = TechVolume and voice = TonParole
          set LaRéponseBateau to « redémarrer sans extensions »
          set TonParole to « Conseil péremptoire »
          speak « Essayez maintenant de » & LaRéponseBateau with volume = current and voice = TonParole
               
if 
RéponseClient = « Enfin, ça marche !!! »
               think « Pfiou, je l’ai échappé belle » with stay silent
               set TonParole to « Paternel »
               set TechVolume to 5
speak « 
Vous avez apparament un conflit d’extensions. je ne peux malheureusement rester trop longtemps avec vous pour rechercher quelle est l’extension fautive, mais je ne saurais trop vous conseiller de vous procurer Conflict Catcher qui sait très bien gérer ce genre de problèmes. » with volume = TechVolume and voice = TonParole
               think « Demander une commission sur les ventes à Casady & Greene » with stay silent
          else

 Et si la solution nª2 est inefficace, on peut tenter la numéro 3 —
               think « il est vraiment trop blaireau lui… » with stay silent
               set LaRéponseBateau to « Réinstaller le Système »
               set TonParole to « Conseil péremptoire »
               speak « Il va falloir essayer de » & LaRéponseBateau with volume = current and voice = TonParole
wait 
RéponseClient
               if RéponseClient = « Enfin, ça marche ! »
                    think « Pfiou, je l’ai échappé belle » with stay silent
          set TonParole to « Joyeux »
                    set TechVolume to 5
speak « 
Vous voyez, on a réussi !!! » with volume = TechVolume and voice = TonParole
               else

 Dans le cas (probable) où la réponse nª3 ne donne aucun résultat, il faudra alors tenter la solution ultime —
think « 
Mais pourquoi j’ai pris ce boulot moi ? Je voulais tellement travailler chez MicroSoft… » with stay silent
          set HumeurDuMoment = « Massacrante »

          — Il arrive parfois que le technicien soit un peu énervé. Cette routine tente de —
          — voir si il y a maîtrise de soi de la part du technicien ou non. Dans le cas où il —
          — n’y a plus de contrôle, une routine externe prend le dessus Merci à PM pour sa–
          — contribution essentielle à la création de cette routine —
                    try
                              set MaitriseDeSoi to « Contrôle total de la situation »
                    on error
throw 
CasqueAudio on EcranMac
                    speak « Fais chier bordel !!! »
                    end try

set LaRéponseBateau to « Formater le disque dur à bas niveau à bas niveau avec données à zero et réinstaller la dernière version du logiciel Système »
                    set TonParole to « Décision douloureuse »
                    speak « Je pense malheureusement qu’il n’y a pas d’autre choix que de » & LaRéponseBateau with volume = current and voice = TonParole
                    wait RéponseClient
          if RéponseClient = « Ca marche ! Enfin ! Quel bordel ça a été ! »
                         think « Pourvu qu’il ne rappelle pas… » with stay silent
                         set TonParole to « Complètement hypocrite »
                         set TechVolume to 5
speak « 
Oui, mais vous avez avez été talentueux aussi ! » with volume = TechVolume and voice = TonParole
                    else
set 
TonParole to « Regrets eternels éhontés »
speak « 
Je crains malheureusement que notre support n’est pas apte à vous dépanner, le problème vient surement d’un produit MicroSoft. Appelez-les et expliquez-leur le problème, ils ont surement une solution. » with volume = 3 and voice = TonParole
end if
               end if
          end if
end if
end tell

tell application « Remerciements »
activate
set TonParole to « Remerciements hypocrites »
speak « Notre centre de support vous remercie d’avoir appelé et vous souhaite une excellente journée ! » with volume = current and voice = TonParole
set LeTelephone to “Raccroché”
end tell

tell application GameBoy
activate
play « 
Super Mario Land »
end tell

(Euhhhhhhh… No comment.)

 

Captures d’écran sur Mac : capturer un dialogue (et pas toute une fenêtre)

Une petite astuce fort utile si vous faites des captures d’écran à longueur de journée sur votre Mac…

Vous savez normalement qu’en utilisant Cmd + Maj + 3, on capture tout l’écran du Mac, et Cmd + Maj + 4 capture une zone de l’écran.

Maintenant, les pros savent également qu’en utilisant Cmd + Maj + 4 puis en enfonçant immédiatement la barre d’espace, on peut sélectionner une fenêtre à l’écran. Mais cette dernière commande a un petit défaut : si vous capturez un dialogue dans une fenêtre, comme dans l’exemple ci-dessous :

Capture Complete

Vous n’aurez pas d’autre choix que de capturer toute la fenêtre, puis recadrer l’image pour ne sélectionner que le dialogue lui-même.

Sauf que.

Si vous laissez enfoncée à ce moment la touche Cmd, vous aurez la possibilité de sélectionner le dialogue en premier plan SANS capturer toute la fenêtre. Vous pouvez aussi capturer uniquement la fenêtre en arrière-plan si ça vous chante.

Capture Partielle

 

 

Je sais pas vous, mais moi, cette astuce va me changer littéralement la vie. Ou pas. Mais quand même.

3H1P : l’épisode 32 est disponible !

3H1P LogoSi vous n’écoutez pas encore 3 Hommes et 1 podcast, ou 3H1P pour les intimes, c’est un tort. C’est sûrement le podcast le plus sympa du moment avec des gens qui connaissent vraiment Apple, qui aiment rigoler (beaucoup), qui aiment parler de séries et de ciné (beaucoup), de jeux vidéo (parfois, et surtout un seul), et c’est co-animé par trois vrais super copains dans la vraie vie de tous les jours. Et je dis pas ça parce que ce sont mes copains et moi-même qui l’animons avec talent. Quoique. Bref, si vous cherchez la version française d’Accidental Tech Podcast, les discussions sur les bagnoles en moins, c’est ZE podcast à écouter.

L’épisode 32 est donc enfin disponible, après beauuuuuucoup d’attente. Enjoy ! Et n’hésitez pas à en parler sur les réseaux sociaux, et à mettre des étoiles et (gentils) commentaires sur iTunes.

Et on remercie encore une fois Cédric Barré qui gère comme un dieu tout le montage de ce beau bordel !

Apple Pay

«  N’importe quelle technologie suffisamment avancée est virtuellement indiscernable de la magie. » — Arthur C. Clarke 

C’est exactement la phrase qui me vient à l’esprit quand j’ai commencé à utiliser Apple Pay il y a quelques semaines, à l’aune d’un changement d’établissement bancaire (une banque à priori assez populaire). Tout dans le processus d’utilisation d’Apple Pay est complètement magique. De la reconnaissance vidéo de la carte, son intégration à l’iPhone, puis à l’Apple Watch, et son utilisation… Tout a été conçu pour réduire complètement la fameuse friction technologique (si chère à mon copain Mourad de 3 Hommes et 1 podcast).

Apple pay tim cook

Le plus intéressant socialement parlant est évidemment la réaction du commerçant de l’autre côté… surtout quand on paye avec l’Apple Watch ! Autant le paiement avec le téléphone, ça commence à rentrer (doucement) dans les mœurs, autant avec l’Apple Watch, ça surprend. Mais ça marche super bien, et là encore, l’absence de friction est remarquable. Double-tap sur le bouton latéral, on approche, bip, au revoir.

La plus grosse incompréhension vient du fait que la plupart des commerçants pensent que les limitations du paiement sans contact avec une carte sans code s’appliquent également avec Apple Pay, en particulier la fameuse limitation des 20€ de paiement. Or, ce n’est pas le cas. Vous pouvez parfaitement payer des montants dans la limite de ce que permet votre carte de crédit (bon, ça doit aussi dépendre peut-être des TPE). Du coup, ça peut être bien aussi sympa de rappeler aux commerçants qu’ils peuvent commander des stickers à poser sur leurs vitrines, ou même indiquer leur compatibilité Apple Pay dans Plans (cf cette page qui répertorie tout ce qu’il y a à savoir sur Apple Pay).

Mais il y a encore du boulot dans notre beau pays. J’ai passé quelques jours à Londres il y a quelques semaines à l’occasion de la conférence MacAD UK (où j’ai été invité comme speaker, on en reparle bientôt), et là-bas, j’ai pu circuler et tout payer dans la ville sans sortir une seule fois ma carte bancaire ou retirer le moindre penny à un distributeur. Là encore, le contrôleur dans le bus était amusé par le fait de contrôler la transaction depuis ma montre… Nous ne sommes pas encore là en France. Mais on s’en approche, petit à petit.

La dernière surprise, c’est ce Kickstarter pour le retour de l’application Twitteriffic sur Mac (auquel je vous invite à participer, tant qu’à faire), et là encore, le paiement par Apple Pay s’est fait sans douleur via Safari.

Apple Pay est vraiment magique. Et avec une friction quasiment nulle, c’est aussi un outil parfait pour nous faire encore plus consommer…

Nous sommes tous des petits lapins entourés de loups aux dents très longues.

LE Game Boy : Eve-Lise Blanc Deleuze, ex-porte-parole de Nintendo France, répond !

La question du sexe de la première console portable de Nintendo divise la France depuis vingt-huit ans (j’ai mal rien qu’en écrivant ces mots). J’ai humblement apporté ma pierre à l’édifice de ce grand débat il y a quelques mois, en envoyant un courrier au service com’ de Nintendo France, qui m’avait, ô surprise, très officiellement répondu. J’ai posté sur Twitter sa réponse, restée depuis (et de très loin) mon top tweet :

Et quand vous dites le Game Boy, il y aura toujours quelqu’un pour vous reprendre en vous expliquant que l’usage veut qu’on dise UNE Game Boy, et vice-versa.

Game Boy Grey Model

Pourtant, Nintendo France a toujours été clair là-dessus, et mon copain Pierre Dandumont du Blog du Lapin a lancé le site (enfin la page) legameboy.info expliquant pourquoi il faut dire LE Game Boy (ça marche aussi pour les versions Advance, SP, Micro), et ça se vérifie encore très bien sur le site de l’histoire de Nintendo chez Nintendo France. Donc, il faut techniquement dire :

– LE Game Boy, LE Nintendo. Entertainment System, LE Nintendo GameCube ;

– Mais LA Super Nintendo, LA Nintendo 64, LA Wii, LA Wii U…

Et comme j’ai voulu en savoir plus sur ce choix, je me suis dit qu’il serait intéressant de demander plus d’informations à des personnes impliquées à l’époque des débuts de Nintendo en France… Et qui de mieux placé que la superstar de la com’ de Nintendo dans les années 90, à savoir, Eve-Lise Blanc-Deleuze ? Tour à tour Responsable Marketing de Bandai (importateur du N.E.S.)  puis Nintendo France, responsable de la communication et  Directrice de la Communication – Porte parole de la société, elle a été pendant longtemps été sa figure de proue, présente dans tous les médias. C’est en particulier à elle qu’on doit entre autres le fameux magazine du Club Nintendo ! Je vous conseille d’ailleurs d’écouter la passionnante émission sur l’arrivée du N.E.S. en France dans le podcast de MO5.com.

Donc, grâce à la magie de Linkedin, rien de plus simple que de retrouver Mme Blanc-Deleuze… Et elle a accepté avec gentillesse de répondre à mes questions :

Bon, alors pour faire simple : on doit dire « Le Game Boy », c’est sûr et certain (doc, pubs, etc, j’ai même un courrier de Nintendo qui l’atteste).  Mais malgré tout les gens se déchirent sur le sujet, des millions de joueurs disant « La Game Boy ». Donc 2 questions :

– Pourquoi avoir poussé à l’époque « Le Game Boy » plutôt que « La Game Boy » ? Tout comme le N.E.S. ?

– Qui est donc le coupable dans cette affaire ? :-D  

Merci en tout cas pour m’avoir répondu, et si la question vous saoûle parce qu’elle fait partie d’un passé que vous n’avez pas envie de déterrer, pas de souci :-) 

Et voici donc la réponse de Mme Blanc-Deleuze :

Elle ne me saoule pas, elle m’amuse.  LA Game Boy, comme LA NES, la version féminine vient de LA console.  LE Game Boy, LE NES, version masculine donc, vient de LE boy, et LE System.  Pourquoi avoir choisi LE ? je ne suis même pas sure que ce soit un choix délibéré :-)  Traduction littérale sans aucun doute.  Pour info à l’époque, les joueurs étaient essentiellement des ados prépubères de sexe masculin ! Ça a peut être inconsciemment joué ;-))

Je vous laisse juge sur le dernier point :) Mais le choix des mots est effectivement intéressant : plutôt que LA console, c’est LE système de Nintendo Entertainment System qui a joué, tout comme le fait qu’il s’agisse d’un « BOY » dans le Game Boy (Captain Obvious à la rescousse !).

Voilà, moi j’ai fait le max pour expliquer pourquoi c’est LE Game Boy, et pas LA. Mais promis : je ne vous emmerbêterai plus avec ça. Si vous dites LA, je ne vous reprendrai plus (même si je sais pertinemment que vous avez tort). L’usage est fort, il l’a peut-être emporté sur la raison, et ce n’est pas dramatique. Il y a bien d’autres bonnes (et mauvaises) raisons de s’engueuler dans le monde.

Demain, je m’attaque à « pain au chocolat ou chocolatine ». Ou je jouerai à la/le Game Boy. On verra bien.

Utiliser l’authentification à deux facteurs d’Apple ID avec un système non supporté

J’ai activé il y a déjà quelques temps sur mon Apple ID l’authentification à deux facteurs afin de sécuriser les accès à ce compte. Mais les conditions d’utilisations de l’authentification à deux facteurs requièrent l’utilisation d’une version de macOS égale ou supérieure à El Capitan (10.11) ou iOS 9 ou ultérieur. Or, j’ai du pour diverses raisons rétrograder hier une machine en 10.10. Et là, le drame : impossible d’authentifier mon compte dans iTunes ! Pourtant le dialogue d’authentification apparaît bien dans iTunes, mais on me demande de retaper mon mot de passe AppleID, et au bout de deux essais, il m’éjecte… alors que le code de vérification apparait bien sur mes appareils de confiance !

La solution, documentée, est finalement très simple : dans le dialogue de confirmation du mot de passe affiché par iTunes (ou par le système), tapez le mot de passe de votre AppleID suivi du code à 6 chiffres reçu sur un appareil de confiance. Le logiciel le reconnaitra alors immédiatement.

De quoi s’éviter parfois bien des prises de tête !

Quand Siri joue à Super Mario Run

Je plussoie sur la recommandation pour Peach.

SuperMarioRun Siri2951Mario_Run_PeachSuperMarioRun Siri2947SuperMarioRun Siri2949SuperMarioRun Siri2945SuperMarioRun Siri2948

Laissez la mémoire de macOS tranquille !

Kirk Mc Elhearn (que nous avions eu le plaisir d’avoir comme invité sur 3 hommes et un podcast) a publié ces jours-ci un article (en anglais) sur les problèmes de consommation de mémoire de Safari, qu’il trouve trop gourmand. Même s’il soulève des points intéressants, je pense qu’il a une approche trop technique de la gestion de la RAM de nos ordinateurs, et surtout de nos Mac, pour ne pas dire quelque peu rétrograde (no offense, Kirk). Et je pense que c’est assez symptomatique des utilisateurs (dont je fais partie) du Mac depuis de longues années. Reprenons donc depuis le début.

Aux origines fut le Systeme 1.0

Le premier système qui a équipé le premier Macintosh était le système 1.0. D’une sophistication incroyable pour l’époque, il ne permettait qu’un seul programme en mémoire à un instant donné. Le MultiFinder puis le Système 7 ont permis d’exploiter plusieurs applications en même temps. Et ce fameux Système 7 a aussi permis d’améliorer la gestion de la mémoire à l’aide de la mémoire virtuelle. Mais toutes ces améliorations ont posé d’autres problèmes : le système gérait la mémoire de façon coopérative, ne gérait pas la fragmentation de la mémoire (des bouts contigus de mémoire ne pouvaient pas être attribués à une autre application, sauf à quitter toutes les applications lancées depuis), et chaque application devait se voir attribuée une quantité de mémoire avant le lancement. Si l’application manquait de RAM, pas de bol ! Il fallait quitter l’application, la sélectionner, utiliser la fenêtre Lire les informations pour attribuer plus de mémoire (si on en avait…).

Fenêtre Lire les informations dans le Système 6

Bref, ce n’était pas vraiment très souple… et cette gestion de la mémoire a pénalisé le Mac durant de nombreuses années, jusqu’à l’arrivée de Mac OS X.

Mac OS X : la mémoire, c’est moi !

En 2001, le nouveau système d’Apple basé sur NeXT apporte enfin au Mac une gestion dynamique de la mémoire1. Ainsi, plus besoin de gérer la mémoire à la main : le système se charge de gérer comme un vrai chef d’orchestre la mémoire, en gérant plus intelligemment également la mémoire virtuelle qui était aussi devenue dynamiquement attribuée. Mais si la puissance des processeurs de nos ordinateurs a augmenté et la quantité de mémoire vive installée également, leur plus gros point noir reste le disque dur qui équipe majoritairement nos Mac. Et c’est le drame du swap : lorsqu’un programme manque de mémoire, le système déplace une partie de la RAM vers le disque dur, ce qui génère des ralentissements importants. Et là, pas le choix : il faut quitter des applications lorsque la mémoire commence vraiment à manquer.

Mavericks : une gestion (encore) améliorée de la mémoire

OS X 10.9 (Mavericks) a également intégré un nouveau mécanisme de compression de la mémoire, afin de rendre la gestion de la mémoire plus efficace. Apple a d’ailleurs publié un nouvel article technique pour expliquer comment la mémoire est gérée par macOS (oui, on va maintenant dire macOS hein), et en particulier expliquer la notion de pression sur la mémoire. Et c’est peut-être l’endroit le plus important à comprendre pour bien gérer la mémoire de son Mac.

Moniteur Activite memoire compression

La zone Pression de la mémoire vous indique dans quel état se trouve la mémoire de votre Mac : si c’est vert, tout va bien ! Si on est dans l’orange, ça devient inquiétant, et s’il est rouge… Aie, vous êtes en mode swap total ! Dans ce cas, quitter des applications voire redémarrer devient indispensable.

Et encore, pour l’orange, ce n’est pas forcément significatif si votre Mac est équipé d’un SSD plutôt que d’un disque dur classique : certes le SSD reste moins rapide que de la vraie RAM, mais l’impact du swap sur les performances devient du coup très amoindri. Je ne dis pas qu’il n’existe pas, mais qu’il devient plus ou moins négligeable selon les cas.

Et Safari alors ?

Kirk constate que Safari consomme de la RAM, et ça le gêne. Je peux le comprendre, mais en réalité… qu’est-ce que ça peut faire si Safari consomme de la RAM si il y a encore de la RAM disponible ? Pourquoi vraiment est-ce un problème si Safari consomme 500 Mo ou un voire deux Go de RAM ? Est-ce que c’est vraiment un souci si cette mémoire n’est de toute façon pas utilisée par une autre application ? C’est le but du système d’exploitation d’attribuer de la mémoire, car la gestion qu’il en fait est bien trop complexe pour qu’on s’en occupe au final moins efficacement que lui.

Pour Apple, en fait, le but à long terme devrait être le même que pour iOS (et je pense que c’est leur objectif à long terme) : proposer le même système de gestion de mémoire que sur iOS où les apps sont tuées en arrière-plan et relancées automatiquement si besoin est (un mécanisme similaire existe dans macOS, mais je ne l’ai quasiment jamais vu en action), et où il n’y a finalement pas d’information sur la mémoire utilisée.

De nos jours, un navigateur web est une application complexe qui consomme de la RAM,  quasiment un système d’exploitation à lui tout seul, capable de gérer des applications de plus en plus complexes avec des langages interprétés dynamiquement, avec des contenus visuels ou sonores de plus en plus lourds (tiens, par exemple, placer des images Retina dans une page web, ça a forcément un impact sur la consommation mémoire de votre navigateur) . Quand Kirk dit que Google Docs consomme 500 Mo de RAM rien qu’en affichant uniquement une page blanche, c’est mésestimer la complexité de toute l’application autour de cette page. Nous ne sommes plus à l’époque de SimpleText, mais en 2016, et on s’attend à voir un traitement de texte (collaboratif en temps réel !) fonctionner à une vitesse correcte dans un navigateur web. Et pour que l’ensemble des fonctions de ce logiciel intégré au navigateur fonctionne… il faut sûrement plus de RAM que pour un Word. Et là encore, si j’ai encore de la RAM disponible, pourquoi devrais-je m’en priver si cela améliore les performances ? Si une page web consomme vraiment trop de RAM (et elles en consomment de plus en plus !), on peut toujours de toute façon la tuer sans stopper l’ensemble du navigateur (quel progrès mes aïeux !). Il arrive évidemment que certaines pages mal programmées génèrent des fuites de mémoire (j’en ai eu une aujourd’hui, en raison d’une vidéo mal programmée). Dans ce cas, pas le choix : tuez la page à l’aide du Moniteur d’activité, et passez à autre chose.

Mais alors, comment gérer la mémoire de son Mac ?

La réponse est en fait très simple : ne gérez la mémoire de votre Mac que lorsque c’est vraiment nécessaire, c’est-à-dire si vous constatez un ralentissement significatif d’activité, si une page web est plantée, si elle a un impact sur l’autonomie du Mac ou si ce dernier vous le demande poliment. Nous ne sommes plus dans les années 80, nos navigateurs sont des logiciels complexes qui ont besoin de mémoire pour fonctionner, tout comme l’ensemble de nos logiciels. Si vous avez encore la nostalgie des logiciels qui tournaient dans 100 Ko de mémoire, vous n’avez effectivement plus que vos yeux pour pleurer. Mais dans l’ensemble, macOS fait preuve d’une bonne efficacité dans la gestion de la mémoire. Ne le suppléez que si vous constatez un gros souci. J’ai eu par exemple le cas d’un logiciel (j’ai oublié lequel malheureusement) qui générait énormément de mémoire virtuelle (genre plusieurs dizaines de Go après quelques jours), alors qu’il s’agissait d’un logiciel simple qui se logeait dans la barre des menus. Lorsque j’ai constaté qu’il consommait plusieurs giga-octects de mémoire réelle probablement en raison d’une fuite de mémoire, je l’ai supprimé, et je n’ai plus eu de problème.

De même, n’oubliez pas que si vous disposez d’un SSD, la perte de performances imposée par la mémoire virtuelle est moins importante que pour un disque dur classique. Et si vous hésitez entre augmenter la mémoire installer un SSD pour améliorer un Mac vieillissant, investissez sans tarder sur le SSD !

Bref… Oubliez donc vos vieux réflexes, laissez vos programmes ouverts toute la journée si cela vous chante, et ne les quittez pas juste parce qu’ils consomment de la RAM à ne rien faire : au contraire, car cette mémoire sera disponible immédiatement en cas de besoin. Si macOS en a besoin, il saura sûrement la récupérer à son usage. Si vous quittez vos logiciels sans bonne raison, vous forcez le programme à se recharger de façon probablement inutile. N’ayez donc pas le Cmd+Q trop fréquent : vous ne feriez qu’y perdre côté inactivité. Et si toutes les fenêtres affichées d’un programme vous agacent, faites un clic droit > Masquer sur l’icône de l’application dans le Dock (ou Cmd + H pour masquer l’app en court, ou encore Cmd+Alt+H pour masquer toutes les autres applications en cours et ainsi dégager l’affichage). Ou pensez à exploiter le mode plein écran des applications macOS, c’est parfois aussi plus pratique.

Votre Mac ne pourra que vous en remercier !

leave_macos_memory_alone

  1. Ainsi que la protection de la mémoire ou un vrai multitâche, mais ce n’est pas le sujet aujourd’hui.