Sortie de domaine (demandee) : - Bouton « Quitter le domaine » et commande CLI `leave`, via Remove-Computer sous Windows et realm leave sous Linux. - Nettoyage optionnel des paquets sous Linux. packagekit est exclu de la liste : il sert aussi au gestionnaire de logiciels du bureau. - Le champ « Nom de la machine » passe en lecture seule : il ne peut pas etre modifie depuis cette fenetre. Corrections tirees de la sortie PowerShell rapportee : - Les barres de progression etaient serialisees en CLIXML et polluaient le journal ; les accents arrivaient illisibles (console OEM lue en cp1252). Progression desactivee, console en UTF-8, CLIXML residuel filtre. - Le marqueur interne JOIN_FAILURE: n'apparait plus dans le message affiche. Diagnostic : - Ajout du SRV `_ldap._tcp.dc._msdcs`, celui que DsGetDcName utilise pour localiser un DC. Son absence donne exactement l'erreur rencontree, et le diagnostic ne le verifiait pas. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
80 lines
4.6 KiB
Markdown
80 lines
4.6 KiB
Markdown
# Changelog
|
|
|
|
## [Non publié]
|
|
|
|
### Added
|
|
- Bouton « Quitter le domaine » dans l'interface et commande `leave` en ligne de
|
|
commande. Sous Windows via `Remove-Computer` (le poste rejoint le groupe de
|
|
travail WORKGROUP), sous Linux via `realm leave`.
|
|
- Option de nettoyage à la sortie du domaine sous Linux (case à cocher, ou
|
|
`--remove-packages`) : désinstalle `realmd`, `sssd`, `adcli` et
|
|
`samba-common-bin`. `packagekit` est délibérément conservé — il est installé
|
|
comme prérequis mais sert aussi au gestionnaire de logiciels du bureau.
|
|
- Vérification de l'enregistrement SRV `_ldap._tcp.dc._msdcs`, celui que Windows
|
|
interroge (DsGetDcName) pour localiser un contrôleur lors d'une jointure. Son
|
|
absence provoque « Le domaine spécifié n'existe pas ou n'a pas pu être
|
|
contacté » alors même que le domaine résout et que les DC répondent au ping :
|
|
le diagnostic ne pouvait pas le signaler.
|
|
|
|
### Changed
|
|
- Le champ « Nom de la machine » est désormais affiché en lecture seule : il ne
|
|
peut pas être modifié depuis cette fenêtre (sous Linux `realm join` reprend le
|
|
nom d'hôte système, sous Windows le renommage relève des paramètres système).
|
|
Une infobulle indique la commande à utiliser selon la plateforme.
|
|
|
|
### Fixed
|
|
- La sortie de PowerShell était polluée par la sérialisation `#< CLIXML` de ses
|
|
barres de progression, et les accents des messages d'erreur arrivaient
|
|
illisibles (console en codepage OEM lue comme du cp1252). Les indicateurs de
|
|
progression sont désactivés, la console bascule en UTF-8, et les fragments
|
|
CLIXML résiduels sont filtrés.
|
|
- Le marqueur interne `JOIN_FAILURE:` n'est plus affiché en préfixe du message
|
|
d'erreur montré à l'utilisateur.
|
|
|
|
## [0.1.4] - 2026-09-08
|
|
|
|
### Fixed
|
|
- La jointure de domaine sous Windows échouait sans aucun message, avec un code
|
|
retour 0. Le script PowerShell était transmis sur l'entrée standard de
|
|
`powershell -Command -`, qui analyse stdin ligne par ligne : le bloc
|
|
`try`/`catch` final, dépourvu de saut de ligne terminal, restait en attente
|
|
dans le parseur et n'était jamais exécuté. PowerShell rendait donc la main
|
|
sans avoir tenté la jointure. Le script est désormais transmis d'un bloc via
|
|
`-EncodedCommand`.
|
|
- En l'absence de marqueur de succès comme d'échec, le message d'erreur se
|
|
réduisait à « code retour 0 », impossible à diagnostiquer. La sortie brute de
|
|
PowerShell est maintenant reportée à l'utilisateur (le mot de passe ne
|
|
transitant que par l'environnement, il n'y apparaît jamais).
|
|
|
|
## [0.1.3] - 2026-09-08
|
|
|
|
### Fixed
|
|
- Le binaire Windows produit sous Wine ne démarrait pas (« could not initialize
|
|
Qt platform plugin "windows" ») : le hook PySide6 de PyInstaller importe
|
|
QtCore pour localiser les plugins Qt, or Qt 6.10+ lie `Qt6Core.dll` à l'ICU
|
|
de Windows (`icuuc.dll`), absent de Wine. L'import échouait et aucun plugin
|
|
n'était embarqué. La compilation Windows épingle désormais `PySide6<6.10` et
|
|
vérifie explicitement l'import de PySide6 puis la présence de `qwindows.dll`.
|
|
|
|
### Added
|
|
- `Makefile` avec aide auto-documentée par catégories (`make help`).
|
|
- `packaging/build_windows_wine.sh` : production du `.exe` Windows depuis Linux.
|
|
- `README.md`.
|
|
- `make publish` : pousse branche et tags vers tous les dépôts Gitea configurés.
|
|
|
|
## [0.1.2] - 2026-09-04
|
|
|
|
### Changed
|
|
- Recompilation du binaire Linux (aucun changement fonctionnel depuis la 0.1.1).
|
|
|
|
## [0.1.1] - 2026-09-04
|
|
|
|
### Added
|
|
- Diagnostic réseau complet pour la jointure Active Directory : résolution DNS, enregistrements SRV (LDAP/Kerberos), ping des contrôleurs de domaine, test des ports AD (53/88/389/445/464/636/3268), synchronisation NTP, présence des outils requis.
|
|
- Jointure de domaine via `realmd` sous Linux et PowerShell `Add-Computer` sous Windows, avec bascule automatique de backend selon la plateforme.
|
|
- Installation automatique des prérequis Linux manquants (`apt-get install realmd sssd adcli samba-common-bin packagekit`), déclenchable en un clic ou via la CLI.
|
|
- Interface graphique PySide6 avec trois onglets : Diagnostic réseau, Rejoindre le domaine, À propos.
|
|
- Interface en ligne de commande (`diagnose`, `join`, `install-prereqs`) fonctionnant sans dépendance à PySide6, avec sortie colorée (détection tty, `NO_COLOR`/`FORCE_COLOR`).
|
|
- Scripts de packaging PyInstaller pour produire des binaires autonomes Linux et Windows (`packaging/build_linux.sh`, `packaging/build_windows.bat`).
|
|
- Mot de passe jamais transmis en argument de ligne de commande (toujours via stdin ou variable d'environnement du sous-processus) pour ne pas apparaître dans la liste des processus.
|