Vue normale

Reçu aujourd’hui — 23 janvier 2026 Linux

Nettoyage intelligent : ce que vous devez savoir

23 janvier 2026 à 09:19

Vous voulez que votre logement reste propre de façon constante, mais le quotidien complique les choses. La saleté entre avec les chaussures, les miettes s’accumulent sous les tables, et les poils d’animaux s’accrochent plus vite que vous ne parvenez à suivre. Même quand vous faites le ménage, vous pouvez avoir l’impression de répéter les mêmes […]

The post Nettoyage intelligent : ce que vous devez savoir first appeared on UnderNews.

Étude Hotwire : 56 % des dirigeants estiment que l’IA fera leur travail d’ici cinq ans

21 janvier 2026 à 16:54

Une étude exclusive internationale menée par Hotwire, ROI·DNA et House of Beautiful Business révèle que l’IA devient à la fois un nouveau collègue… et un nouveau client. Tribune — Hotwire Global, ROI∙DNA et House of Beautiful Business publient une nouvelle étude consacrée à l’essor des Organisations Agentiques, des entreprises qui non seulement utilisent l’intelligence artificielle, […]

The post Étude Hotwire : 56 % des dirigeants estiment que l’IA fera leur travail d’ici cinq ans first appeared on UnderNews.

2026 : les trois prédictions clés d’Avani Prabhakar, Chief People Officer chez Atlassian

21 janvier 2026 à 16:44

Alors que l’intelligence artificielle redessine en profondeur les méthodes de travail, les organisations entrent dans une nouvelle phase : celle du passage de l’expérimentation à l’impact réel. En 2026, l’IA ne sera plus seulement un outil technologique, mais un véritable levier de transformation culturelle, organisationnelle et économique. Tribune – Avani Prabhakar, Chief People Officer chez Atlassian, […]

The post 2026 : les trois prédictions clés d’Avani Prabhakar, Chief People Officer chez Atlassian first appeared on UnderNews.

Blue Monday : comment l’IA peut aider les entreprises à éliminer les projets zombies

19 janvier 2026 à 13:15

Selon une étude d’Atlassian, plus d’un tiers des employés français travaillent sur des projets stagnants, avec un impact négatif sur leur efficacité et leur bien-être  Tribune – A l’approche du Blue Monday, apogée du blues post-vacances, les employés de bureau du monde entier se préparent à affronter la semaine la plus difficile de l’année. La […]

The post Blue Monday : comment l’IA peut aider les entreprises à éliminer les projets zombies first appeared on UnderNews.

Rapport sur le phishing KnowBe4 : les objets d’e-mails avec le nom de son entreprise enregistrent les taux de clics les plus élevés

23 janvier 2026 à 09:27

Le récapitulatif des simulations de phishing du 4ème trimestre 2025 révèle que les e-mails contenant le nom de l’entreprise enregistrent les taux de clics les plus élevés, tandis que l’usurpation de domaine apparaît dans près de 90 % des attaques les plus cliquées. Tribune – KnowBe4, la plateforme de référence en gestion des risques humains […]

The post Rapport sur le phishing KnowBe4 : les objets d’e-mails avec le nom de son entreprise enregistrent les taux de clics les plus élevés first appeared on UnderNews.
Reçu hier — 22 janvier 2026 Linux

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

Par :Aerya
22 janvier 2026 à 17:58

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

Shadow IA : le nouveau « Shadow IT »…

22 janvier 2026 à 13:18

Il y a quelques années, on parlait beaucoup de Shadow IT. Des outils installés en douce, des solutions “pratiques”, parfois brillantes, souvent hors radar… et qui finissaient par créer de vrais risques. Aujourd’hui, le sujet revient. Mais avec un cran au-dessus. Parce que l’outil n’est plus seulement un logiciel : c’est un assistant qui écrit, […]

The post Shadow IA : le nouveau « Shadow IT »… first appeared on UnderNews.

Identités numériques et vie privée : le rôle croissant du Zero Trust

22 janvier 2026 à 13:17

À l’heure où les organisations traitent un volume toujours plus important de données personnelles et sensibles, la protection de la vie privée devient un enjeu permanent. À l’occasion de la Journée européenne de la protection des données, CyberArk, leader mondial de la sécurité des identités, rappelle que cette protection repose avant tout sur la maîtrise […]

The post Identités numériques et vie privée : le rôle croissant du Zero Trust first appeared on UnderNews.

Résister ou céder : le pari risqué du Danemark dans sa confrontation avec les grandes entreprises technologiques américaines, quand la souveraineté numérique menace de coûter cher

22 janvier 2026 à 08:59
Résister ou céder : le pari risqué du Danemark dans sa confrontation avec les grandes entreprises technologiques américaines,
quand la souveraineté numérique menace de coûter cher

Longtemps présenté comme un modèle de société numérisée, le Danemark est aujourd'hui devenu un terrain d'expérimentation grandeur nature de la « souveraineté technologique ». Derrière les discours politiques et les concepts abstraits, une réalité beaucoup plus concrète se dessine : celle d'un pays de six millions d'habitants...

Reçu — 21 janvier 2026 Linux

Règlementation sur les certificats TLS : test de maturité pour les stratégies PKI

21 janvier 2026 à 16:51

À l’approche de la nouvelle réglementation qui réduira drastiquement la durée de vie des certificats TLS à partir de mars 2026 (de 398 jours actuellement à 200 jours le 15 mars 2026), une étude mondiale menée par le Ponemon Institute pour CyberArk, Trends in PKI Security: A Global Study of Trends, Challenges & Business Impact, […]

The post Règlementation sur les certificats TLS : test de maturité pour les stratégies PKI first appeared on UnderNews.

Semaine de la protection des données (26-30 janvier 2026)

21 janvier 2026 à 16:50

À l’approche de la Semaine de la protection des données 2026, qui aura lieu du 26 au 30 janvier prochains, voici les commentaires de Melissa Bischoping, Senior Director, Security and Product Design Research chez Tanium. Tribune. « Alors que les agents IA et les flux de travail deviennent une composante incontournable des entreprises modernes, la confidentialité […]

The post Semaine de la protection des données (26-30 janvier 2026) first appeared on UnderNews.

Les autorités danoises déconseillent l’usage du Bluetooth pour des raisons de sécurité

21 janvier 2026 à 16:48

Les autorités danoises mettent désormais en garde contre toute utilisation du Bluetooth en raison du risque d’écoute illicite. Les experts en cybersécurité savent depuis de nombreuses années que la technologie Bluetooth, utilisée par de nombreux danois pour leurs écouteurs et divers appareils électroniques, présente des failles. Mais en cette période de tension autour des revendications […]

The post Les autorités danoises déconseillent l’usage du Bluetooth pour des raisons de sécurité first appeared on UnderNews.

Stremio : addon Comet et réseau de partage de métadonnées CometNet

Par :Aerya
21 janvier 2026 à 05:43

Comet est un addon de sources pour Stremio, comme StreamFusion que j’ai déjà présenté. Seulement là où SF cible le contenu francophone, Comet va ratisser large.

Le premier addon Stremio pour proxyfier les flux Debrid, permettant l’utilisation du service Debrid sur plusieurs IP en même temps avec le même compte !

Limite de connexion maximale basée sur l’IP

Tableau de bord d’administration avec gestion de la bande passante, statistiques et plus…

Scrapers pris en charge : Jackett, Prowlarr, Torrentio, Zilean, MediaFusion, Debridio, StremThru, AIOStreams, Comet, Jackettio, TorBox, Nyaa, BitMagnet, TorrentsDB et Peerflix

Système de cache avec SQLite / PostgreSQL

Scraper en arrière-plan ultra-rapide

Classement intelligent des torrents propulsé par RTN

Support du proxy pour contourner les restrictions des services Debrid

Services Debrid supportés : Real-Debrid, All-Debrid, Premiumize, TorBox, Debrid-Link, Debrider, EasyDebrid, OffCloud et PikPak

Torrents directs pris en charge

Support Kitsu (anime)

Filtre de contenu adulte

Support du protocole ChillLink


Il permet donc de lire des contenus depuis des débrideurs ou depuis du torrenting direct (avec VPN !).

Comet (GitHub | Discord) est présenté par g0ldy comme l’addon le plus rapide pour Stremio, tout simplement parce qu’il constitue un cash des métadonnées des .torrents à partir des sources configurées.

comet0

On me confirme que les stats des caches de débrideurs – By Service Provider – sont fluctuantes et non révélatrices, on peut en avoir des milliers comme quasi rien. Testé avec AD, RD, TB et Premiumize, mêmes soucis de stats dans tous les cas. Mais c’est qu’une statistique, en lecture sous Stremio le contenu est bien trouvé.

Certains en ont des 10aines de millions de .torrents en attente d’ajout en base de données. Je débute et relance souvent l’outil donc il ne bosse pas beaucoup et j’ai pas mis beaucoup de sources vu que c’est un test. Et accessoirement, indexer tout le contenu VO de la Terre ne m’intéresse pas (certains indexent un dump de RARBG de quelques Po).

Comet est un indexeur de liens (sources) depuis tous les scrapers indiqués dans la description. C’est un addon de sources pour Stremio, avec filtres de résolution et langues notamment.

comet8

Et on peut multiplier les instances, j’ai par exemple un BitMagnet publique et mon instance (elle aussi relancée il y a peu donc pas encore beaucoup de contenu indexé).

Sans compter que mon pauvre Lincstation N1 se mange tout mon setup en ce moment vu que je réinstalle les autres machines. Il est bien brave avec son petit CPU ^^

Et comme g0dly trouvait qu’il ne gavait pas assez son Comet, il a décidé de lancer très récemment (encore en test dirons-nous) un réseau CometNet de partage de métadonnées entre instances (publiques et/ou privées).

cometnet

Pour ne parler que de FRENCH/MULTi, Comet peut être un bon complément voire une alternative à StreamFusion, à condition d’avoir les bonnes sources. On peut aussi parier dessus, par exemple via BitMagnet, pour les trackers francophones qui disent vouloir publier leurs contenus en DHT.
Dans ce cas, pas la peine d’indexer la planète. Si vous voulez du tout cuit : stremiofr.com propose une instance dédiée à la VF.

L’installation est simple, en Docker. Attention, mes paramètres CometNet (dans le .env) sont des tests et ils évoluent tous les jours en ce moment vu que c’est en plein développement/test.
:beta pour les dernières MàJ de CometNet, :latest sinon

services:
  comet:
    container_name: comet
    #image: g0ldyy/comet:latest
    image: g0ldyy/comet:beta
    restart: always
    ports:
      - "9237:8000"
      - "8765:8765"  # CometNet P2P port
    environment:
      DATABASE_TYPE: ${DATABASE_TYPE:-postgresql}
      DATABASE_URL: ${DATABASE_URL:-comet:comet@postgres:5432/comet}
      COMETNET_ENABLED: "True"
      FASTAPI_WORKERS: "1"
    env_file:
      - .env
    volumes:
      - /mnt/Docker/stremio/comet/data:/data
    healthcheck:
      test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:8000/health"]
      interval: 5s
      timeout: 5s
      retries: 5
      start_period: 10s
    depends_on:
      postgres:
        condition: service_healthy

  postgres:
    container_name: comet-postgres
    image: postgres:18-alpine
    restart: always
    environment:
      POSTGRES_USER: comet
      POSTGRES_PASSWORD: comet
      POSTGRES_DB: comet
    command:
      - "postgres"
      - "-c"
      - "shared_buffers=128MB"
      - "-c"
      - "effective_cache_size=384MB"
      - "-c"
      - "maintenance_work_mem=64MB"
      - "-c"
      - "checkpoint_completion_target=0.9"
      - "-c"
      - "wal_buffers=8MB"
      - "-c"
      - "random_page_cost=1.1"
      - "-c"
      - "effective_io_concurrency=200"
      - "-c"
      - "work_mem=8MB"
      - "-c"
      - "max_connections=100"
    volumes:
      - /mnt/Docker/stremio/comet/postgres:/var/lib/postgresql/
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U comet -d comet"]
      interval: 5s
      timeout: 5s
      retries: 5

Et donc le .env

ADDON_ID=stremio.comet.fast
ADDON_NAME=Comet

FASTAPI_HOST=0.0.0.0
FASTAPI_PORT=8000
FASTAPI_WORKERS=1
USE_GUNICORN=True
GUNICORN_PRELOAD_APP=True
EXECUTOR_MAX_WORKERS=1

PUBLIC_BASE_URL=https://stremio-comet.xxx.xxx

ADMIN_DASHBOARD_PASSWORD=xxx
PUBLIC_METRICS_API=False

DATABASE_TYPE=postgresql
DATABASE_FORCE_IPV4_RESOLUTION=False
DATABASE_URL=comet:comet@postgres:5432/comet
DATABASE_PATH=data/comet.db
DATABASE_BATCH_SIZE=20000
DATABASE_STARTUP_CLEANUP_INTERVAL=3600

PROXY_DEBRID_STREAM=True
PROXY_DEBRID_STREAM_PASSWORD=xxx

METADATA_CACHE_TTL=2592000  # 30 days
TORRENT_CACHE_TTL=2592000  # 30 days
LIVE_TORRENT_CACHE_TTL=604800  # 7 days
DEBRID_CACHE_TTL=86400  # 1 day
DEBRID_CACHE_CHECK_RATIO=1  # Minimum ratio (0.5 = 5%) of cached torrents/total torrents required to skip re-checking availability on the debrid service.
METRICS_CACHE_TTL=60  # 1 minute
SCRAPE_LOCK_TTL=300  # 5 minutes - Duration for distributed scraping locks
SCRAPE_WAIT_TIMEOUT=30  # 30 seconds - Max time to wait for other instance to complete scraping

BACKGROUND_SCRAPER_ENABLED=True
BACKGROUND_SCRAPER_CONCURRENT_WORKERS=1 # Number of concurrent workers for scraping (adjust depending on whether you are often ratelimited by scrapers)
BACKGROUND_SCRAPER_INTERVAL=3600 # Interval between scraping cycles in seconds
BACKGROUND_SCRAPER_MAX_MOVIES_PER_RUN=100 # Maximum number of movies to scrape per run
BACKGROUND_SCRAPER_MAX_SERIES_PER_RUN=100 # Maximum number of series to scrape per run
CATALOG_TIMEOUT=30 # Max time to fetch catalog pages (seconds)

ANIME_MAPPING_ENABLED=True
ANIME_MAPPING_REFRESH_INTERVAL=432000 # Seconds between background anime mapping refreshes when using database cache (<=0 disables)

RATELIMIT_MAX_RETRIES=2 # Maximum number of retries for 429 Too Many Requests errors. Set to 0 to disable retries.
RATELIMIT_RETRY_BASE_DELAY=1.0 # Base delay in seconds for exponential backoff (e.g., 1.0 -> 1s, 2s, 4s, 8s...)

SCRAPE_PROWLARR=True
PROWLARR_URL=https://prowlarr.xxx.xxx
PROWLARR_API_KEY=xxx
PROWLARR_INDEXERS=[] # Leave empty to automatically use all configured/healthy indexers. Or specify a list of indexer IDs.

# Shared Settings
INDEXER_MANAGER_TIMEOUT=30  # Max time to get search results (seconds) - Shared by both
INDEXER_MANAGER_WAIT_TIMEOUT=30 # Max time to wait for the indexer manager to initialize (seconds)
INDEXER_MANAGER_UPDATE_INTERVAL=900 # Time in seconds between indexer updates (default: 900s / 15m)

# ============================== #
# Torrent Settings               #
# ============================== #
GET_TORRENT_TIMEOUT=5 # Max time to download .torrent file (seconds)
DOWNLOAD_TORRENT_FILES=True # Enable torrent file retrieval from magnet link
MAGNET_RESOLVE_TIMEOUT=60 # Max time to resolve a magnet link (seconds)
DOWNLOAD_GENERIC_TRACKERS=False # Enable downloading generic trackers list at startup (for scraped torrents without trackers, doesn't work well most of the time)

# ============================== #
# Scraping Configuration         #
# ============================== #
# Multi-Instance Scraping Support:
# - Single URL: Use a simple string for one instance (default behavior)
# - Multiple URLs: Use JSON array format for multiple instances
# - Example single: COMET_URL=https://comet.feels.legal
# - Example multi: COMET_URL='["https://comet1.example.com", "https://comet2.example.com"]'
#
# Scraper Context Modes:
# Each SCRAPE_* setting can control when scrapers are used:
# - true/both: Used for live scraping AND background scraping (default)
# - live: Only used for live scraping (when users request content)
# - background: Only used for background scraping (automatic content pre-caching)
# - false: Completely disabled
#
# Examples:
# SCRAPE_COMET=both          # Used for both live and background scraping
# SCRAPE_TORRENTIO=live      # Fast live scraping only
# SCRAPE_ZILEAN=background   # Background cache building only
# SCRAPE_NYAA=false          # Completely disabled
# SCRAPE_JACKETT=live        # Jackett for live scraping only
# SCRAPE_PROWLARR=background # Prowlarr for background scraping only

SCRAPE_COMET=True
COMET_URL=["https://comet.feels.legal", "https://comet.stremiofr.com/"]

SCRAPE_ZILEAN=True
ZILEAN_URL=https://zileanfortheweebs.midnightignite.me

SCRAPE_STREMTHRU=True
STREMTHRU_SCRAPE_URL=https://stremthru.13377001.xyz
STREMTHRU_URL=https://stremthru.13377001.xyz

SCRAPE_BITMAGNET=True
#BITMAGNET_URL=https://bitmagnetfortheweebs.midnightignite.me
BITMAGNET_URL='["https://bitmagnetfortheweebs.midnightignite.me", "http://192.168.0.196:3333"]'
BITMAGNET_MAX_CONCURRENT_PAGES=5
BITMAGNET_MAX_OFFSET=15000 # Maximum number of entries to scrape

SCRAPE_TORRENTIO=True
TORRENTIO_URL=https://torrentio.strem.fun

SCRAPE_MEDIAFUSION=True
MEDIAFUSION_URL=https://mediafusion.elfhosted.com
MEDIAFUSION_API_PASSWORD= # API password for MediaFusion instances that require authentication
MEDIAFUSION_LIVE_SEARCH=True

SCRAPE_JACKETTIO=True
JACKETTIO_URL=https://jackettio.stremiofr.com/xxx

SCRAPE_NYAA=True
NYAA_ANIME_ONLY=True
NYAA_MAX_CONCURRENT_PAGES=5

SCRAPE_ANIMETOSHO=True
ANIMETOSHO_ANIME_ONLY=True
ANIMETOSHO_MAX_CONCURRENT_PAGES=8

SCRAPE_TORBOX=True
TORBOX_API_KEY=xxx

SCRAPE_TORRENTSDB=True

SCRAPE_PEERFLIX=True

DISABLE_TORRENT_STREAMS=False # When true, torrent-only requests return a friendly message instead of magnets
TORRENT_DISABLED_STREAM_NAME=[INFO] Comet # Stremio stream name shown when torrents are disabled
TORRENT_DISABLED_STREAM_DESCRIPTION=Pas de torrenting en direct # Description shown to users in Stremio

REMOVE_ADULT_CONTENT=False
RTN_FILTER_DEBUG=True # Set to True to log why torrents are excluded by RTN (debug only, verbose!)
DIGITAL_RELEASE_FILTER=False # Filter unreleased content
TMDB_READ_ACCESS_TOKEN=xxx

COMETNET_ENABLED=True
COMETNET_ADVERTISE_URL=wss://cometnet.xxx.xxx
COMETNET_KEYS_DIR=/data/cometnet/keys
COMETNET_POOLS_DIR=/data/cometnet/pools

# Network Discovery
COMETNET_BOOTSTRAP_NODES='["wss://cometnet-beta.feels.legal", "wss://cometnet.streamproxy.xyz", "wss://cometnet.selfhosting.sterzeck.com.br", "wss://https://cometnet.at16.co.uk/"]'
#COMETNET_BOOTSTRAP_NODES='["wss://cometnet-beta.feels.legal", "wss://cometnet.streamproxy.xyz"]'
COMETNET_MANUAL_PEERS=[]     # JSON array: '["wss://friend.example.com:8765"]'

# Peer Management
COMETNET_MAX_PEERS=100
COMETNET_MIN_PEERS=3

# Contribution Mode: full (default) | consumer | source | leech
COMETNET_CONTRIBUTION_MODE=full

# Optional: Trust Pools (JSON array of pool IDs)
# COMETNET_TRUSTED_POOLS='["my-community"]'

# NAT Traversal (for home connections)
COMETNET_UPNP_ENABLED=True


# Gossip
COMETNET_GOSSIP_FANOUT=3
COMETNET_GOSSIP_INTERVAL=1.0
COMETNET_GOSSIP_MESSAGE_TTL=5
COMETNET_GOSSIP_MAX_TORRENTS_PER_MESSAGE=1000
COMETNET_GOSSIP_CACHE_TTL=300
COMETNET_GOSSIP_CACHE_SIZE=10000

# Validation
COMETNET_GOSSIP_VALIDATION_FUTURE_TOLERANCE=60
COMETNET_GOSSIP_VALIDATION_PAST_TOLERANCE=300
COMETNET_GOSSIP_TORRENT_MAX_AGE=604800

# Peer Discovery
COMETNET_PEX_BATCH_SIZE=20
COMETNET_PEER_CONNECT_BACKOFF_MAX=300
COMETNET_PEER_MAX_FAILURES=5
COMETNET_PEER_CLEANUP_AGE=604800
COMETNET_ALLOW_PRIVATE_PEX=False
COMETNET_SKIP_REACHABILITY_CHECK=False
COMETNET_REACHABILITY_RETRIES=5
COMETNET_REACHABILITY_RETRY_DELAY=10
COMETNET_REACHABILITY_TIMEOUT=10

# Transport
COMETNET_TRANSPORT_MAX_MESSAGE_SIZE=10485760
COMETNET_TRANSPORT_MAX_CONNECTIONS_PER_IP=3
COMETNET_TRANSPORT_PING_INTERVAL=30.0
COMETNET_TRANSPORT_CONNECTION_TIMEOUT=120.0
COMETNET_TRANSPORT_MAX_LATENCY_MS=10000.0
COMETNET_TRANSPORT_RATE_LIMIT_ENABLED=True
COMETNET_TRANSPORT_RATE_LIMIT_COUNT=20
COMETNET_TRANSPORT_RATE_LIMIT_WINDOW=1.0

# NAT Traversal
COMETNET_UPNP_ENABLED=False
COMETNET_UPNP_LEASE_DURATION=3600

# Reputation System
COMETNET_REPUTATION_INITIAL=100.0
COMETNET_REPUTATION_MIN=0.0
COMETNET_REPUTATION_MAX=10000.0
COMETNET_REPUTATION_THRESHOLD_TRUSTED=1000.0
COMETNET_REPUTATION_THRESHOLD_UNTRUSTED=50.0
COMETNET_REPUTATION_BONUS_VALID_CONTRIBUTION=0.001
COMETNET_REPUTATION_BONUS_PER_DAY_ANCIENNETY=10.0
COMETNET_REPUTATION_PENALTY_INVALID_CONTRIBUTION=50.0
COMETNET_REPUTATION_PENALTY_SPAM_DETECTED=100.0
COMETNET_REPUTATION_PENALTY_INVALID_SIGNATURE=500.0

comet9
comet10

En prime, on a les statistiques de flux.

comet2

Loading

Reçu — 20 janvier 2026 Linux

IA : augmentation des exigences sur l’infrastructure IT des entreprises face aux technologies d’ancienne génération qui peinent à répondre aux besoins de résilience, de performance et de sécurité

20 janvier 2026 à 18:56

80 % des responsables informatiques ont déclaré que les attentes de leur direction ont augmenté au cours des 12 derniers mois. Seulement 38 % considèrent leurs systèmes en place parfaitement capables de répondre à ces nouvelles exigences. Tribune – Netskope, un leader de la sécurité et des réseaux modernes pour l’ère du cloud et de l’IA, publie une […]

The post IA : augmentation des exigences sur l’infrastructure IT des entreprises face aux technologies d’ancienne génération qui peinent à répondre aux besoins de résilience, de performance et de sécurité first appeared on UnderNews.

Vos sauvegardes Windows avec Plakar, et un backend S3

20 janvier 2026 à 17:00

Bon, on va pas se mentir, j’étais pas parti pour l’écrire cet article. Mais faut dire que j’ai un peu merdé dans les grandes largeurs pour le live, donc bon, sachant qu’en plus je traite d’un angle particulier de l’usage de ce cher Plakar, autant en faire un billet, ça sera le premier (et j’espère pas le seul) de 2026. On y croit ?

Plakar est une solution développée en France par une petite équipe apparemment friande des jeux de mots, puisqu’au delà de son nom même, le site est hébergé par la société Kandbaz. Voilà voilà…

Des confrères blogueurs ont déjà fait quelques présentations de l’outil (exemple: Adrien), principalement pour s’en servir sous Linux. Il se trouve que j’ai une machine Windows qui a besoin d’être sauvegardée, en vue d’une mise à jour de firmware de SSD qui devrait bien se passer, mais on doit toujours faire une sauvegarde avant de faire ce genre de choses. Mieux vaut prévenir que guérir comme on dit. Et la présentation en live aurait du se passer plus ou moins tranquille, mais bon, j’ai pas percuté la micro-coupure pendant plus d’une heure (habitué à ne pas avoir d’activité dans le chat), donc, je vous remet le processus sur « papier numérique ».

Je ne redétaille pas l’installation de Garage parce qu’on l’a faite en live sans souci.

Petit rappel rapide des caractéristiques de l’outil

On a donc un outil principalement en ligne de commande, qui repose sur un concept voisin de celui de Borg, qui nécessite la configuration d’un dépôt et propose un chiffrement natif des sauvegardes. Ce dépôt, local ou distant, peut être contacté de différentes manières, natives (SFTP/SSH) ou via des intégrations supplémentaires à installer au besoin. C’est le cas notamment du support S3.

Le setup

En soit, c’est très bien documenté : une fois l’outil installé, vous ajoutez le package directement, mais vous tombez sur un mur que je n’aime pas : créer un compte Plakar pour accéder aux intégrations. J’ai une petite idée de pourquoi ça peut avoir du sens (les intégrations concernent en général des solutions d’entreprise), mais ça me gonfle plus que profondément quand ça concerne des particuliers, qui se font déjà violer en permanence, donc pas la peine d’en rajouter (on a la même avec  BitWarden, ou El Gato et son Stream Deck Marketplace pour l’intégration… d’OBS, qui est pourtant mis en avant comme native – c’est donc faux). Fort heureusement, l’outil propose de builder l’intégration depuis les sources qui sont disponibles sur Github, comme le reste des sources de l’outil, et ça sans création de compte. C’est facile… si on est sous Linux.

J’avoue que pour l’instant les installations sont un peu brutes de décoffrage, mais le support Windows est vraiment frais, donc je ne vais pas trop me formaliser là-dessus. Le fait que ça doit déjà proposé pour une version 1.0 est déjà assez cool. Par contre, concernant la compilation des intégrations, c’est plus ardu : il faut disposer de Go (dans la version qui est demandée par Plakar), de Make (à priori à part Chocolatey pas de moyen indépendant), et peut-être d’autres outils, mais je me suis heurté à un mur à cause de ça. La solution, comme d’hab’, aura demandé un pas de côté.

La cross compilation à la rescousse

Une des particularités de Go, c’est qu’on peut nativement compiler pour un autre système d’exploitation que celui sur lequel on se trouve. Et la chaine de compilation nécessaire est plus facile à déployer sous Linux; ça tombe bien, WSL est là pour ça. Après l’installation de la même version de Plakar que sous Windows, j’ai donc installé build-essential (pour être sûr d’avoir un max d’outils, donc Make), installé la version 1.24.12 de Go via asdf-vm (je vous renvoie vers la doc de Stéphane Robert qui a tout expliqué au sujet de cet outil trop pratique). Et pour la compilation d’un autre OS, c’est simple : on configure une variable d’environnement, GOOS, éventuellement l’architecture (oui, parce que c’est aussi possible), l’extension de fichier dans la variable EXT (parce que sous Windows, il faut un .exe pour qu’il soit exécutable – oui c’est débile en 2026, mais que voulez-vous, l’IA c’est plus intéressant à intégrer que moderniser un OS don personne ne voulait à la base) et on lance la compilation de l’intégration via la commande plakar ad-hoc. Vraiment, c’est aussi simple que ça :

$ export GOOS=windows
$ export EXT=.exe
$ plakar pkg build s3
info: fetching https://plugins.plakar.io/kloset/recipe/v1.0.0/s3.yaml
/usr/bin/make -C /tmp/build-s3-v1.0.7-161840773 EXT=.exe
3fe849cb: OK ✓ /manifest.yaml
3fe849cb: OK ✓ /s3Importer.exe
3fe849cb: OK ✓ /s3Exporter.exe
3fe849cb: OK ✓ /s3Storage.exe
3fe849cb: OK ✓ /
Plugin created successfully: s3_v1.0.7_windows_amd64.ptar
$ ls -l
.rw------- 1 42M seboss666 16 Jan 22:29  s3_v1.0.7_windows_amd64.ptar

On peut donc désormais copier le fichier ptar sous Windows (il faudra que je creuse ce format qui semble un peu maison), et on peut l’installer avec la bonne commande :

> .\plakar.exe pkg add ./s3_v1.0.7_windows_amd64.ptar
> .\plakar.exe pkg list
s3@v1.0.7

La sauvegarde ? Ben ça fonctionne

On peut donc attaquer le dur. J’ai juste suivi la doc de l’intégration, à savoir créer le kloset l’initialiser, et lancer le backup d’un dossier vers ce kloset là :

.\plakar.exe store add garage s3://192.168.1.201:3900/backup-pc access_key=<accesskey> secret_access_key=<secret_key> use_tls=false
.\plakar.exe at "@garage" create
repository passphrase:
repository passphrase (confirm):
.\plakar.exe at "@garage" ls
repository passphrase:
.\plakar.exe at "@garage" backup C:\\Users\\Seboss666\\Pictures\\blog
repository passphrase:
e363f7fa: OK ✓ /C:/Users/Seboss666/Pictures/blog/Firefox_groupe_onglets.png
e363f7fa: OK ✓ /C:/Users/Seboss666/Pictures/blog/Firefox_profils.png
e363f7fa: OK ✓ /C:/Users/Seboss666/Pictures/blog/docker-docker-everywhere.jpg
e363f7fa: OK ✓ /C:/Users/Seboss666/Pictures/blog/418-error-page.png
e363f7fa: OK ✓ /C:/Users/Seboss666/Pictures/blog/cross.svg
(...)
.\plakar.exe at "@garage" ls
repository passphrase:
2026-01-16T21:40:31Z e363f7fa 42 MiB 0s /C:/Users/Seboss666/Pictures/blog

Bonus, on peut vérifier l’état du backup depuis un autre PC, ou un autre OS, donc je suis retourné sur WSL, j’ai viré les variables d’environnement pour builder l’intégration pour Linux cette fois, et rebuildé/ajouté l’intégration. On reprend ensuite la même commande pour ajouter le Kloset, mais pas besoin de l’initialiser, on peut directement lister son contenu en fournissant la bonne passphrase :

$ plakar store add garage s3://192.168.1.201:3900/backup-pc access_key=<access_key> secret_access_key=<secret_key>
$ plakar at "@garage" ls
repository passphrase:
2026-01-16T21:40:31Z e363f7fa 42 MiB 0s /C:/Users/Seboss666/Pictures/blog

On peut donc faire à peu près ce qu’on veut dès lors : restauration complète ou partielle, création de nouveaux backups, etc.

Verdict

Donc oui, tout a fonctionné pratiquement du premier coup. J’ai quand même tâtonné au départ concernant le build de l’intégration, à vouloir « make » direct à partir du dépôt git. Mais dans ce cas, on se retrouve avec les trois binaires, sans infos sur la construction du fameux ptar (on est là encore dans le simili-jeu de mots, vraiment…), ce qui est plutôt dommage. Il m’aura fallu quelques minutes pour me résigner à utiliser plakar directement. Il faudrait aussi un peu plus de retour sur les commandes qui se déroulent bien (sans erreur). Autant quand on se plante, on le sait, mais quand on se plante pas, voir juste un retour à la ligne est un peu frustrant et déroutant.

Il y a question aussi sur les performances de la sauvegarde testée. j’ai testé sur un dossier de 108 images, et un des développeurs s’est étonné sur BlueSky du temps que ça a pris. J’avoue que pour l’instant, je n’ai pas creusé le sujet, il y a des chances que ça soit dû aux performances S3 elle-mêmes, à NTFS, une combinaison de tout ça. Garage est censé être performant, mais bon, on est sur un processeur ARM assez poussif quand même, qui doit déjà gérer le transfert réseau, donc on est pas à l’abri que ça soit un problème purement chez moi.

En tout cas, pour un jeune logiciel, la qualité de la documentation et l’implémentation Windows déjà opérationnelle (même si encore un peu buggée chez certains, en lien notamment avec les différences slash/antislash à cause de Windows), en bonus une interface web pour parcourir les backups, il m’a très agréablement surpris. On ne peut souhaiter que ça mature comme il faut et que l’entreprise trouve son équilibre (la stabilité financière et l’open-source, hein…). Et moi que je regarde d’un peu plus près le statut du live la prochaine fois (ou que je configure l’enregistrement en plus du stream)…

Linux et macOS gagnent un argument de poids face à Windows : Wine 11.0 permet désormais de faire vivre et évoluer les applications Windows en dehors de l'écosystème Microsoft

20 janvier 2026 à 16:26
Wine 11.0 confirme une tendance de fond : les applications Windows peuvent désormais vivre et évoluer en dehors de l'écosystème Microsoft,
Linux et macOS gagnent un argument de poids face à Windows grâce à Wine 11.0

Avec Wine 11, l'exécution des applications Windows sur Linux et macOS franchit un cap que peu imaginaient atteignable il y a encore quelques années. Longtemps perçu comme un outil de contournement réservé aux passionnés, Wine s'impose désormais comme une solution technique mûre, capable...

La suite bureautique gratuite ONLYOFFICE Desktop Editors est désormais disponible pour Linux ARM, y compris Ubuntu, Fedora, OpenSUSE et d'autres distributions

20 janvier 2026 à 11:47
La suite bureautique gratuite ONLYOFFICE Desktop Editors est désormais disponible pour Linux ARM, y compris Ubuntu, Fedora, OpenSUSE et d'autres distributions

Bonne nouvelle pour les utilisateurs Linux sur appareils ARM ! L'application de bureau gratuite ONLYOFFICE Desktop Editors est désormais disponible pour Linux sur architecture ARM, y compris Ubuntu, Fedora, OpenSUSE et d'autres distributions.

OnlyOffice est une suite logicielle de productivité développée par Ascensio System SIA, une société...

L’IA et l’industrialisation du cybercrime redessinent le paysage mondial des menaces

20 janvier 2026 à 10:52

SentinelLABS, la division de recherche sur les menaces de SentinelOne, a publié son rapport annuel « 12 Months of Fighting Cybercrime & Defending Enterprises ». Cette analyse approfondie revient sur l’évolution des tactiques des cyberattaquants tout au long de l’année 2025. Le constat est sans appel : plus qu’une succession de ruptures technologiques, 2025 aura […]

The post L’IA et l’industrialisation du cybercrime redessinent le paysage mondial des menaces first appeared on UnderNews.

MeshCentral, alternative à TeamViewer et RustDesk

20 janvier 2026 à 06:49

Ce qui suit est une mise en œuvre basique de l’outil de prise en main à distance MeshCentral. Adapté pour les petits dépannages mais conçu pour les organisations, c’est une solution à évaluer face aux logiciels plus connus comme TeamViewer, AnyDesk ou RustDesk. Je (NdM: YvanM) me garderai cependant de faire un comparatif des fonctionnalités, car je ne connais pas assez cet outil et ses « concurrents ».

Capture d’écran

Sommaire

MeshCentral c’est quoi ?

MeshCentral propose des fonctionnalités similaires à TeamViewer ou AnyDesk. C’est à ma connaissance le seul outil complètement libre de ce type (il est sous licence Apache 2.0). RustDesk est également régulièrement cité sur LinuxFR, mais c’est un logiciel « open core », on peut donc être rapidement limité avec la version libre selon les usages souhaités.

Le projet était, si ma mémoire est bonne, sponsorisé par Intel dans ses débuts. Il est toujours en développement, mais il n’y a visiblement qu’un seul mainteneur actif. Cette personne semble proposer le développement sponsorisé de fonctionnalités.

Malgré cette confidentialité, MeshCentral propose presque toutes les fonctionnalités qui me semblent nécessaires pour une utilisation en entreprise. Il est également adapté à mes besoins en tant que particulier qui dépanne ponctuellement la famille et les amis :

  • La partie serveur est libre et s’installe sur un serveur Linux (on peut aussi sur Windows) ;
  • Le client supporte Windows, Linux, MacOS, FreeBSD et Android, sur plusieurs architectures matérielles ;
  • La personne qui « prend la main » n’a pas de client à installer, tout se fait par l’interface web du serveur (ce n’est pas forcément un avantage, c’est juste pour expliquer comment ça s’utilise) ;
  • Il n’y a pas besoin de configurer le client pour qu’il pointe vers votre serveur, il suffit de le lancer ou de l’installer ;
  • Quand on prend la main sur les clients, on a accès :
  • Au bureau ;
  • À un shell ;
  • À une fonctionnalité de transfert de fichiers ;
  • Des informations sur le matériel ;
  • On peut se servir d’une machine sur laquelle le client est installé comme « rebond » pour accéder en RDP, VNC, HTTP et HTTPS aux autres machines qui sont sur le réseau du client ;
  • Le client permet un accès permanent ou à la demande ;
  • On peut créer des groupes de machines ;
  • On peut avoir plusieurs utilisateurs sur le serveur, avec des permissions différentes ;
  • Il permet l’authentification multi-facteur ;
  • Il supporte l’authentification locale, SAML, JumpCloud, Azure, GitHub, Google, SSO avec OpenID Connect… ;
  • On peut personnaliser le client et l’interface web ;
  • Il est multitenant ;
  • Il peut utiliser Intel AMT (je n’ai jamais essayé) : « when available, administrators can remotely power on, boot to BIOS and manage a system regardless ofthe operating system state. ». Je m’étais d’ailleurs dit que ça devait être une raison du support d’Intel pour ce projet ;
  • Et un paquet d’autres choses que je ne détaillerai pas.

J’ai une utilisation très restreinte de l’outil, mais j’ai quand même constaté des limitations embêtantes :

  • Il n’est pas possible d’accéder au bureau distant si celui-ci utilise Wayland. Si je comprends bien il faudrait un développeur C qui connaisse Wayland, à bon entendeur ;-). Plusieurs contournements sont possibles :
  • Utiliser l’accès en ligne de commande uniquement, c’est parfois suffisant ;
  • Expliquer à l’utilisateur de rouvrir sa session sous Xorg ;
  • Lancer un serveur RDP ou VNC sur le client, et utiliser le client RDP ou VNC intégré à l’interface web de MeshCentral (voir les suggestions en bas de cette dépêche).
  • En mode « à la demande » sous Windows, je n’arrivais pas à avoir la main sur les fenêtres lancées en tant qu’administrateur. Ça a peut-être changé depuis la dernière fois où j’ai testé (en 2023) ;
  • Je trouve que la documentation n’est pas super, il ne faut donc pas hésiter à aller voir les vidéos qui couvrent beaucoup de sujets.

Installation du serveur

La méthode d’installation dépendra forcément du contexte. Voilà le mien :

  • Je veux que le serveur soit sur mon ordinateur portable (actuellement sous Debian 13). Je n’ai pas de serveur à la maison et je n’ai pas envie de gérer une machine en plus. L’inconvénient c’est que je ne pourrais utiliser MeshCentral qu’à la maison, car j’aurais un enregistrement DNS qui pointera vers l’IP de ma box ;
  • Je veux faire tourner le serveur avec Podman dans un conteneur « utilisateur » (parce que même si j’ai pris l’habitude de Docker, j’ai envie de tester Podman).

En termes de RAM et d’utilisation CPU je ne me fais pas de soucis : pour les petites installations c’est censé tourné sur Raspberry Pi. Effectivement, le serveur démarré et un client connecté, le serveur consomme 90 Mo de RAM et 1 % de CPU (j’ai un i5-4300U, soit 4 cœurs à 1.90GHz)

Premier lancement

On installe podman :

sudo apt install podman

On crée l’utilisateur dédié nommé meshcentral (je trouve intéressant sur le principe d’avoir un utilisateur par service) qui fera tourner le conteneur, et on en profite pour mettre son home dans /srv (car ce n’est pas un utilisateur « normal ») :

sudo useradd --base-dir /srv \
--create-home \
--shell /bin/bash \
--user-group \
meshcentral

On note que par défaut useradd (tout comme adduser d’ailleurs) ajoute automatiquement une plage de sous-UID et sous-GID dans /etc/subuid et /etc/subgid : ces plages seront utilisées par les conteneurs que l’utilisateur meshcentral lancera (voir man 5 subuid).

Dans mon cas je démarrerai le service à la main quand j’en ai besoin, mais si on voulait que notre service puisse démarrer automatiquement à l’allumage de la machine il faudrait en plus exécuter la commande suivante :

sudo loginctl enable-linger meshcentral

On se connecte en tant que meshcentral :

sudo --login --user meshcentral

Il existe sur le Docker Hub des images de MeshCentral, mais je n’en vois pas d’officielles et j’ai envie de bricoler :-). En me basant sur la documentation d’installation, on crée donc un fichier /home/meshcentral/Containerfile (équivalent d’un Dockerfile) avec le contenu suivant :

# On se base sur Debian Trixie en version slim
FROM docker.io/library/debian:trixie-slim

# On définit que la version « latest » de MeshCentral sera installée par défaut
ARG MESHCENTRAL_VERSION="latest"

# On fait les mises à jour, on installe les logiciels nécessaires, puis on
# supprime le cache des paquets
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get full-upgrade --assume-yes \
&& DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --assume-yes nodejs npm tini \
&& rm -r /var/cache/apt/*
# On crée un utilisateur dédié pour lancer le service
RUN useradd --shell /usr/sbin/nologin --user-group --create-home meshcentral
# On utilise ce nouvel utilisateur
USER meshcentral
# On se place dans le bon répertoire
WORKDIR /home/meshcentral
# On installe les dépendances de MeshCentral dans ce répertoire
RUN npm install meshcentral@${MESHCENTRAL_VERSION}
# On définit la variable d’environnement conseillée pour faire tourner node
# en production
ENV NODE_ENV=production
# On lance tini pour qu’il prenne en charge et relaie SIGTERM
ENTRYPOINT ["tini","--"]
# Et finalement on lance meshcentral
CMD ["node","./node_modules/meshcentral"]

On construit ensuite l’image, ici en précisant la version stable de MeshCentral qu’on veut récupérer du dépôt NPM et en appliquant un tag :

podman image build --build-arg MESHCENTRAL_VERSION=1.1.55 --tag meshcentral:1.1.55.

L’image est stockée dans ~/.local/share/containers/storage/overlay/. podman image ls m’indique qu’elle fait 976 Mo.

On crée les volumes :

podman volume create meshcentral-files # pour les fichiers qu’on veut transmettre depuis ou vers les clients
podman volume create meshcentral-data # pour la configuration, les certificats, etc.

Ils se trouvent comme on peut s’y attendre dans ~/.local/share/containers/storage/volumes/.

On fait un premier lancement à la main, ce qui permet de créer le fichier de configuration par défaut et de tester si ça marche. On n’est pas root, donc on ne pourra pas utiliser le port 443. De plus, dans le conteneur MeshCentral ne tourne pas en tant que root et utilisera donc par défaut le port 1025 :

podman run --rm \
--volume=meshcentral-data:/home/meshcentral/meshcentral-data \
--volume=meshcentral-files:/home/meshcentral/meshcentral-files \
--publish 1025:1025/tcp \
--hostname meshcentral \
--name meshcentral \
localhost/meshcentral:1.1.55

Depuis le navigateur web, on peut aller sur https://127.0.0.1:1025 pour s’assurer que le service est accessible. Mais revenons pour l’instant dans le terminal et arrêtons notre conteneur avec Ctrl+C

Comme MeshCentral n’est pas joignable sur le port 80, on ne peut pas utiliser le client Let's Encrypt intégré pour obtenir un certificat. On va donc obtenir un certificat manuellement avec certbot.

Configuration DNS et IP

Sur mon nom de domaine, j’ajoute un enregistrement A aide.domain.example qui pointe vers l’adresse IPv4 de ma box. J’aurais bien aimé faire de l’IPv6 aussi, mais avec le pare-feu IPv6 de ma box Free c’est soit on ouvre tout, soit on ferme tout…

Côté box, j’ajoute une redirection de ports pour que les ports TCP 80 et 1025 arrivent sur l’adresse IPv4 de mon laptop. J’ai également configuré un bail statique sur ma box pour que mon ordinateur portable ait toujours la même adresse IP.

Installation du certificat TLS

On reprend notre utilisateur standard pour installer certbot :

sudo apt install certbot

On lance la commande suivante pour tester l’obtention d’un certificat. Il faudra renseigner une adresse e-mail (utilisée pour prévenir lorsque le certificat expire bientôt) et valider les conditions d’utilisation :

sudo certbot certonly --standalone --domain aide.domain.example --dry-run --test-cert

Si ce premier essai marche, on peut demander un certificat de test. C’est utile pour s’assurer qu’on a bien tous les bons paramètres, car Let's Encrypt applique des limites pour les demandes de certificats valides. On doit demander un certificat RSA (et non ECDSA par défaut) car MeshCentral ne sait pas encore gérer ECDSA. On va aussi utiliser l’option --deploy-hook pour copier le certificat au bon emplacement et avec les bonnes permissions. Le propriétaire de ces fichiers doit correspondre avec l’UID de l’utilisateur à l’intérieur de notre conteneur, sinon la clé privée ne sera pas lisible par MeshCentral. On peut pour cela regarder quel est l’UID des fichiers dans notre volume (/srv/meshcentral/.local/share/containers/storage/volumes/meshcentral-data/_data/), pour le reporter 4 fois dans la commande ci-dessous (dans mon cas 232071). Attention également à adapter le nom de domaine (à 3 endroits) :

sudo certbot certonly --test-cert \
--key-type rsa \
--standalone \
--domain aide.domain.example \
--deploy-hook 'install --verbose --owner=232071 --group=232071 --mode=644 /etc/letsencrypt/live/aide.domain.example/fullchain.pem /srv/meshcentral/.local/share/containers/storage/volumes/meshcentral-data/_data/webserver-cert-public.crt; install --verbose --owner=232071 --group=232071 --mode=600 /etc/letsencrypt/live/aide.domain.example/privkey.pem /srv/meshcentral/.local/share/containers/storage/volumes/meshcentral-data/_data/webserver-cert-private.key'

Si tout se passe bien, on peut exécuter la même commande mais sans l’option --test-cert et on aura cette fois un certificat valide. Celui-ci est valable 3 mois, et par défaut est renouvelé automatiquement par le service systemd certbot.service déclenché par le timer certbot.timer. Comme je suis sur un laptop et que ce renouvellement ne peut fonctionner que si je suis chez moi, je désactive l’exécution automatique :

sudo systemctl disable certbot.timer

Quand j’aurais besoin de renouveler le certificat et que je serai à la maison, j’aurais simplement à faire sudo systemctl start certbot.service (enfin c’est comme ça que j’ai compris le mécanisme, je n’ai pas testé).

Configuration textuelle de MeshCentral

On va maintenant modifier le fichier de configuration qui a été généré au premier démarrage de MeshCentral. Depuis l’hôte, en tant que l’utilisateur meshcentral, la solution la plus simple est de lancer podman unshare vim ~/.local/share/containers/storage/volumes/meshcentral-data/_data/config.json. Ça permet d’être dans le bon namespace pour avoir les droits d’écriture sur le fichier. On pourrait aussi utiliser notre compte root de l’hôte mais c’est intéressant de connaître l’existence de podman unshare qui semble bien utile pour comprendre et résoudre des problèmes.

Dans mon cas j’ajoute simplement les directives suivantes sous settings. On peut laisser les commentaires déjà présents dans le fichier. Les curieux iront lire la documentation (par exemple ici) pour voir tout ce qu’il est possible de faire :

  • "cert": "aide.domain.example" pour indiquer comment MeshCentral est joignable ;
  • "port": "1025" pour spécifier le port plutôt que de prendre le premier disponible ;
  • "WANonly": true parce que les fonctionnalités de LAN ne m’intéressent pas ;
  • "amtManager": false parce que je ne vais pas me servir d’AMT (je ne sais pas si ça marche vraiment parce qu’il écoute toujours sur le port 4433, mais ça n’est pas gênant, car le port n’est pas exposé sur l’hôte).

On peut relancer MeshCentral pour s’assurer que ça fonctionne.

Création du quadlet

Bien que Podman supporte les fichiers docker-compose.yml (si on installe le paquet Debian podman-compose), il cherche avant tout à s’intégrer au mieux avec systemd. Pour ça il propose les quadlets (voir man 5 quadlet), qui sont un type d’unités systemd qui permettent de faire à peu près la même chose qu’un fichier docker-compose.yml. On va utiliser cette méthode pour faciliter le lancement ultérieur de notre conteneur. Ici, je vais placer mon unité systemd dans le répertoire de mon utilisateur meshcentral. On crée le bon répertoire :

mkdir --parents ~/.config/containers/systemd/

Et on y crée le fichier ~/.config/containers/systemd/meshcentral.container avec le contenu suivant :

[Unit]
Description=Meshcentral in a Podman container
# C’est déjà une dépendance implicite, mais je la mets pour que ce soit explicite
After=networking.target

[Container]
Image=localhost/meshcentral:1.1.55
ContainerName=meshcentral
HostName=meshcentral
PublishPort=1025:1025
Volume=meshcentral-files:/home/meshcentral/meshcentral-files
Volume=meshcentral-data:/home/meshcentral/meshcentral-data
# Je ne sais pas si c’est c’est vraiment utile mais ça ne coûte rien
DropCapability=all

On indique à systemd de prendre en compte ce nouveau fichier :

systemctl --user daemon-reload

Et on peut démarrer notre service simplement :

systemctl --user start meshcentral.service

Utilisation de MeshCentral

Première connexion

Passons enfin à l’utilisation de MeshCentral. Depuis la page d’accueil de l’interface web, cliquer sur le lien pour créer un premier compte utilisateur.

Une fois connecté, cliquer sur le lien « Créer un nouveau groupe d’appareils ». Pour mon usage basique, je laisse comme type « Gérer à l’aide d’un agent logiciel ».

Installation de l’agent

Il faut maintenant obtenir et installer le client (ici appelé « agent ») sur les postes, et quand on clique sur « Ajouter un agent » à côté du nom du groupe il y a pléthore de choix.

Pour Windows

Pour Windows, je ne saurais pas dire exactement quels choix permettent quelles fonctionnalités (installation en tant que service, assistance à la demande sans que l’utilisateur ait les droits d’administration…) car je n’ai plus de machine pour tester, désolé.

À noter que par défaut l’agent n’est pas signé, donc Windows demande une confirmation avant d’exécuter le binaire.

Pour Linux

Pour Linux, on obtient un agent à installer en tant que service en choisissant « Exécutable d’installation Linux / BSD / macOS », avec « Type d’installation » « Ligne de commande & bureau distant » ou « Ligne de commande uniquement », puis en cliquant sur le lien nommé « MeshAgent ». Il faudra alors faire une commande du type chmod +x && sudo./meshagent pour l’installer (ajouter l’option -install à meshagent pour éviter la pop-up graphique qui demande quoi faire).

L’agent sera installé dans /usr/local/mesh_services/meshagent/meshagent et sera lancé automatiquement par le service meshagent.service. Pour le désinstaller il est possible de supprimer ces fichiers, ou d’utiliser le binaire de désinstallation téléchargeable également depuis l’interface web, toujours via le lien « Ajouter un agent », ou de lancer le binaire installé avec l’option -uninstall.

On obtient un agent que l’utilisateur sans droit root pourra utiliser en choisissant « Exécutable d’installation Linux / BSD / macOS », avec « Type d’installation » « Interactif seulement » (pas vraiment instinctif…). Il faudra dans tous les cas bien expliquer à cet utilisateur comment démarrer ce binaire (car ça dépend de l’environnement qu’il utilise et parce qu’il faut ajouter les droits d’exécution), mais une solution est de lui donner par e-mail une commande toute prête à copier-coller dans son terminal, du type :

cd /tmp/ && wget -O meshagent « https://aide.domain.example:1025/meshagents?id=pYWSORfgTMN%2IdKohzytKQePtv8DzNzbTZcqB2m%24h7MuA4bzXSWJRt6vLN9VBILW&installflags=1&meshinstall=6 » && chmod +x meshagent &&./meshagent

Pour une utilisation à la demande, je m’étais créé un paquet Debian qui une fois installé, permettait par un clic de l’utilisateur de télécharger le binaire et de le lancer, le tout avec une interface graphique basique. C’était de loin le plus simple pour les utilisateurs, mais c’est pas mal de travail.

Avec une invitation

Les méthodes d’installation ci-dessus nécessitent que vous transmettiez le binaire (ou le lien de téléchargement précis) aux utilisateurs. Une autre méthode consiste à inviter les utilisateurs ce qui crée une URL spécifique, accessible sans identifiant, pour qu’ils puissent eux-mêmes télécharger le binaire et obtenir les instructions d’installation. Pour cela, depuis la page d’accueil, cliquer sur le lien « Inviter » à côté du nom du groupe.

C’est à mon sens particulièrement intéressant pour les utilisateurs Windows, puisqu’il suffit de leur transmettre le lien par courriel. (NdM: attention à ne pas habituer les utilisateurs à installer tout et n'importe quoi en un clic sur un lien, en particulier un outil de prise en main à distance. Optez pour un canal de confiance, un courriel signé, etc.)

Mise à jour de l’agent

La mise à jour des agents se fait automatiquement (si nécessaire) après redémarrage du serveur sur une nouvelle version.

Utilisation avec Wayland

Comme dit plus haut, l’agent MeshCentral n’est pas encore compatible Wayland. Voici quelques idées de contournement qui peuvent convenir à votre cas d’usage, ou pas.

Pour avoir accès au gestionnaire de session, j’imagine qu’il suffirait de lancer ce dernier avec Xorg, mais je n’ai jamais testé.

Pour avoir accès à la session on peut en général indiquer à l’utilisateur comment rouvrir sa session avec Xorg. Mais rappelons-nous également que MeshCentral peut se connecter à un serveur RDP ou VNC qui tourne sur la machine, ce qu’on peut faire assez facilement.

Avec Gnome

Si c’est Gnome qui tourne on peut simplement lancer le serveur VNC intégré. On peut indiquer à l’utilisateur de le faire, mais on peut aussi le faire nous-même depuis l’accès en ligne de commande proposé par MeshCentral. À noter que ce serveur VNC écoute sur toutes les interfaces réseau et que même si un mot de passe aléatoire est défini, il est recommandé de l’arrêter lorsque l’accès distant au bureau n’est plus nécessaire :

# on enregistre comment accéder à dbus (nécessaire pour dconf et systemctl
export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/"$(id --user)"/bus
# on désactive l’accès RDP qui est activé par défaut
dconf write /org/gnome/desktop/remote-desktop/rdp/enable false
# on active l’accès VNC qui est désactivé par défaut
dconf write /org/gnome/desktop/remote-desktop/vnc/enable true
# on démarre le service utilisateur de partage du bureau
systemctl --user start gnome-remote-desktop.service

Avec KDE

Une solution est d’utiliser le serveur VNC Krfb, qu’on installera avec une commande du type sudo apt install krfb. Il suffit ensuite de demander à l’utilisateur de démarrer ce logiciel depuis le menu (il se trouve dans la rubrique « Internet » et qu’il vous communique le mot de passe.

Comme pour le cas de Gnome juste au-dessus, je recommande également d’arrêter Krfb une fois la prise en main à distance terminée (depuis le menu « Fichier -> Quitter », parce que cliquer sur la croix ferme juste la fenêtre).

Commentaires : voir le flux Atom ouvrir dans le navigateur

Reçu — 19 janvier 2026 Linux

Revue de presse de l’April pour la semaine 3 de l’année 2026

Par :echarp
19 janvier 2026 à 14:24

Cette revue de presse sur Internet fait partie du travail de veille mené par l’April dans le cadre de son action de défense et de promotion du logiciel libre. Les positions exposées dans les articles sont celles de leurs auteurs et ne rejoignent pas forcément celles de l’April.

[Numerama] Contrôles CAF: comment fonctionne le nouvel algorithme de data mining?

✍ Amine Baba Aissa, le dimanche 18 janvier 2026.

Alors que le dispositif avait suscité de nombreuses critiques au sein d’associations en France, la CNAF a choisi de ne pas renoncer à son algorithme de contrôle des allocataires et vient de déployer un nouveau modèle de «data mining».​ Cette fois, l’organisme mise sur une communication plus transparente et a décidé

[Mediapart] Wikipédia, les 25 ans d'une utopie réussie devenue le punching-ball de l'extrême droite (€)

✍ Dan Israel, le jeudi 15 janvier 2026.

L’encyclopédie en ligne, gratuite et coopérative, a été lancée le 15 janvier 2001. Avec 65 millions d’articles en 326 langues, son succès a dépassé toutes les attentes, malgré les critiques régulière…"

[Républik IT Le Média] Software Heritage: dix ans de préservation du patrimoine applicatif

✍ Bertrand Lemaire, le mercredi 14 janvier 2026.

Le 28 janvier 2026, Software Heritage fêtera ses dix ans à l’Unesco. Morane Gruenpeter, directrice de la verticale Open-Science, et Bastien Guerry, responsable des partenariats, présentent cette initiative qui vise à préserver le patrimoine applicatif quelque soit le sort des éditeurs ou les feuilles de route de ceux-ci.

[ZDNET] Logiciel libre et souveraineté: la Commission européenne lance un appel à contributions

✍ Thierry Noisette, le lundi 12 janvier 2026.

La Commission propose jusqu’au 3 février aux développeurs, entreprises et communautés open source, administrations et chercheurs de contribuer à la future stratégie européenne d’écosystème numérique ouvert. En identifiant les obstacles à l’adoption de l’open source et en suggérant des mesures concrètes.

Et aussi:

Commentaires : voir le flux Atom ouvrir dans le navigateur

❌