Parmi ses nouveautés, OS X Yosemite a considérablement simplifié l’utilisation d’un iPhone en partage de connexion pour son Mac. Dans la série des fonctions de Continuité, on peut désormais se connecter à son iPhone en passant par le menu dédié Wi-Fi, sans avoir à saisir le mot de passe généré par le téléphone quand on active cette fonction. L’identification se fait sur la base du compte iCloud et tout est effectivement beaucoup plus rapide avec cette méthode.
Oui, mais voilà : si Apple a fait une partie du chemin, la prise en charge du partage de connexion manque singulièrement d’une fonction, à notre avis. Alors même qu’OS X sait qu’il est connecté à un iPhone qui est probablement limité par son forfait mobile en matière de quantité de données à utiliser, le système ne fait rien, ou presque, pour limiter la consommation de data. Windows 8.1 dispose de cette option très pratique, mais pas Yosemite.
Si vous partagez régulièrement la connexion de votre iPhone avec votre Mac, suivez notre guide pour éviter de vider votre forfait en quelques minutes. En espérant qu’Apple ajoute un peu d’intelligence à son système en gérant différemment les réseaux traditionnels du partage de connexion.
Ce que fait (et ne fait pas) OS X Yosemite
On disait en préambule qu’OS X Yosemite ne fait rien lorsque l’on utilise un iPhone en partage de connexion, mais ce n’est pas tout à fait vrai. Quand c’est un iPhone qui fournit sa connexion au Mac, le système coupe certaines fonctions nécessitant une connexion internet, et en particulier les mises à jour automatiques du Mac App Store.
Quand on est connecté à l’iPhone, le Mac App Store ne cherche plus régulièrement les nouveautés pour OS X ou pour les logiciels téléchargés sur la boutique d’Apple. Si vous voulez faire des mises à jour, il faudra lancer une recherche manuelle en affichant l’onglet dédié de la boutique.
C’est une bonne chose, mais c’est loin d’être suffisant. Les mises à jour du système et des logiciels chargés sur le Mac App Store représentent un gros volume de données, mais OS X ne sait pas gérer tous les autres logiciels et services gourmands. Si vous avez Dropbox installé ou un autre service de synchronisation similaire par exemple, vous risquez de vider votre forfait en moins de temps qu’il ne faut pour le dire.
C’est pourquoi nous vous proposons deux solutions pour limiter la consommation de données pendant que vous utilisez votre iPhone en partage de connexion. Chaque méthode a ses avantages et ses inconvénients, à vous de choisir en fonction de vos besoins.
Quitter les logiciels gourmands avec ControlPlane
Dans ce premier cas de figure, l’objectif est de couper les services et logiciels qui consomment le plus de data. Pour mettre en place cette méthode, vous devrez dresser une liste des logiciels les plus gourmands à couper que vous voulez temporairement bloquer. Pour vous aider, voici quelques coupables connus :
- Synchronisation : Dropbox, One Drive, Google Drive, Hubic, Box… ;
- Sauvegarde en ligne : BackBlaze, CrashPlan… ;
- Streaming : YouTube, Spotify, iTunes Match… ;
- Client Mail : la plupart sont capables de charger instantanément les nouveaux messages et leurs pièces-jointes ;
- Lecteur de flux RSS : souvent, ils se synchronisent automatiquement et régulièrement ;
- Téléchargement : votre logiciel de torrent préféré…
Pour limiter la consommation de data sur votre iPhone, on agira différemment selon les cas. Certains logiciels ou certaines fonctions doivent être appelées par l’utilisateur et c’est ainsi à vous d’éviter Spotify, ou de limiter le nombre de vidéos regardées sur YouTube quand vous utilisez la connexion de l’iPhone. En revanche, d’autres logiciels fonctionnent en permanence en arrière-plan, c’est le cas notamment des logiciels de synchronisation de fichiers, ou ceux de sauvegarde en ligne.
Pour ces cas-là, l’objectif est de les arrêter tant que vous utilisez l’iPhone. Bien sûr, vous pouvez couper la synchronisation ou la sauvegarde et la remettre en place manuellement à chaque fois, mais c’est beaucoup de travail et autant d’occasions d’oublier de le faire. Fort heureusement, il y a une solution plus simple : un utilitaire peut s’en charger pour vous. Pour les besoins de cet article, nous allons utiliser ControlPlane qui a le double avantage d’être gratuit et mis à jour régulièrement.
Ce logiciel analyse en permanence la situation générale de votre Mac et permet de définir des contextes. Par exemple, si vous vous connectez au réseau Wi-Fi de votre entreprise, vous pouvez indiquer à ControlPlane qu’il s’agit de votre contexte de travail. Chaque contexte est associé à des actions qui vous permettent de configurer le Mac (par exemple, couper le volume ou bloquer l’écran de veille). Même si ce logiciel n’est pas pensé pour ça à la base, il peut tout à fait répondre à nos besoins.
Installez d’abord le logiciel et lancez-le : ControlPlane vient se loger dans la barre des menus d’OS X, mais il faut d’abord passer un peu de temps dans ses réglages. Première étape : créez un contexte « iPhone » qui servira quand le téléphone est utilisé en mode modem. Pour cela, ouvrez les préférences, cliquez sur l’onglet « Contextes » et créez-en un avec le plus en bas à gauche. Vous pouvez choisir n’importe quel nom et éventuellement associer le profil à une couleur différente pour l’icône de la barre des menus.
Vous devez ensuite enseigner à ControlPlane quand activer le contexte iPhone. Commencez d’abord, dans l’onglet « Général », par définir le contexte par défaut sur « Automatic » (que vous pourrez renommer au passage). Ainsi, le logiciel repassera automatiquement sur ce contexte quand il ne sera pas sur celui pour l’iPhone.
Ensuite, dans l’onglet « Sources d’évidence », vérifiez que les sources « Active Network Adaptater » et « Nearby WiFi Network » sont bien activées. Cette liste regroupe tous les indices que le logiciel exploite pour choisir le contexte activé et nous aurons besoin de ces deux-là dans l’étape suivante. Si vous le souhaitez, vous pouvez activer d’autres sources pour en faire plus avec ControlPlane.
Étape suivante : les règles qui vont permettre au logiciel de déterminer quel contexte utiliser. Dans l’onglet « Rules », nous allons en créer trois (le plus en bas à gauche), une par moyen de connecter le Mac à l’iPhone. En fonction de vos besoins, si vous n’utilisez que le Wi-Fi pour le partage de connexion par exemple, vous n’avez pas forcément besoin des trois règles. Voici la marche à suivre :
- Connexion en Wi-Fi : ajoutez une règle « Nearby WiFi Network » et choisissez le nom du réseau Wi-Fi créé par votre iPhone ; dans notre exemple, c’est « iPhone », mais pensez bien à choisir le bon réseau. Pensez bien à choisir le contexte créé pour l’iPhone.
- Connexion en USB : ajoutez une règle « Active Network Adaptater » et dans le pop-up qui ‘affiche, choisissez l’interface « USB iPhone link active » et le contexte créé pour l’iPhone.
- Connexion en Bluetooth : pareil que pour le Wi-Fi, mais choisissez l’interface « PAN Bluetooth link active ».
Pour chaque règle, laissez le curseur de confiance à 100 %, puisque vous ne connecterez l’iPhone qu’avec une seule interface à chaque fois.
Si tout va bien, l’onglet des « Règles » doit maintenant ressembler à cela. En théorie, le changement de contexte devrait fonctionner maintenant dans tous les cas. À ce stade, mieux vaut vérifier que cela fonctionne bien : connectez l’iPhone en utilisant chaque manière et vérifiez bien que ControlPlane change le contexte. Quand aucune des trois règles ne s’applique, c'est-à-dire quand votre iPhone n’est pas utilisé en hotpost pour le Mac, l’utilitaire reviendra automatiquement au contexte par défaut, à définir dans l’onglet « Général ».
Précisons que cela fonctionne parfaitement pour l’USB et le Bluetooth, mais qu’il y a potentiellement une faille avec le Wi-Fi sous OS X Yosemite. Puisque vous pouvez toujours vous connecter au téléphone, même si le partage de connexion y est désactivé, le Mac verra toujours le réseau correspondant. Pour changer de contexte, vous devrez peut-être couper le réseau Wi-Fi ou vous connecter à un autre réseau.
La dernière étape consiste à définir des actions à appliquer pour chaque contexte. Cette étape dépend largement de vos besoins, mais voici, en guise d’exemple, ce que l’on peut faire pour Dropbox. Nous allons demander à ControlPlane de quitter Dropbox quand on connecte l’iPhone et de le relancer quand on revient à une connexion standard.
Pour cela, dans l’onglet « Actions », ajoutez une action dans la catégorie « Applications Actions » et choisissez tout d’abord « Quit Application ». Tapez le nom de l’application à quitter dans le premier champ (« Dropbox » dans notre exemple), puis choisissez le contexte « iPhone » et le paramètre « En arrivant ». Pour faire l’inverse, ajoutez une action « Open File or Application » dans la même rubrique, sélectionnez cette fois le logiciel dans la fenêtre du Finder qui s’ouvre et choisissez ensuite, en bas de la fenêtre des préférences, le contexte par défaut.
Ajoutez d’autres actions pour quitter tous les logiciels nécessaires quand le contexte « iPhone » est activé, et, selon vos besoins, les relancer quand le contexte par défaut est actif. Cette méthode (quitter et relancer une application) est assez brutal, mais c’est efficace. N’hésitez pas à fouiller la liste des actions pour découvrir ce qu’est capable de faire ControlPlane, mais les possibilités ne manquent pas.
Et si cela ne vous suffit pas, il reste les scripts. Le logiciel peut lancer un script shell et la commande « Open File or Application and Hide » est parfaite pour lancer un AppleScript. À partir de là, tout est possible, ou presque. Par exemple, vous pouvez modifier n’importe quelle préférence — du système ou d’un logiciel — en utilisant une commande Shell. Dans certains cas, vous pouvez utiliser les fonctions en ligne de commande proposées par le logiciel.
Pour prendre un exemple (inspiré par ce processus pour Alfred), BackBlaze peut ainsi facilement être mis en pause en utilisant la commande :
/Library/Backblaze.bzpkg/bztransmit -pausebackup
Et on peut le relancer en utilisant cette autre commande :
/Library/Backblaze.bzpkg/bztransmit -completesync
À vous de voir en fonction de vos besoins, mais à partir du moment où vous pouvez appeler un script, tout est possible, y compris appeler d’autres scripts, ou couper une série de logiciels en AppleScript plutôt qu’avec l’interface de ControlPlane.
Contrôler sa connexion avec Little Snitch
L’approche évoquée précédemment est gratuite et elle fonctionne parfaitement bien, mais elle a deux défauts :
- Elle est liée spécifiquement à l’iPhone et même à un iPhone en particulier : si vous utilisez un autre iPhone, ou un autre appareil mobile pour connecter votre Mac, les réglages ne seront plus bons et le changement de contexte ne fonctionnera plus.
- Elle exige de lister a priori tous les logiciels et services gourmands : si vous en oubliez un, vous n’aurez pas moyen de le bloquer et si vous ne faites pas attention, vous viderez tout aussi rapidement votre forfait.
LittleSnitch n’est pas prévu pour cet usage, mais ce logiciel qui surveille et filtre toutes les connexions entrantes et sortantes de votre Mac permet, lui aussi, de limiter la consommation de data mobile en utilisant un iPhone en mode modem. Ce logiciel est payant (30 €) et il permet d’en faire beaucoup plus que ce qui nous intéresse ici, mais on se contentera d’évoquer une petite partie de ses fonctions.
La première chose à faire est, à nouveau, de configurer deux profils : outre le profil par défaut avec la configuration par défaut ou avec une règle qui accepte toutes les connexions, on va créer un profil pour l’iPhone. Pour celui-ci, l’idée va être de bloquer toutes les connexions par défaut, et autoriser manuellement les logiciels qui peuvent toujours se connecter. Par exemple, on peut autoriser le navigateur web, un client Twitter ou encore l’application Messages.
Pour cela, ouvrez l’outil de configuration en utilisant la commande « Rules… » dans le menu de LittleSnitch. Dans la fenêtre qui s’ouvre, créez un nouveau profil en utilisant le bouton « + » en bas à gauche et nommez-le comme vous le souhaitez. Il va falloir ensuite ajouter quelques règles pour :
- Bloquer toutes les connexions entrantes et sortantes ;
- Autoriser les connexions des logiciels qui peuvent se connecter.
Sélectionnez le profil créé dans la barre latérale de gauche, puis créez une nouvelle règle (bouton + ou avec l’icône « New » en haut). Pour bloquer toutes les connexions, il faut en fait quatre règles, une pour les connexions entrantes, une autre pour les sortantes ; une pour les connexions du système et une pour les connexions de vos logiciels.
Pour bloquer les connexions sortantes du système, voici la configuration à effectuer dans le panneau d’ajout de règles. Dans le premier volet, choisissez « Deny connections » (1) et dans le volet à droite, choisissez « Outgoing » (2). Laissez les réglages par défaut pour le processus, puisque l’on veut tout bloquer (3). Enfin, choisissez « System » pour le propriétaire du processus (4) et validez.
Prenons maintenant un exemple concret : vous voulez bloquer tout, sauf Safari. Vous aurez besoin de six règles, dont voici les paramètres (on reprend la même numérotation) :
- Système entrant : Deny connections (1) / Incoming (2) / Any Process (3) / System (4)
- Système sortant : Deny connections (1) / Outgoing (2) / Any Process (3) / System (4)
- Utilisateur entrant : Deny connections (1) / Incoming (2) / Any Process (3) / Me (4)
- Utilisateur sortant : Deny connections (1) / Outgoing (2) / Any Process (3) / Me (4)
- Safari sortant : Allow connections (1) / Outgoing (2) / Choisir Safari en cliquant sur l’icône bleue (3) / Me (4)
- Safari sortant : Allow connections (1) / Incoming (2) / Choisir Safari en cliquant sur l’icône bleue (3) / Me (4)
Les quatre premières règles ne changent pas, les deux dernières doivent être ajustées selon vos besoins. Il faudra penser à ajouter pour chaque logiciel l'autorisation des deux règles, en entrée et en sortie, faute de quoi il n’aura pas accès à internet.
Si vous n’avez pas envie de réfléchir a priori à la liste de services autorisés, LittleSnitch vous permet aussi de le faire au fur et à mesure. Changez le paramètre « Deny connections » pour les quatre premières règles et le logiciel vous posera la question à chaque fois qu’un service tente d’accéder à internet pour télécharger ou mettre en ligne quoi que ce soit. Dans le pop-up, vous pouvez autoriser l’accès pendant une durée bien définie, ou définitivement : les règles liées au contexte sont alors enrichies automatiquement.
Attention toutefois, si vous activez ce mode de fonctionnement, vous aurez énormément de pop-up comme celui-ci au début, puisque quasiment tous les logiciels ont besoin d’une connexion internet aujourd'hui. Si vous trouvez que c’est trop envahissant, vous pouvez activer un mode silencieux dans le menu de LittleSnitch : dans « Silent Mode », choisissez d’autoriser ou de bloquer toutes les connexions, sans avoir à confirmer à chaque fois.
Quand vous avez défini vos deux profils, il ne reste plus qu’une étape pour une gestion automatisée et transparente : activer automatiquement le profil dédié à l’iPhone, quand vous utilisez sa connexion. Pour cela, activez la fonction « Automatic Profile Switching » du logiciel qui, comme son nom l’indique, change automatiquement de profil. Dans les préférences, affichez l’onglet « APS » et cochez la première case.
LittleSnitch se base sur le nom du réseau pour changer de profil. À chaque fois que vous vous connectez à un réseau inconnu, le logiciel affiche une boîte de dialogue qui permet de choisir un profil. Quand vous faites un choix, l’association entre le réseau et un profil est retenue et le bon profil sera activé dès que vous vous connecterez au réseau en question. Précisons que cela fonctionne pour les trois modes de connexion à l’iPhone (Wi-Fi, Bluetooth et USB).
Dernier point important : si vous voulez modifier une association ou lister simplement la liste des réseaux associés à un profil, ouvrez la fenêtre des règles (dans le menu, commande « Rules… ») et effectuez un clic secondaire sur le nom d’un profil et choisissez « Assignated Networks… ». Dans les préférences du logiciel, vous pouvez aussi géolocaliser les associations entre réseau et profil, mais ça n’a vraiment pas de sens avec l’iPhone.
Autres conseils
En utilisant l’une des deux méthodes détaillées précédemment — ou les deux en combinaison, ce n’est pas incompatible —, vous allez facilement pouvoir contrôler la majorité des cas de figure et ainsi limiter la consommation de data mobile quand l’iPhone est utilisé en mode modem pour le Mac. Pour autant, il reste quelques cas plus complexes à gérer et que nous n’avons pas évoqué.
En particulier, celui des mises à jour silencieuses. Quelques logiciels proposent par défaut de se mettre à jour automatiquement, ce qui implique une connexion à internet pour vérifier la présence d’une nouvelle version, puis à nouveau une connexion pour télécharger la mise à jour. C’est tout particulièrement le cas des navigateurs : que ce soit Firefox ou Chrome, ils sont configurés pour télécharger et installer automatiquement les mises à jour. C’est une mesure de sécurité, certes, mais chaque mise à jour pèse entre 50 et 100 Mo : avec un iPhone en mode modem, c’est beaucoup. Voici la marche à suivre pour l’un et pour l’autre.
Pour Chrome, c’est relativement simple, puisqu’on peut créer un script qui va bloquer les mises à jour automatiques lorsque l’on utilise l’iPhone, et les relancer quand on repasse sur un réseau standard. Le plus simple est de créer un petit script en AppleScript qui va couper les mises à jour automatiques quand elles sont activées et les relancer quand elles sont coupées. Vous pouvez télécharger le script prêt à emploi à cette adresse : enregistrez le fichier où vous voulez, mais à un endroit qui ne gêne pas et où vous ne risquez pas de l’effacer par erreur.
Ouvrez maintenant ControlPlane (on part du principe que vous avez configuré le logiciel correctement), ajoutez une action et choisissez « Open File or Application and Hide » parmi les actions d’applications. Sélectionnez le script enregistré précédemment et configurez l’action pour l’ouvrir à chaque fois que le profil iPhone est activé ou désactivé (dans le menu déroulant à coté du contexte, choisir « les deux »). Dans notre script, une notification est affichée pour signaler le changement : si vous n’en voulez pas, retirez les lignes qui commencent avec my notif(
.
Malheureusement, c’est plus compliqué pour Firefox. Le navigateur n’utilise pas le système des préférences d’OS X, si bien qu’on ne peut pas changer temporairement ses réglages et désactiver les mises à jour automatique avec ControlPlane. Vous avez dès lors deux solutions : soit créer une règle spécifique avec LittleSnitch pour essayer de bloquer uniquement les mises à jour, mais vous risquez de bloquer autre chose sans le vouloir ; soit désactiver les mises à jour automatiques, mais il faudra alors bien se rappeler de les installer à la main.
Pour finir ce guide, un dernier conseil utile : pensez à surveiller la consommation de data pendant que vous utilisez votre iPhone pour alimenter votre Mac. Même si vous n’en avez pas conscience, OS X n’est pas un système pensé pour limiter son accès à internet et vous consommerez beaucoup de données, surtout si vous êtes dans une zone 4G par exemple.
À une époque, un utilitaire permettait de garder un œil sur la consommation de données en mode modem, mais ce logiciel n’est plus disponible à l’heure actuelle et à notre connaissance, il n’y a aucune alternative. À défaut, il faudra passer par l’iPhone : dans Réglages > Réseau cellulaire > Services système
, iOS affiche la quantité de données consommée en partage de connexion. Si vous voulez surveiller mois après mois, il faudra en revanche penser à réinitialiser les statistiques régulièrement.