Reunit en un seul outil les fonctions utiles de MobaXterm, Termius et Bitvise, sans compte ni service tiers, avec toutes les donnees en local. - Terminaux multi-onglets : sessions SSH et terminaux Windows locaux (PowerShell / cmd) via la pseudo-console native ConPTY - Gestionnaire de fichiers SFTP facon WinSCP : double panneau, colonnes triables, glisser-deposer, renommage, permissions, file de transferts. Ouvrable sur une connexion en cours sans creer de favori - Gestion des cles SSH : generation Ed25519/RSA, import, export - Gestion du fichier known_hosts, avec remplacement guide d'une cle d'hote modifiee (cas frequent des serveurs en DHCP) - Trois themes (clair, bleu nuit, noir), commutables a chaud - Authentification automatique reprenant le comportement de la commande ssh (agent SSH et cles ~/.ssh), mot de passe demande seulement en secours Aucun mot de passe n'est stocke sur le disque. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
35 lines
1.1 KiB
Python
35 lines
1.1 KiB
Python
"""Genere resources/app.ico a partir de l'icone dessinee par l'application.
|
|
|
|
A relancer seulement si l'icone change : le fichier .ico est necessaire au
|
|
raccourci Windows (et a un futur packaging), alors que l'application dessine
|
|
la sienne en memoire au demarrage.
|
|
|
|
Usage : venv\\Scripts\\python.exe tools\\make_icon.py
|
|
"""
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
ROOT = Path(__file__).resolve().parent.parent
|
|
sys.path.insert(0, str(ROOT))
|
|
|
|
from PySide6.QtCore import QSize # noqa: E402
|
|
from PySide6.QtGui import QIcon # noqa: E402
|
|
from PySide6.QtWidgets import QApplication # noqa: E402
|
|
|
|
from app.theme import build_app_icon # noqa: E402
|
|
|
|
|
|
def main() -> None:
|
|
app = QApplication(sys.argv) # noqa: F841 - requis pour manipuler des QPixmap
|
|
icon: QIcon = build_app_icon()
|
|
target = ROOT / "resources" / "app.ico"
|
|
# plusieurs tailles pour un rendu net dans la barre des taches et l'explorateur
|
|
pixmap = icon.pixmap(QSize(256, 256))
|
|
if not pixmap.save(str(target), "ICO"):
|
|
raise SystemExit(f"Echec de l'ecriture de {target}")
|
|
print(f"Icone generee : {target}")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|