Compare commits

..

4 Commits

Author SHA1 Message Date
e177166362 vault backup: 2026-03-11 18:41:56 2026-03-11 18:41:56 +01:00
c0b6d77a42 vault backup: 2026-03-11 18:28:18 2026-03-11 18:28:18 +01:00
d9b5947a3d vault backup: 2026-03-11 01:42:22 2026-03-11 01:42:22 +01:00
8330c2ff9e vault backup: 2026-03-11 00:42:21 2026-03-11 00:42:21 +01:00
5 changed files with 181 additions and 1 deletions

View File

@@ -46,6 +46,6 @@
"repelStrength": 10, "repelStrength": 10,
"linkStrength": 1, "linkStrength": 1,
"linkDistance": 250, "linkDistance": 250,
"scale": 1, "scale": 0.9999999999999991,
"close": true "close": true
} }

3
Sans titre.md Normal file
View File

@@ -0,0 +1,3 @@
aujourd'hui j'ai installé un client pour me connecté sur mon bus [[MQTT]].
j'ai utilisé [[mosquitto]]. ça marche super bien. il fonctionne sous [[linux]].

View File

@@ -0,0 +1,135 @@
---
title: "Déploiement d'Apache Guacamole via Docker sur Debian 12 (Bookworm)"
description:
tags: []
date: 2026-03-11 00:27
lastmod: 2026-03-11 01:19
type:
- article
category:
- "[[Guide]]"
status: brouillon
---
# Déploiement d'Apache Guacamole via Docker sur Debian 12 (Bookworm)
L'installation d'Apache Guacamole peut vite devenir un enfer de dépendances (Java, Tomcat, extensions JDBC). Le passage par Docker simplifie tout, à condition de bien gérer la persistance des données et l'initialisation de la base PostgreSQL.
## 1. La Philosophie du Stack
Nous utilisons un trio de conteneurs isolés :
- **Guacamole Client** : L'interface Web (Java/Tomcat).
- **Guacd** : Le moteur natif (proxy RDP/SSH/VNC).
- **PostgreSQL** : Le cerveau (stockage des utilisateurs et connexions).
## 2. Préparation du terrain
On commence par structurer notre projet sur l'hôte :
```Bash
mkdir ~/guacamole-docker && cd ~/guacamole-docker
mkdir -p guacamole-home data init
```
## 3. Le Docker-Compose "Gagnant"
Le secret d'une installation qui ne casse pas lors des mises à jour réside dans l'utilisation d'un fichier `guacamole.properties` externe.
`nano docker-compose.yml`
```YAML
services:
# Moteur de protocoles
guacd:
image: guacamole/guacd
container_name: guacd
restart: always
# Base de données
postgres:
image: postgres:15
container_name: guac-postgres
restart: always
environment:
POSTGRES_DB: guacamole_db
POSTGRES_USER: guacamole_user
POSTGRES_PASSWORD: TonMotDePasseFort
volumes:
- ./data:/var/lib/postgresql/data
- ./init:/docker-entrypoint-initdb.d
# Interface Web
guacamole:
image: guacamole/guacamole
container_name: guacamole
restart: always
ports:
- "8080:8080"
environment:
GUACD_HOSTNAME: guacd
POSTGRESQL_HOSTNAME: postgres
POSTGRESQL_DATABASE: guacamole_db
POSTGRESQL_USER: guacamole_user
POSTGRESQL_PASSWORD: TonMotDePasseFort
volumes:
- ./guacamole-home/guacamole.properties:/etc/guacamole/guacamole.properties
depends_on:
- guacd
- postgres
```
## 4. Initialisation de la Base de Données
Cest l'étape où 90% des installations échouent. Il faut générer le schéma SQL officiel de Guacamole et le donner à manger à Postgres.
```Bash
# Générer le script SQL
docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh --postgresql > ./init/01_initdb.sql
# Lancer les conteneurs (Postgres va lire le dossier ./init)
docker-compose up -d
```
## 5. Configuration Fine (`guacamole.properties`)
Pour éviter que Java n'ignore vos variables d'environnement, créez ce fichier :
`nano guacamole-home/guacamole.properties`
```Properties
postgresql-hostname: postgres
postgresql-port: 5432
postgresql-database: guacamole_db
postgresql-username: guacamole_user
postgresql-password: TonMotDePasseFort
# Optionnel : priorité à la DB
extension-priority: postgresql
```
## 6. Le "Cheat Code" pour le premier accès
Si `guacadmin` / `guacadmin` vous renvoie un "Identifiant incorrect" (souvent dû à un souci de hachage lors de l'init), créez un admin de secours directement en SQL :
```Bash
docker exec -i guac-postgres psql -U guacamole_user -d guacamole_db -c "INSERT INTO guacamole_entity (name, type) VALUES ('admin_devops', 'USER');"
docker exec -i guac-postgres psql -U guacamole_user -d guacamole_db -c "INSERT INTO guacamole_user (entity_id, password_hash, password_salt, password_date) SELECT entity_id, decode('8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918', 'hex'), NULL, CURRENT_TIMESTAMP FROM guacamole_entity WHERE name = 'admin_devops';"
docker exec -i guac-postgres psql -U guacamole_user -d guacamole_db -c "INSERT INTO guacamole_system_permission (entity_id, permission) SELECT entity_id, permission::guacamole_system_permission_type FROM guacamole_entity, (VALUES ('CREATE_CONNECTION'), ('CREATE_USER'), ('ADMINISTER')) AS p (permission) WHERE name = 'admin_devops';"
```
_Identifiants : `admin_devops` / `admin`_
---
## 🛠 Tips de DevOps :
- **Logs** : Utilisez `docker logs -f guacamole` pour voir les extensions se charger. Vous devez voir `PostgreSQL Authentication loaded`.
- **Sécurité** : Une fois connecté, créez votre utilisateur final et **supprimez** les comptes par défaut ou de secours.
- **HTTPS** : Ne laissez jamais Guacamole en HTTP (8080). Posez un **Nginx Proxy Manager** ou un **Traefik** devant pour gérer le SSL.

View File

@@ -0,0 +1,42 @@
---
title: Convertir un fichier MKV en MP4
description: Remuxing d'un fichier mkv en mp4 sous linux avec ffmpeg.
tags:
- ffmpeg
- mp4
- mkv
date: 2026-03-11 17:59
lastmod: 2026-03-11 18:02
type:
- article
category:
- "[[Guide]]"
status: brouillon
---
# Convertir un fichier MKV en MP4
Un fichier vidéo est comme une boîte (le **conteneur** : MKV, MP4) qui contient des objets (les **flux** : vidéo H.264/H.265, audio AAC/MP3). Comme le MKV et le MP4 acceptent souvent les mêmes types de flux vidéo, on peut simplement "transvaser" le contenu de l'un vers l'autre sans rien transformer.
C'est ce qu'on appelle le **remuxing** (ou copie de flux). C'est instantané et il n'y a **aucune perte de qualité**.
Sous Linux Mint, l'outil roi est **FFmpeg**. S'il n'est pas installé : `sudo apt install ffmpeg`.
Pour changer le conteneur sans réencoder la vidéo ni l'audio, ouvrez un terminal dans votre dossier et tapez :
``ffmpeg -i entree.mkv -codec copy sortie.mp4``
- `-i entree.mkv` : votre fichier source.
- `-codec copy` : indique à FFmpeg de copier les flux tels quels sans les recalculer.
- `sortie.mp4` : le nouveau fichier.
Bien que le changement de conteneur suffise 90% du temps, voici deux cas où cela pourrait coincer :
1. **Le format audio :** Le MP4 est plus strict que le MKV. Si votre MKV contient de l'audio au format **FLAC** ou **Vorbis**, certains lecteurs MP4 ne l'aimeront pas. Il faudra alors convertir juste l'audio :
- `ffmpeg -i entree.mkv -c:v copy -c:a aac sortie.mp4` (On copie la vidéo, on convertit l'audio en AAC).
2. **Les sous-titres :** Le MKV gère très bien les sous-titres intégrés (ASS/SSA). Le MP4 est beaucoup plus limité. Ils risquent de disparaître lors d'un simple "copy".

0
mosquitto.md Normal file
View File