Vue lecture

DMA : Bruxelles laisse 6 mois à Google pour ouvrir Android aux concurrents

Nouveau coup de semonce pour Google. Ce mardi, la Commission européenne a ouvert deux procédures de spécification dans le cadre du Digital Markets Act (DMA). Cette législation phare de l’UE vise à réguler les géants du numérique.

L’objectif ? Contraindre Alphabet, sa maison mère, à préciser ses intentions. Google doit expliquer comment il permettra aux développeurs d’IA et aux moteurs de recherche concurrents d’accéder à ses services. Cela concerne Android et les données de Google Search. L’accès doit se faire dans des conditions équitables.

« Avec ces procédures, nous voulons aider Google », déclare Teresa Ribera, commissaire européenne à la concurrence. « Nous expliquons plus en détail comment il doit se conformer à ses obligations d’interopérabilité et de partage de données de recherche en ligne. » Une formulation diplomatique qui masque mal la pression sur le groupe californien.

Android dans le viseur

La première procédure concerne une obligation précise pour Google. Le géant doit offrir aux développeurs tiers une interopérabilité « gratuite et effective ». Cela vise les fonctionnalités matérielles et logicielles d’Android.

Bruxelles va spécifier les modalités d’accès pour les fournisseurs de services d’IA tiers. Google doit leur accorder un accès « aussi efficace » que celui de ses propres services, comme Gemini. L’objectif est clair : empêcher Google de favoriser ses propres outils d’IA. Le groupe ne doit pas privilégier ses solutions au détriment de la concurrence sur mobile.

Les données de recherche convoitées

La seconde procédure vise le partage des données de Google Search. La Commission exige un accès équitable pour les moteurs concurrents. Google doit leur fournir des données anonymisées : classement, requêtes, clics et vues. Les conditions doivent être « équitables, raisonnables et non discriminatoires ».

Les discussions porteront sur plusieurs points. Quelle sera l’étendue des données concernées ? Quelle méthode d’anonymisation Google utilisera-t-il ? Quelles seront les conditions d’accès ? Les fournisseurs de chatbots IA seront-ils éligibles ?

Un accès effectif à ces données changerait la donne. Les alternatives à Google pourraient optimiser leurs services. Les utilisateurs bénéficieraient de véritables choix.

« Nous voulons maximiser le potentiel de ce profond changement technologique », justifie Teresa Ribera. « Nous nous assurons que le terrain de jeu reste ouvert et équitable. Il ne doit pas pencher en faveur des plus grands acteurs. »

Google conteste

Sans surprise, Google exprime ses réticences. « Android est ouvert par conception », a répliqué Clare Kelly, conseillère principale à la concurrence chez Google. « Nous accordons déjà des licences sur les données de recherche à nos concurrents dans le cadre du DMA. »

Elle se dit préoccupée par les conséquences. « Des règles supplémentaires compromettront la confidentialité des utilisateurs », affirme-t-elle. Selon Google, ces règles menacent aussi la sécurité et l’innovation. Le groupe estime que les concurrents motivent ces règles par leurs griefs. L’intérêt des consommateurs ne serait pas la priorité.

Six mois pour se conformer

La Commission dispose de six mois pour conclure ces procédures. Dans les trois prochains mois, elle communiquera ses conclusions préliminaires à Google. Elle détaillera les mesures qu’elle envisage d’imposer. La Commission publiera des résumés non confidentiels. Les tiers pourront formuler des commentaires.

Ces procédures ne constituent pas encore une enquête formelle. Mais elles font clairement monter la pression. Si Google ne se conforme pas, des sanctions tomberont. Les amendes pourraient atteindre 10% du chiffre d’affaires mondial annuel du groupe. Un précédent existe : Apple a reçu des directives similaires il y a deux ans. L’objectif était d’ouvrir son écosystème fermé.

Un arsenal déjà impressionnant

Cette nouvelle offensive s’ajoute à un arsenal existant. Google fait face à des sanctions imminentes dans le cadre du DMA. Le groupe aurait favorisé ses propres services dans son empire de recherche. Il aurait également empêché les développeurs d’applications d’agir librement. Ces derniers ne pouvaient pas orienter les consommateurs vers des offres en dehors du Play Store.

Une autre enquête vise Google. Elle concerne le déclassement présumé de certains résultats d’actualités. Au total, l’UE a déjà infligé 9,5 milliards € d’amendes à Google.

The post DMA : Bruxelles laisse 6 mois à Google pour ouvrir Android aux concurrents appeared first on Silicon.fr.

  •  

GitHub - Universal-Debloater-Alliance/universal-android-debloater-next-generation: Cross-platform GUI written in Rust using ADB to debloat non-rooted Android devices. Improve your privacy, the security and battery life of your device.

"""
Continuation de l'ancien logiciel pour virer les applications indésirables de votre smartphone.
Ce qui est sympa avec cette application est qu'elle vous indique s'il est dangereux ou gênant de virer une application ou non. Par exemple l'application de Gallerie Xiaomi : C'est elle qui est en charge des captures d'écran. Si vous la déinstallez, plus de capture d'écran avec la gesture "3 doigts". Universal-Debloater-Alliance vous prévient de cela.

Installation :
1) activer le mode développeur sur le smartphone.
2) activer le débogage USB dans les menus développeur.
3) installez adb si ce n'est pas déjà fait.
4) adb devices
5) valider la popup sur le smartphone pour autoriser.
6) lancer uad-ng-linux
"""
(Sebsauvage)
Permalien
  •  

Compressor - IzzyOnDroid F-Droid Repository

Une vidéo sur votre smartphone que vous voulez envoyer, mais le fichier est trop gros ? Compressor va vous aider à recompresser la vidéo.
Ses avantages par rapport à une surcouche ffmpeg ?
- très simple à utiliser.
- n'utilise pas ffmpeg, mais directement l'encodeur matériel de votre smartphone.
- ...donc compresse beaucoup plus vite.
- choix de réduction du débit et/ou de résolution.
- possibilité de compresser vers une taille fixe (10 Mo, 25 Mo ou autre).
- possibilité de choisir entre H264 (plus universel) ou H265 (plus compacte)

C'est simple et très efficace.
(Permalink)
  •  

DroidDock - Vos fichiers Android sans galère sur Mac

Transférer des fichiers entre votre Mac et votre téléphone Android, c'est souvent la galère. L'ancien Android File Transfer de Google était une horreur absolue et depuis qu'ils ont arrêté de le maintenir, y'a pas grand-chose de potable. C'est d'ailleurs pour ça que beaucoup d'utilisateurs de Mac ont également un iPhone.

Alors quand je suis tombé sur DroidDock, forcément ça m'a intrigué. C'est une app macOS qui se branche sur votre téléphone via ADB et qui vous permet de naviguer dans les fichiers comme si c'était un Finder amélioré. Vous branchez votre câble USB, vous activez le débogage USB sur votre Android et c'est parti mon kiki !

Et là où c'est pratique c'est que vous pouvez prévisualiser vos images et vidéos directement dans l'app sans avoir à les télécharger d'abord. Vous avez trois modes de vue (grille, liste ou miniatures) et le drag & drop fonctionne dans les deux sens. Vous glissez un fichier depuis votre Mac vers DroidDock, il atterrit sur votre téléphone. Et l'inverse marche aussi.

Le dev a aussi pensé à pas mal de trucs pratiques du genre si vous avez plusieurs appareils Android branchés en même temps, hé bien vous pouvez switcher de l'un à l'autre sans les déconnecter. Y'a aussi un mode sombre pour ceux qui bossent la nuit et une barre de recherche pour farfouiller dans vos dossiers. D'ailleurs si vous utilisez scrcpy pour contrôler votre Android depuis le Mac , DroidDock fait un bon complément pour la partie fichiers.

Sous le capot, ça utilise Tauri avec du Rust et React et l'app est tellement légère qu'elle fonctionnera parfaitement sur un vieux Mac. Le projet est open source sous licence MIT et vous pouvez le télécharger ici : DroidDock !

  •  

Decypharr & AllDebrid : No debrid clients available or no slots found + script de nettoyage de magnets par Bouby

Les versions :latest et :fenrir-xx embarquent une fonctionnalité qui interroge les débrideurs pour connaître le nombre de slots d’upload disponibles sur le compte utilisé.
Problème : AllDebrid ne gère pas ça via son API.
Second effet Kiss Cool : cette option ne peut pour l’instant pas être désactivée, donc AD en erreur d’upload quand un magnet/.torrent n’est pas en cache.

L’astuce consiste à revenir sur une version plus ancienne de Decypharr, la :beta fonctionnant.

services:
  decypharr:
    image: ghcr.io/sirrobot01/decypharr:beta
    #image: cy01/blackhole:fenrir
    #image: cy01/blackhole:fenrir-09
    container_name: decypharr
    restart: always
    privileged: true
    cap_add:
      - SYS_ADMIN
    security_opt:
      - apparmor:unconfined
    ports:
      - 8282:8282
    volumes:
      - /mnt/:/mnt/:rshared
      - /mnt/Fichiers/decypharr/qbit:/mnt/Fichiers/decypharr/qbit
      - /mnt/Docker/decypharr/:/app
    environment:
      - TZ=Europe/Paris
    devices:
      - /dev/fuse:/dev/fuse:rwm

Et j’en profite pour vous présenter l’excellent script de Bouby, lecteur du blog (\o/), qui permet de nettoyer les magnets liés à un compte AD. En effet, chez AD un compte est limité à 5000 liens. Il faut donc parfois faire un peu de ménage, surtout quand on fait des bibliothèques Plex/Jellyfin où il faut clairement plusieurs comptes AD.
Vous les voyez sur l’onglet Magnets de votre compte ou via l’API

adscript
status	"success"
data	{ magnets: (704)[…] }


Un lien est ajouté quand on envoie un magnet ou .torrent sur son compte AD (captain Obvious!) mais aussi à CHAQUE recherche de contenu dessus via les outils Decypharr, DMM, Vortex, les addons sources de Stremio etc. Même si un contenu est en cache, le fait de le chercher en ajoutant un magnet/.torrent crée un lien sur votre compte.
Je n’ai pas cherché et ne sais absolument pas comment AD gère ça côté utilisateurs, si des liens vieux de plus de X mois/années/heures sont retirés ou non.

Quoi qu’il en soit voici le script Python de Bouby (encore merci !). J’ai augmenté les seuils en fonction de la limite de 5000 liens/compte.

#!/usr/bin/env python3
import requests
from datetime import datetime, timedelta

# ----------------------------------------
# CONFIGURATION DU SCRIPT (variables en dur)
# ----------------------------------------

# Clé API AllDebrid — obligatoire pour accéder aux magnets
API_KEY = "xxx"

# Dry-run : True = le script affiche ce qu’il ferait sans supprimer
# False = suppression réelle
DRY_RUN = False

# -----------------------------
# Seuils et limites pour la purge
# -----------------------------
THRESHOLD_HIGH = 4700  # déclenche la purge normale si nombre total de magnets > 900
THRESHOLD_LOW = 2700   # limite minimale après purge pour ne pas trop supprimer =700
MAX_DELETE = 2000      # nombre maximum de magnets à supprimer en mode normal
MIN_AGE_DAYS = 7      # ne supprimer que les magnets plus vieux que X jours (sauf urgence)

# -----------------------------
# Mode urgence
# -----------------------------
EMERGENCY_THRESHOLD = 4900  # si le nombre total de magnets > 950, on active la purge d'urgence
EMERGENCY_DELETE = 2000     # nombre de magnets à supprimer immédiatement en urgence, ignore l'âge minimum

# -----------------------------
# API endpoint AllDebrid
# -----------------------------
# v4.1 est le nouvel endpoint pour récupérer les magnets
BASE_URL = "https://api.alldebrid.com/v4.1/magnet/status"
HEADERS = {"Authorization": f"Bearer {API_KEY}"}

# -----------------------------
# Catégories de statut
# -----------------------------
# Ces statuts sont utilisés pour trier les magnets par priorité
FAILED = {"Error", "error"}        # magnets ayant rencontré une erreur
IN_PROGRESS = {"Processing"}       # magnets en cours de téléchargement
DONE = {"Finished", "Ready"}       # magnets terminés

# ----------------------------------------
# Récupérer tous les magnets depuis l’API
# ----------------------------------------
def get_magnets():
    """
    Récupère la liste des magnets depuis l’API AllDebrid.
    Retourne une liste vide si erreur ou endpoint obsolète.
    """
    try:
        r = requests.get(BASE_URL, headers=HEADERS, timeout=30)
        r.raise_for_status()
        data = r.json()

        # Vérifie que la réponse contient bien les magnets
        if "data" not in data or "magnets" not in data["data"]:
            print("❌ Réponse API inattendue :")
            print(data)
            return []

        return data["data"]["magnets"]

    except requests.RequestException as e:
        print("❌ Erreur réseau ou API :", e)
        return []

# ----------------------------------------
# Supprimer un magnet par son ID
# ----------------------------------------
def delete_magnet(magnet_id):
    """
    Supprime un magnet via l’API.
    Si DRY_RUN = True, n’effectue pas la suppression mais affiche l’action.
    """
    delete_url = "https://api.alldebrid.com/v4/magnet/delete"
    if DRY_RUN:
        print(f"[DRY-RUN] DELETE {magnet_id}")
        return

    try:
        # POST pour supprimer le magnet
        r = requests.post(delete_url, headers=HEADERS, data={"id": magnet_id})
        r.raise_for_status()
        print(f"✅ Supprimé magnet {magnet_id}")
    except Exception as e:
        print(f"❌ Erreur suppression {magnet_id} :", e)

# ----------------------------------------
# Trier et filtrer les magnets
# ----------------------------------------
def bucketize(magnets, ignore_age=False):
    """
    Trie les magnets par statut et filtre par âge.
    ignore_age=True ignore la limite MIN_AGE_DAYS (mode urgence)
    """
    # Date limite selon l'âge minimum
    cutoff = datetime.utcnow() - timedelta(days=MIN_AGE_DAYS)

    # Séparer les magnets par statut pour appliquer la priorité
    failed, progress, done = [], [], []

    for m in magnets:
        status = m.get("status", "")
        created = m.get("uploadDate") or m.get("completionDate") or 0
        created_dt = datetime.utcfromtimestamp(created) if created else datetime.utcnow()

        # Filtrer par âge sauf si mode urgence
        if not ignore_age and created_dt > cutoff:
            continue

        # Trier par statut
        if status in FAILED:
            failed.append(m)
        elif status in IN_PROGRESS:
            progress.append(m)
        elif status in DONE:
            done.append(m)

    # Trier chaque catégorie par date de création (anciens d’abord)
    for lst in (failed, progress, done):
        lst.sort(key=lambda x: x.get("uploadDate", 0))

    # Retourner tous les magnets dans l'ordre priorité : failed → progress → done
    return failed + progress + done

# ----------------------------------------
# Fonction principale
# ----------------------------------------
def main():
    """
    Logique principale :
    - Récupère tous les magnets
    - Vérifie les seuils
    - Applique le mode urgence si nécessaire
    - Supprime les magnets selon les règles
    """
    magnets = get_magnets()
    total = len(magnets)
    print(f"Total magnets : {total}, Dry-run : {DRY_RUN}")

    # Mode urgence
    if total > EMERGENCY_THRESHOLD:
        print("🚨 MODE URGENCE activé")
        ordered = bucketize(magnets, ignore_age=True)
        to_delete = ordered[:EMERGENCY_DELETE]

    # Mode normal
    elif total > THRESHOLD_HIGH:
        print("Mode normal")
        ordered = bucketize(magnets, ignore_age=False)
        max_deletions = min(MAX_DELETE, total - THRESHOLD_LOW)
        to_delete = ordered[:max_deletions]

    else:
        print("Seuil non atteint → rien à faire.")
        return

    # Supprimer les magnets sélectionnés
    for m in to_delete:
        mid = m.get("id")
        name = m.get("filename") or m.get("name") or ""
        status = m.get("status")
        print(f"→ Suppression {status} : {name} (id={mid})")
        delete_magnet(mid)

    print("✨ Purge terminée.")

# ----------------------------------------
# Exécution du script
# ----------------------------------------
if __name__ == "__main__":
    main()

Comme il le suggère, je le fais tourner avec un Docker Alpine. Chaque nuit à 3h.

services:
  alldebrid-purger:
    image: python:3.12-alpine
    container_name: alldebrid-purger
    restart: always
    working_dir: /app
    command: >
      sh -c "
      apk add --no-cache py3-pip &&
      pip install --no-cache-dir requests &&
      echo '0 3 * * * python /app/purge_alldebrid_magnets.py >> /logs/purge.log 2>&1'
      > /etc/crontabs/root &&
      crond -f -d 8
      "
    volumes:
      - /mnt/Docker/alldebrid_purger:/app:ro
      - /mnt/Docker/alldebrid_purger/logs:/logs

Loading

  •  

Samsung Galaxy S26 Ultra : date de sortie et écran révolutionnaire confirmés

Attendu pour le 11 mars, le S26 Ultra inaugure un écran à confidentialité intégrée et adopte enfin le standard magnétique Qi2.

Cet article Samsung Galaxy S26 Ultra : date de sortie et écran révolutionnaire confirmés est apparu en premier sur Linformatique.org.

  •  

GitHub - Universal-Debloater-Alliance/universal-android-debloater-next-generation: Cross-platform GUI written in Rust using ADB to debloat non-rooted Android devices. Improve your privacy, the security and battery life of your device.

Continuation de l'ancien logiciel pour virer les applications indésirables de votre smartphone.
Ce qui est sympa avec cette application est qu'elle vous indique s'il est dangereux ou gênant de virer une application ou non. Par exemple l'application de Gallerie Xiaomi : C'est elle qui est en charge des captures d'écran. Si vous la déinstallez, plus de capture d'écran avec la gesture "3 doigts". Universal-Debloater-Alliance vous prévient de cela.

Installation :
1) activer le mode développeur sur le smartphone.
2) activer le débogage USB dans les menus développeur.
3) installez adb si ce n'est pas déjà fait.
4) adb devices
5) valider la popup sur le smartphone pour autoriser.
6) lancer uad-ng-linux
(Permalink)
  •  

Edge Gallery - IA Google en local sur smartphone

Vous voulez faire tourner des modèles d'IA directement sur votre téléphone, sans envoyer vos données à un serveur distant ?

Ça tombe bien puisque Google a sorti Edge Gallery , une application open source qui permet d'exécuter des LLM et des modèles multimodaux en local sur Android et iOS. Et vu que c'est sous licence Apache 2.0, personne ne pourra vous la retirer... même si Google décide un jour de passer à autre chose ^^.

Vous l'aurez compris, ce qui est cool avec cette app c'est que tout se passe sur l'appareil. Vos conversations avec l'IA, vos photos analysées, vos notes audio transcrites... rien ne quitte votre smartphone. Et visiblement, ça plaît puisque l'app a dépassé les 500 000 téléchargements en seulement deux mois après sa sortie sur GitHub.

Et comme je sais que parmi vous, y'a pas mal de paranos comme moi et de gens qui ne prennent pas leurs médicaments (pas comme moi), je pense que c'est le genre de solution qui va vous faire plaisir !

Ce qu'on peut faire avec

Edge Gallery embarque plusieurs fonctionnalités qui couvrent pas mal de cas d'usage du quotidien. Concrètement, vous avez :

AI Chat pour discuter avec un LLM comme vous le feriez avec ChatGPT, sauf que tout reste en local. Pratique pour brainstormer, rédiger des mails ou juste poser des questions sans connexion internet.

Ask Image pour analyser vos photos. Vous prenez un truc en photo et vous demandez à l'IA de vous expliquer ce que c'est. Ça marche pour identifier des plantes, décrypter une facture, ou comprendre un schéma technique.

Audio Scribe pour transcrire de l'audio en texte. Vous enregistrez une réunion, une interview, ou vos propres notes vocales, et hop, ça devient du texte exploitable. Et depuis la dernière mise à jour, vous pouvez même traduire directement dans une autre langue.

L'interface d'AI Edge Gallery sur Android

Prompt Lab pour les développeurs qui veulent tester leurs prompts et benchmarker les différents modèles disponibles. Y'a même des métriques en temps réel (temps de première réponse, vitesse de décodage, latence) pour les geeks de l'optimisation.

Tiny Garden, c'est le petit bonus rigolo : un mini-jeu expérimental entièrement offline où vous utilisez le langage naturel pour planter, arroser et récolter des fleurs. Bon, c'est gadget, mais ça montre bien les possibilités du truc.

Mobile Actions pour les plus aventuriers. Vous pouvez utiliser une recette open source pour fine-tuner un modèle, puis le charger dans l'app pour contrôler certaines fonctions de votre téléphone en offline. C'est encore expérimental, mais ça peut donner des idées intéressantes.

Les modèles disponibles

L'app propose plusieurs modèles selon vos besoins. On retrouve la famille Gemma de Google (Gemma 3 en 1B et 4B paramètres, Gemma 3n optimisé pour les appareils plus modestes et qui gère maintenant l'audio), mais aussi des modèles tiers comme Qwen2.5, Phi-4-mini de Microsoft, ou encore DeepSeek-R1 pour ceux qui veulent du raisonnement plus poussé.

Et les gardes fous sont facilement contournables...

Il y a aussi des modèles spécialisés comme TranslateGemma pour la traduction (55 langues supportées) et FunctionGemma pour l'appel de fonctions et tout ce petit monde tourne grâce à LiteRT , le runtime léger de Google pour l'inférence on-device.

D'ailleurs, la communauté Hugging Face propose déjà pas mal de modèles convertis au format LiteRT donc si les modèles par défaut ne vous suffisent pas, vous pouvez aller fouiller dans leur collection pour trouver votre bonheur. Et pour les plus aventuriers, vous pouvez même charger vos propres modèles au format .litertlm.

Installation sur Android

Pour Android, c'est simple, direction le Play Store et vous cherchez "AI Edge Gallery". Vous pouvez aussi télécharger l'APK directement depuis les releases GitHub si vous préférez. Il vous faut Android 12 minimum et un appareil avec au moins 4 Go de RAM (8 Go recommandés pour les gros modèles).

Au premier lancement, l'app vous propose de télécharger les modèles. Comptez entre 500 Mo et 4 Go par modèle selon la taille. Une fois téléchargés, ils sont stockés localement et vous n'avez plus besoin de connexion pour les utiliser.

Et sur iOS / macOS ?

Pour iOS, l'app est disponible en bêta via TestFlight . Attention, c'est limité à 10 000 testeurs (premier arrivé, premier servi), et il faut un appareil avec minimum 6 Go de RAM. Moi c'est ce que j'utilise et comme c'est pas encore la version finale, il manque quelques trucs mais ça fonctionne. Google vise une sortie officielle sur l'App Store début 2026. J'ai hâte !

Pour macOS par contre... il n'y a pas de version native. L'app est pensée pour le mobile uniquement donc si vous voulez vraiment tester sur votre Mac, la solution c'est de passer par un émulateur Android comme Android Studio (avec l'émulateur intégré) ou BlueStacks. BlueStacks Air est d'ailleurs optimisé pour les Mac Apple Silicon. C'est pas idéal mais ça dépanne.

Cela dit, si vous êtes sur Mac et que vous voulez faire tourner des LLM en local, regardez plutôt du côté d'Ollama ou de LM Studio qui sont nativement compatibles.

Pourquoi c'est intéressant ce truc ?

L'intérêt principal, c'est évidemment la confidentialité. Vos données ne transitent jamais par des serveurs externes donc vous en gardez le contrôle total. C'est particulièrement pertinent si vous bossez avec des documents sensibles ou si vous êtes simplement attaché à votre vie privée.

L'autre avantage, c'est que ça fonctionne hors ligne. Dans le métro, en avion, en zone blanche... votre IA reste disponible. Pas de latence réseau, pas de "serveur surchargé, réessayez plus tard".

Et puis le fait que ce soit open source, ça ouvre pas mal de portes car la communauté peut contribuer, ajouter des modèles, corriger des bugs et même si Google abandonne le projet (ce qui ne serait pas une première), le code restera là et on pourra faire des forks ! (Pourquoi attendre en fait ??)

Voilà, pour ceux qui veulent creuser, le wiki GitHub du projet contient pas mal de documentation sur l'ajout de modèles personnalisés et l'utilisation avancée de l'API LiteRT.

Éclatez-vous bien !

  •  

apk.sh - Le couteau suisse qui simplifie le reverse engineering Android

L'autre jour, je m'amusais à regarder ce qu'une petite application Android que j'avais installée envoyait comme infos à ses serveurs , et j'ai encore galéré avec une tripotée d'outils différents. Entre ADB pour récupérer le fichier, Apktool pour le désassembler, Jadx pour lire le code et les scripts de signature à rallonge, y'a de quoi se taper la tête contre les murs. On est en 2026, et le reverse engineering Android ressemble encore parfois à de la spéléologie sans lumière dans une grotte remplie de goudron.

Puis c'est là que je suis tombé sur apk.sh, et ça m'a sauvé ma soirée. C'est un script Bash tout simple, mais qui joue le petit chef d'orchestre pour automatiser toutes les tâches les plus chiantes : le pull, le décodage, la reconstruction, le patching et le renommage d'APK. Ça vous mâche le travail sur toute la partie technique pour que vous n'ayez plus qu'à faire un petit adb install à la fin... et voilà ! (Sans les "Trenti anni di qualità", évidemment ^^)

Le truc cool, c'est qu'il ne se contente pas de faire du "pull" et du "decode". Il gère également nativement l'injection de gadgets Frida pour faire de l'instrumentation dynamique, et ça, c'est vraiment le pied pour ceux qui veulent voir ce qui se passe en mémoire sans s'arracher les cheveux. Il peut même patcher automatiquement la configuration de sécurité réseau pour vous permettre d'intercepter le trafic HTTPS plus facilement. Par contre attention, si l'appli utilise du certificate pinning bien costaud, ça servira à QUE DALLE.

Si vous avez déjà essayé de décompiler un APK et de le recompiler , vous savez que la moindre erreur de signature ou d'alignement et c'est le drame. Ici, l'outil s'occupe de tout avec apksigner et zipalign de manière transparente. Et pour les plus barbus d'entre vous, il permet même de modifier directement le bytecode DEX via les fichiers smali pour éviter les bugs de décompilation Java qui font parfois pleurer un admin sys.

Pas besoin d'être root pour la plupart des fonctions, et il gère même les fameux bundles (AAB) que Google Play impose désormais et qui se transforment en "split APKs" une fois sur votre téléphone. En gros, vous faites un pull pour récupérer et fusionner tout ça en un seul APK, puis un decode pour obtenir un dossier tout prêt à être exploré.

C'est typiquement le genre d'outil que j'aurais aimé avoir à l'époque où je vous parlais d'Androguard pour analyser des malwares Android . On gagne un temps de fou malade et on peut se concentrer sur ce qui nous intéresse vraiment dans la vie, c'est à dire le fromage à raclette et la sieste comprendre comment ces applis nous pompent nos données ou juste changer la couleur d'un bouton pour le plaisir (ou des trucs qui vous enverront en zonzon ^^).

Bref, si vous aimez mettre les mains dans le cambouis Android, allez jeter un œil à ce projet pour vos prochaines sessions de reverse.

A découvrir ici

  •  

ZimaOS : le grand frère de CasaOS pour serveurs et NAS DIY

Après avoir mis de côté UNRAiD, dont je me suis lassé, j’ai passé le LincStation N1 sous TrueNAS. Cet OS ne m’apporte rien d’autre que la gestion simplifiée des RAIDs via une WebUI (parce que bon… mdadm… c’est chiant). Enfin je ne cherche pas à utiliser l’OS pour être précis, je ne peux donc pas dire qu’il est nul ou top. M’en tape.

Les autres machines, tout aussi peu puissantes que le N1 sont sous Archlinux et Ubuntu. Arch parce que j’aime bien me demander chaque jour si une MàJ va plomber le serveur et comment je vais m’en dépatouiller (et c’est accessoirement mon desktop). Ubuntu, pour changer de Debian, parce que j’ai quand même besoin d’un truc stable dans ma vie de geek. N’utilisant quasi plus de VM/LXC depuis l’avènement de Docker, je n’ai plus de ProxMox.

Du coup, je shunte Ubuntu au profit d’une distribution basée sur Debian : ZimaOS ! Jai passé hier l’ensemble de mes services « utiles » sur TrueNAS pour libérer cette machine pour ce test.

Avertissement : c’est asiat’. Alors pour les complotistes américains peureux bas du front (rayez ou non les mentions inutiles), n’allez pas plus loin. Je n’ai absolument pas fait de RE pour savoir s’ils ont mis des backdoors. « Mais » CVE-2026-21891 (non encore relayée sur GitHub) / discussion Reddit et si j’ai pas sniffé le trafic, mon DNS ne fait rien ressortir d’extraordinaire. La machine ping même pas Baidu, contrairement à la majorité des objets IoT qui s’assurent d’être connectés à Internet en pingant le de Google chinoix (oui, eux aussi ont leur GAFAM BATX).

J’ai découvert cet OS par hasard, quand je cherchais des infos sur des boards de serveurs. J’ai d’ailleurs commencé par découvrir CasaOS, dont j’étais pas fans. Ça faisait un peu Docker in Docker. Pour moi c’est plus à voir comme une alternative à YunoHost (très bon projet pour ceux qui sortent d’une grotte et ne connaissent pas). Même ressenti pour Cosmos d’ailleurs.
ZimaOS est développé pour leurs NAS ZimaCube mais on peut l’installer partout.

Ils font eux-mêmes la comparaison entre ZimaOS et CasaOS, en gros :

C’est un UNRAiD like, avec une interface plus moderne (avis 100% subjectif), avec des clients à la Synology pour Windows, macOS, Linux (AUR), iOS et Android, avec une documentation bien faite sans tomber dans un Wikipedia comme on peut le voir chez certains concurrents, un GitHub et donc la possibilité d’ouvrir des issues (ce qui est bien plus pratique qu’un forum),

Ça s’installe en 2-2 avec une clé USB (iso de 1.3Go) créée avec Balena et se gère uniquement via la WebUI.

zimaos1
zimaos2
zimaos3
zimaos4

J’utilise la version gratuite.

zimaos5

Et il faut activer le Mode Développeur notamment pour désactiver l’indexation du contenu avec leur « IA » (pour faciliter la recherche) et autoriser SSH.

zimaos6
zimaos7
zimaos8
zimaos9
zimaos10

Première vraie configuration à faire, mon stockage. De mémoire j’ai que 2 disques dans ce PC mais la version gratuite permet d’en gérer 4 en RAID. Et la version payante coûte 29$ (« à vie »).

zimaos11
zimaos12

Comme j’ai qu’un SSD en sus de celui de l’OS, je me contente de le formater et ça l’ajoute bien ensuite en stockage. Ce que je vois d’ailleurs avec le widget de la dashboard, qui passe à 718Go de stockage.

zimaos13

Et donc, en standard, ZimaOS intègre un explorateur de fichiers, un outil de backup (depuis ou vers le NAS), un gestionnaire de VM et un PairDrop (je vois la machine sous Windows mais pas mon Arch, faudra que je trouve pourquoi).
Depuis un client (Linux/iOS), on peut parcourir les fichiers du serveur et faire du backup. Notamment de photos depuis l’iPhone (arrière plan ou non).

zimaos14
zimaos18
zimaos15
zimaos16
zimaos17
zimaos19

On peut ajouter des liens externes à la dashboard, ce qui est une très bonne idée et pourrait m’inciter à me passer de mon brave Heimdall qui m’accompagne depuis maintenant des années…

zimaos21
zimaos20

Et nous terminons évidemment avec le fameux AppStore et ses 372 applications (Docker) « prêtes à installer » au moment de cet article. Rien de comparable avec UNRAiD, je vous l’accorde. Mais ici, ça s’installe en 1 clic.

zimaos22

Et on peut ajouter des dépôts et doubler, au moins, le nombre d’applications du store.

zimaos32

Tout comme il est possible d’installer une app via la WebUI si on elle n’est pas dans le Store et qu’on n’est vraiment pas à l’aise en console.

zimaos24

On peut tout à fait utiliser Docker en console ou via Komodo, Arcane, Dockge, Portainer/what ever. Et ça marche « out of the box » dans ce cas, il n’y a rien à adapter pour l’OS.

À noter que par défaut, les applications installées via l’AppStore sont dans /DATA, sur le disque système.

root@ZimaOS:~ ➜ # tree /DATA/
/DATA/
├── AppData
│   └── pihole
│       └── etc
│           └── pihole
│               ├── adlists.list
│               ├── cli_pw
│               ├── config_backups
│               │   └── pihole.toml.1
│               ├── dhcp.leases
│               ├── dnsmasq.conf
│               ├── gravity.db
│               ├── gravity_backups
│               │   └── gravity.db.1
│               ├── gravity_old.db
│               ├── hosts
│               │   └── custom.list
│               ├── listsCache
│               │   ├── list.1.raw.githubusercontent.com.domains
│               │   ├── list.1.raw.githubusercontent.com.domains.etag
│               │   └── list.1.raw.githubusercontent.com.domains.sha1
│               ├── logrotate
│               ├── migration_backup
│               │   └── adlists.list
│               ├── pihole-FTL.db
│               ├── pihole-FTL.db-shm
│               ├── pihole-FTL.db-wal
│               ├── pihole.toml
│               ├── tls.crt
│               ├── tls.pem
│               ├── tls_ca.crt
│               └── versions
├── Backup
├── Documents
├── Downloads
│   └── ISO
├── Gallery
├── Media
│   ├── Movies
│   ├── Music
│   └── TV Shows
└── lost+found

Comme ça se voit au-dessus, j’ai installé Pi-Hole depuis l’AppStore pour tester. Faut juste cliquer pour installer.

zimaos23
zimaos25
zimaos26
zimaos27
zimaos28
zimaos29

Pratique : en cas d’ajout de disques, on peut migrer les données facilement

zimaos30
zimaos31

Même si ZimaOS est basé sur Debian, c’est propriétaire et on ne peut pas utiliser Apt pour y installer ce qu’on veut. C’est une sécurité également, histoire de ne pas mettre en vrac l’OS (ce qu’on est nombreux à avoir fait avec Proxmox hein… mentez pas !!). Ceci dit ils ont prévu le coup.
Ceci dit, leur OS embarque déjà bon nombre d’utilitaires tels que ncdu, jq, rclone…

Dans l’idéal, j’aimerais un dash qui permet de mieux intégrer quelques applications comme le font Heimdall, Homarr, Organizr etc.

Aperçu du client iOS

zimaos33
zimaos34
zimaos35
zimaos36

Avec le recul de cet article, je perçois ZimaOS comme un DSM de Synology, enfin plutôt un Xpenology vu qu’on peut l’installer où on veut, avec un peu de combo d’UNRAiD et cousins.

Enfin tous ces OS se ressemblent mais ZimaOS serait un peu le « macOS » du groupe, à vouloir proposer une expérience très esthétique, complète (Docker natif ou magasin d’applications), pratique (outils intégrés, y compris pour périphériques) et répondant AMHA à la plupart des besoins. Bien que propriétaire, contrairement à CasaOS qui est open source mais n’est qu’une surcouche.

Je pense le faire tourner quelques temps en parallèle de TrueNAS voir remplacer ce dernier. Et j’avais oublié, ça embarque aussi Btop++ pour afficher des stats temps réel.

zimaos37

Loading

  •  

NexPhone: A Smartphone That Runs Android, Linux And Windows 11

A U.S. company has made a smartphone that is different from most others on the market right now. The device, called NexPhone, is produced by the American start-up Nex Computer and comes with three operating systems installed from the factory: Android, Windows 11, and Linux. According to the company, the NexPhone was made with the idea that a smartphone could be all a person needs. Based on this idea, Android […]

💾

  •  

Entretien avec Louis Fouché - YouTube

Thèmes principaux:

  • Gestion de la crise sanitaire COVID-19
  • Traitements précoces et médecine de ville
  • Critique des tests PCR, masques, vaccination
  • Reinfocovid : sortir de l'hypnose collective
  • Philosophie politique : peuple, frontières, individuation
  • Néguentropie et le vivant comme système organisé
  • Cercles restauratifs et CNV
  • Le Nous et le Je : extraction vs séparation
  • Pervers narcissiques dans les structures de pouvoir
  • Anthropologie de la souffrance (3 remédiations)
  • Non-agir, akrasia, permaculture
  • Conclusion : « Éteignez la télé, reprenez contact avec le réel »

Permalien
  •  

Motorola Signature Aims at the High-End Android Smartphone Segment

Motorola is making a clear statement at the ultra-premium end of the smartphone market with the launch of Motorola Signature, its first smartphone designed to compete directly with the very best Android flagships. Positioned alongside devices such as the Samsung Galaxy S25 Ultra, Honor Magic8 Pro, OnePlus 15, and Google Pixel 10 Pro, the Motorola Signature represents a decisive shift for the brand toward high performance, imaging, and long-term support. […]

  •  

Le robotaxi premium d’Uber prend forme avec Lucid et Nuro

Trois acteurs majeurs de la mobilité autonome ont dévoilé leur véhicule commun lors du CES 2026. Uber, Lucid Motors et Nuro présentent la version quasi définitive d’un projet né il y a plus de sept mois dans le cadre d’un accord financier substantiel. L’alliance repose sur un investissement de 300 millions de dollars consenti par ... Lire plus

L'article Le robotaxi premium d’Uber prend forme avec Lucid et Nuro est apparu en premier sur Fredzone.
  •  

CES 2026: Meet Clicks Communicator, A Keyboard Phone Inspired By BlackBerry

Clicks has announced the Communicator, an Android smartphone with a physical keyboard designed to revive the spirit of classic BlackBerry devices in 2026. Created by the same company responsible for the Clicks Keyboard accessory for the iPhone (that even has some interesting rivals), the Cproduct targets users who value focused communication and productivity over constant entertainment and screen immersion. Instead, Clicks Communicator is not competing with mainstream smartphones; it’s being […]

  •  
❌