Archives de catégorie : Android

Kubuntu 24.10 (KDE 6.6): arrêter l’ordi depuis KDEconnect

Sur mon téléphone Android, j’utilise KDEconnect notamment pour éteindre mon ordi (depuis mon lit). Comment? KDEconnect permet d’exécuter des commandes pré-définies, et j’ai créé un simple script « /home/mon-utilisateur/bin/halt-kde.sh » qui contient le script (rendu exécutable):

#!/bin/bash

# marchait jusqu’à Kubuntu 24.04
#qdbus org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.logout 0 2 2

# depuis Kubuntu 24.10
/usr/lib/qt6/bin/qdbus org.kde.Shutdown /Shutdown org.kde.Shutdown.logoutAndShutdown

Ensuite, depuis la configuration de KDEconnect dans KDE, dans la section « Exécute des commandes », j’ai rajouté une entrée dont la commande est le chemin complet vers le script. Et donc depuis mon téléphone, je peux l’exécuter en 3 clics.

Fairphone 4: trop gros, techniquement moyen, des crashs mais presque sans concurrent*

Un téléphone plus éthique?

Acheter un téléphone est quasiment toujours synonyme de conditions de production (humaines comme environnementales) désastreuses. Des conditions que l’on n’accepterait pas pour soi ou près de chez soi. À ma connaissance, les alternatives sont maigres. Le plus connu est sûrement Fairphone. Il y a peut-être aussi le Librem 5 de Purism dans sa version fabriquée aux États-Unis (2000$ !), et qui tourne sur un OS spécifique (basé sur un Linux traditionnel adapté).

Connecteur USB-C usé, réparation difficile, adieu Galaxy A5

Flanqué d’une honteuse flemme écocide, j’ai renoncé à garder plus longtemps mon Galaxy A5 2017. Un seul de mes câbles USB-C pouvait encore le charger (à vitesse lente, après plusieurs tentatives de branchement, sur une seule face). Il m’aurait fallu remplacer le connecteur USB, situé sur la carte-mère. Une procédure jugée comme difficile par les guides de réparation. Elle demande de jouer du fer à souder sur des connections minuscules. D’où l’intérêt que le téléphone soit conçu pour être plus réparable. (mise-à-jour: j’ai fait changer le connecteur par un réparateur local: 30-40€ fait en une heure, marche nickel; si j’avais su…)

Je me suis donc tourné vers un Fairphone 4.

Continuer la lecture

Ces apps Android qui ne marchent pas avec un VPN

Ça fait la deuxième application Android qui a un problème avec un VPN.

  • La première est l’infâme SNCF Connect, dont on ne peut pas passer l’écran d’accueil (qui a la bannière de choix de cookies RGPD) si le filtrage de personalDNSfilter (ou Blokada) est activé. Il faudra donc désactiver le filtrage à la première exécution.
  • Avec Arte TV (version 5.28.3), les différentes pages affichent « Aucune connexion Internet » si personalDNSfilter, Blokada ou même Wireguard est activé.
    Solution pour personalDNSfilter: soit le fermer complètement, soit le mettre en « Mode proxy DNS sans VPN local ».

Galaxy S5 mini: appareil photo HS et solution

Le flash (pratique pour les applications « lampe de poche ») et la caméra arrière avaient cessé de fonctionner sur mon téléphone. L’appareil frontal lui marchait toujours. Sur certaines applications, j’avais «  Echec Appareil Photo ». Aucune des méthodes trouvées n’avait résolu le problème:

  • Redémarrer le téléphone,
  • Le redémarrer en mode sûr (safe mode),
  • Effacer les données de l’application « Camera » puis redémarrer,
  • Effacer la partition de cache,
  • Essayer d’arrêter toutes les applications liées à l’appareil photo.

Je n’avais pas vraiment envie de réinitialiser le téléphone aux paramètres d’usine. Recharger le téléphone fut également sans succès.

La solution pour mon cas fut d’arrêter le téléphone, d’enlever et de remettre la batterie.

Site mobile NextInpact: comment sauver le mot de passe avec Firefox Android

Le gestionnaire de mot de passe n’est pas déclenché quand on se connecte au site mobile de NextInpact avec Firefox pour Android, ce qui est peu pratique.

Pour palier cela, on peut se connecter à son compte par la page https://compte.nextinpact.com/ pour laquelle le gestionnaire fonctionne. Ensuite, on peut retourner au site mobile sur lequel on est identifié.

(pourquoi cela ne fonctionne pas? parce que le site valide le formulaire de login avec un bouton classique et un appel Ajax plutôt qu’une validation de formulaire HTML classique; le gestionnaire de Firefox n’enregistre les mots de passes que lors de la soumission d’un formulaire)

Firefox pour Android: les mots de passe n’étaient pas enregistrés

Je croyais que l’enregistrement des mots de passes était cassé dans Firefox pour Android. Après investigation, il s’avère que j’avais un jour choisi « ne pas enregistrer » pour ce site. Pour le réinitialiser, cliquer sur la planète/le cadenas à gauche de l’URL du site et choisir « Modifier param. de site ». Ensuite, cocher le réglage ignorant la sauvegarde des identifiants et cliquer sur « Effacer ». À la prochaine connexion, Firefox devrait vous demander si vous voulez sauver vos identifiants.

Google, Android: manœuvres louches pour forcer l’utilisation de leur service de positionnement

Silhouette d'un logo Android sur fond de brasier.
« Je me permets d’insister une 27ième fois, accepte les termes et conditions… »

Voila un fonctionnement qui m’agace depuis des années. À chaque fois que j’active le GPS sur mon téléphone, Android me demande si je veux utiliser le système de positionnement rapide de Google, basé sur les antennes téléphoniques et les points d’accès Wi-Fi. Avec celui-ci le téléphone envoie à Google ces infos qui fournit en retour une position approximative. Qui sait ce qui fait Google avec ses informations… (une idée: des pubs ciblées)

android-location-consent

Auparavant, il était possible d’accepter pour toujours, mais pas de refuser définitivement. Avec mon dernier téléphone, c’est pire: si j’accepte une seule fois (ce que j’ai fini par faire l’autre jour, on finit toujours par choisir le mauvais bouton par erreur), il n’est plus possible de revenir simplement en arrière!

  • Une fois le GPS activé, on peut configurer le téléphone pour qu’il n’utilise que le GPS… jusqu’à la prochaine activation de la localisation où il utilisera à nouveau les services Google.
  • Il n’y a rien dans l’interface de configuration du téléphone permettant de retrouver la configuration d’origine. Pour le faire, il faut aller dans le gestionnaire d’application, trouver « service Google Play » dans la catégorie « Tout » et effacer ses données.

Bref, Google met en œuvre beaucoup d’énergie pour s’imposer ses intérêts (autre exemple: la recherche Google ne fonctionne pas à travers Tor, alors qu’il y a des moyens simples d’éviter les abus permis par l’anonymat). Ceux qui ne rentrent pas dans le rang se voient opposé un parcours du combattant. Business is business.

Pourquoi l’altitude du GPS semble fausse sur Android

Peinture de Jésus en lévitation sur un fond de nuages et de collines rocailleuses.
Jésus lui aussi avait un problème d’altitude GPS.

Bizarrement, plusieurs de mes programmes Android (SatStat, Firefox) rapportent une altitude fausse (50m de plus). Par contre GPS Test retourne une altitude qui me semble plus correcte. Je supputait que cette différence était due au fait que le calcul était fait par les programmes (d’après les données GPS brutes). En fait, l’API Android fournit l’altitude, mais celle-ci est relative au système géodésique WGS 84 qui est différent du niveau moyen de la mer. Une conversion est donc requise, ce que fait GPS Test. Information sur Stackoverflow.

Android, DAVdroid, Owncloud, TLS

Pour accéder sur Android à une liste de contacts via CardDav (ce que permet par exemple Owncloud), on peut utiliser DAVdroid par exemple. Il y a quelques pièges au niveau des certificats HTTPS.

Format CSR

Le certificat doit être au format CSR, et pas au format PEM (avec ce format, Android ne vous affichera pas le moindre message d’erreur, et le certificat n’apparaîtra mystérieusement pas dans la liste). Pour convertir de PEM à CSR:

openssl x509 -in mon_certificat.pem -outform DER -out mon_certificat.crt

CA:TRUE

Comme l’indique la FAQ de DAVdroid, le certificat doit avoir l’attribut «CT:TRUE». Premièrement il faut que le certificat soit un CA. J’avais essayé de créer un CA avec cet attribut, puis un certificat-fils avec cet attribut, sans succès (ça semble être un problème d’Android 4.x). J’ai donc créé uniquement un certificat CA pour mon serveur owncloud.

Pour le généré, j’ai créé un fichier de configuration basé sur celui de base «openssl.cnf». Dedans, j’ai modifié la section suivante (comme indiqué dans les commentaires de ce blog):

[ v3_ca ]
 subjectKeyIdentifier=hash
 authorityKeyIdentifier=keyid:always,issuer
 basicConstraints=CA:TRUE

J’ai créé la clé et le certificat d’un trait (et donc sans passer par le mécanisme de requête de certificat):

openssl req -x509 -new -config my_server.cnf -nodes -key private/my_server.key -days 1024 -out certs/my_server.pem

Attention, vous devriez comprendre ce que vous faites quand vous générez des clefs/certificats (quel durée de validité? quel algorithme? etc…).

O-Droid X2: some Ubuntu benchmarks

Power consumption:

  • Boot: 16 watts
  • Doing about nothing: 10 watts (I hoped it would be more like 6W)

Read/Write on the 64Go eMMC card (1Go file). Access on my PC SSD card reader:

  • read: 18.5Mo/s
  • write: 9.5Mo/s

Read/Write on the 64Go eMMC card (1Go file), plugged on the Odroid:

  • read: 47Mo/s
  • write: 30Mo/s

Some processor tests. Bad surprise, Firefox is slower than on my Nexus 10. Maybe the ARM «desktop» version of Firefox is not as optimized than the Android one.

Mp3 compression with Lame:

  • AMD Athlon II X4 620: 13s
  • ODroid X2: 35s (x2.7)

Firefox 21, Sunspider 1.0:

  • AMD Athlon II X4 620: 318ms
  • ODroid X2: 868ms (x2.7)
  • Nexus 10: 761ms (x2.4)

Firefox 21, Kraken 1.1:

  • AMD Athlon II X4 620: 4277ms
  • ODroid X2: 14871ms (x3.5)
  • Nexus 10: 9316ms (x2.2)

Chromium 25, Sunspider 1.0:

  • AMD Athlon II X4 620: 370ms
  • ODroid X2: 950ms (x2.5)

Chromium 25, Kraken 1.1:

  • AMD Athlon II X4 620: 4049ms
  • ODroid X2: 12764ms (x3.1)