Catégorie « Astuces diverses »

Suppression d'applications préinstallées sur Android

J’ai toujours été embêté avec mes appareils Android, en particulier mon ordiphone actuel (un Xiaomi Redmi Note 3) parce que plein d’applications arrivent par défaut et, selon la « norme » communément admise sur les appareils mobiles où on contrôle de moins en moins la machine, pas désinstallables ni même désactivables (en tous cas pas facilement… rooter l’appareil présente des risques notamment).

Puis hier je tombe sur ce pouet :

Je viens de découvrir comment désinstaller une appli système sans être root ! 😍

#AndroiDeMesDeux

adb shell pm uninstall -k --user 0 com.facebook.system

— Pourrito 🐧 (@pourrito@mastodon.xyz) le 11 août 2018 à 20:34

Et là les portes s’ouvrent pour un nettoyage des saloperies de Google et du fabricant, notamment celles qui tournent en tâche de fond pour rien en cramant la batterie et en bazardant des données on ne sait où.

Mise en place de l’environnement.

En gros on passe par les outils de développement pour Android pour lancer des commandes de suppression de certaines applications.

Pour ça il faut commencer par installer adb (Android Debug Bridge), perso j’ai suivi les indications proposées , en passant par la solution “Minimal ADB and Fastboot” vu que je ne compte pas faire de développement Android.

Ensuite on peut brancher l’appareil en USB et aller activer le mode développeur comme indiqué dans la procédure précédente (forcément dans mon cas la surcouche constructeur faisait que c’était pas sur la même ligne qu’il fallait chercher, en fait il fallait multi-cliquer sur “Version MIUI” plutôt que “Numéro de build”) puis activer le débogage USB (bon là comme j’ai fait les choses dans le désordre, j’avais pas de driver et j’ai pas réussi à redéclencher sa recherche… finalement je suis passé par la procédure décrite ici jusqu’à l’étape où il installe le driver puis j’ai annulé l’installation et tout allait bien).

Grand nettoyage

La principale difficulté est d’identifier les applications à désinstaller (et accessoirement s’assurer un minimum qu’on peut bien les désinstaller sans danger).

Commencez par un petit

adb shell pm list packages

pour connaître le nom exact de l'appli à supprimer.

— Pourrito 🐧 (@pourrito@mastodon.xyz) le 11 août 2018 à 20:41

Dans mon cas comme le terminal sous Windows (oui un jour j’installerai un Linux chez moi mais j’ai pas encore eu le courage) est tout pourri, j’ai préféré envoyer la liste dans un fichier :

adb shell pm list packages > tmp.txt

Puis j’ai foutu tout ça dans un tableur histoire de trier alphabétiquement et pouvoir prendre des notes sur ce que je désinstalle et à quoi ça correspond (ça peut être bien si par la suite on a des problèmes et qu’on veut retrouver ce qu’on a fait).

Bon partant de là reste un point assez chiant : identifier le nom interne des applications dans la liste. Des fois c’est assez ressemblant au nom “publique”, d’autres fois non. Il se trouve qu’il y a longtemps j’avais installé Disable Manager, une application censée permettre justement de désactiver des applications système… mais qui s’est avérée nécessiter des droits root. Il se trouve qu’elle a un intérêt : elle liste toutes les applications en indiquant à la fois le nom technique interne et le nom publique visible, du coup ça permet d’avoir la correspondance.

À ce stade j’ai pu virer les conneries telles que Gmail, Google Photo ou encore l’appli de météo fournie par le constructeur.

adb shell pm uninstall --user 0 com.google.android.gm
adb shell pm uninstall --user 0 com.google.android.apps.photos
adb shell pm uninstall --user 0 com.miui.weather2
...

Après c’est plus compliqué pour les applications un peu plus système, parce qu’on a là dedans des trucs effectivement système, des conneries (genre fonds d’écrans animés) et des trucs nuisibles (genre tracking publicitaires). En fouillant un peu j’ai trouvé plusieurs pages listant des applications non-nécessaires, notamment celle-ci et celle-là (spécifique pour MiUI, la surcouche Xiaomi)… Du coup j’ai viré 2-3 trucs mais avec parcimonie parce que j’ai pas trop envie de flinguer mon appareil, juste d’économiser la batterie et de le rendre un peu moins bavard avec l’extérieure (genre si je pouvais m’éviter d’activer systématiquement le mode économie d’énergie ça m’arrangerait… jusqu’à présent c’était le seul moyen que j’avais trouvé pour empêcher les Gmail et autres de se relancer en tâche de fond).

Voilà, maintenant je croise les doigts en espérant n’avoir rien cassé :smile:


Ajout du 14/08/2018 à 21h35

Je viens de tomber sur un autre article sur le sujet qui fait suite au même pouet avec quelques éléments complémentaires, comme des indications spécifiques à Archlinux (là où moi je suis passé par Windows) ou bien la précision suivante :

Comme il le précise lui-même un peu plus tard, il est à noter que l'argument -k est inutile, car sert exclusivement à conserver les paramètres et données de l'application. Dans un cas de nettoyage avancé, nous pouvons l'omettre pour supprimer complètement les applications visées.

Du coup j’ai enlevé le -k de mon exemple plus haut.


Filtrage par mot-clé sur Twitter et Mastodon

Avec le début de la coupe du monde de foot, forcément on se retrouve avec beaucoup de choses sans intérêt sur les réseaux sociaux. Je me disais déjà que le temps allait être long jusqu’à ce qu’elle se termine mais en fait il y a moyen de faire un peu de nettoyage pour rendre les choses vivables !

En effet, Mastodon et Twitter proposent maintenant (je ne saurais pas dire depuis quand), en natif un filtrage des messages, Twitter uniquement par mot-clé, Mastodon via une expression rationnelle.

Mastodon

Sur Mastodon, ça se trouve sur l’en-tête de la colonne principale, en cliquant sur le bouton “Afficher les paramètres” :

Filtre par expression rationnelle sur Mastodon

On peut donc saisir une expression rationnelle, ce qui est assez riche et permet d’englober facilement des variantes. C’est aussi assez rapide à saisir puisqu’il n’y a qu’un champ.

Merci à @Drulac@framapiaf.org d’avoir rappelé que cette fonctionnalité existe.

Twitter

Sur Twitter, ça se trouve dans les préférences et il s’agit d’un filtrage par mot-clé :

Filtre par expression rationnelle sur Mastodon

C’est plus facile à comprendre pour les non-informaticiens mais largement plus laborieux à saisir (un mot à la fois, donc beaucoup de clics). Seul point positif : on peut différencier le comportement d’un mot-clé à l’autre en spécifiant la durée du masquage (ça peut être bien notamment quand on masque un sigle qui peut avoir d’autres sens).

Filtre par expression rationnelle sur Mastodon

Merci à @alainmi11 pour son tweet salvateur.

Voilà qui devrait permettre de vivre plus sereinement cette période difficile ^^


Le champ de recherche qui se vide au clic...

Certains développeurs (ou plus souvent encore, leurs clients) on des fois des idées saugrenues. De ces idées qu'une personne normalement constituée n'aurait jamais eu (et quand bien même l'aurait-elle eue qu'elle l'aurait écartée aussi sec). De ces idées qui leur vaudront d'être maudits par une bonne partie de leurs utilisateurs.

Des fois l'idée initiale peut se défendre mais l'implémentation finale la relègue au même rang que les précédentes.

L'une d'elle consiste vider par JavaScript le contenu d'un champ de recherche lorsqu'on clique dessus. Souvent c'est parce qu'on a voulu mettre dedans un descriptif initial qui doit partir lorsqu'on clique sur le champ. Il y a des solutions pour le faire bien, comme par exemple celle-ci.

Il y a aussi des solutions pour le faire mal, comme vider systématiquement le champ même si la valeur actuelle n'est pas le texte initial. Et c'est ce qui est fait sur le site BD Gest' qui comporte l'insanité suivante :

$('#cse-search-text').click(function() {
  $(this).attr('value','');
});
$('#cse-search-text').focusout(function() {
  if($(this).val()=='') {
    $(this).attr('value','Une chronique, une preview, un article ...');
  }
});

Donc moi quand je cherche une BD en copie/collant le titre depuis une boutique et qu'ensuite je dois retoucher ce même titre parce que la ponctuation n'est pas la même et qu'aucun résultat ne remonte, immanquablement je clique là où je veux faire la retouche... et ça me vide le champ :blase:

Bon, râler c'est bien mais au bout d'un moment, c'est plus constructif de trouver une solution.

Voilà donc un petit script pour Greasemonkey (j'imagine qu'elle doit exister sur d'autres navigateurs aussi) qui résout le problème :

// ==UserScript==
// @name        BDGest Pas vider le champ de recherche
// @namespace   http://darathor.com/vrac/UserScripts
// @description Désactive le vidage automarique du champ de recherche, ce qui permet de coller un texte puis de l'éditer.
// @include     http://www.bdgest.com/*
// @version     1
// ==/UserScript==
jQuery('#cse-search-text').click(function() {
	jQuery(this).unbind();
});

Avec ça, le champ se vide au premier clic (ce qui vire la phrase inutile qu'il contient) puis tous les listeners sont supprimés, du coup plus rien ne se passe aux clics suivants. Simple et efficace \o/

Bon, dans l'idéal il faudrait que la valeur saisie reste après la recherche pour qu'on n'ait pas besoin de la recoller dedans avant de la retoucher en cas d'absence de résultats... mais bon, on peut pas remédier de l'extérieur à tous les vices de conception non plus...


Se débarasser d'un raccourci clavier indésirable sous Windows Seven...

L'autre jour j'ai fini par comprendre pourquoi de temps à autre je me retrouvais avec dans mon presse papier non pas ce que je croyais avoir mais plutôt le texte que je venais de supprimer. En fait ça vient d'un raccourci clavier standard de Windows que je ne connaissais pas (bien qu'apparemment existe depuis toujours) : shift + suppr. Ça m'arrive quand je fais des sélections au clavier pour les supprimer sans relâcher assez vite le shift avant de supprimer (des fois l'une des mains va légèrement plus vite que l'autre).

Bon personnellement ctrl + x me suffit bien pour couper, pas besoin d'un deuxième, j'ai donc cherché comment le désactiver. Déjà en natif on oublie apparemment. Il faut impérativement passer par un logiciel tiers.

Chose rare, le premier sur lequel je suis tombé faisait l'affaire (le plus souvent on commence par installer un truc inutilisable avant de tomber enfin sur le bon) : AutoHotkey. Bon à la base il est destiné à rajouter des raccourcis clavier mais ça marche aussi pour en écraser un existant.

La procédure à suivre est donc :

  1. installer AutoHotkey
  2. le lancer et cliquer sur "oui" quand il propose d'écrire un script
  3. y placer le code suivant qui mappe le raccourci shift + delete sur l'action supprimer : +Delete::Send {Delete}
  4. relancer le logiciel

Et voilà, ça marche, apu le raccourci à la con \o/

Pour aller jusqu'au bout de la chose, reste plus qu'à le lancer automatiquement au démarrage de Windows. Pour cela le plus simple reste de copier le raccourci dans le dossier "Démarrage" du menu "Démarrer".


Langue par défaut de Google...

Il y a quelques temps, pour tester la fonctionnalité Wonder wheel de Google, j'avais dû switcher sur google.com. Le hic c'est qu'après ça, une recherche dans la barre de recherche me renvoyait systématiquement sur google.com et non google.fr.

Cela venait du fait qu'un cookie est posé sur le navigateur avec la langue par défaut à utiliser. Il s'agit du cookie "PREF" pour le domaine google.com et précisément de la portion "LD=en" qui est en cause. Supprimer ce cookie règle le problème.

Apparemment c'est bien google.com qui est interrogé par la recherche et qui redirige ensuite sur google.fr, mais ce que je ne saisis pas c'est pourquoi aller sur google.com depuis google.fr met à jour le cookie dans un sens alors que faire l'inverse ne le fait pas...