Std Gestionnaire des extensions

From FreeCAD Documentation
Revision as of 21:35, 10 January 2023 by David69 (talk | contribs) (Created page with "===Utilisation de la ligne de commande (sans interface utilisateur) ==")

Std Gestionnaire des extensions

Emplacement du menu
Outils → Gestionnaire des extensions
Ateliers
Tous
Raccourci par défaut
Aucun
Introduit dans la version
0.17
Voir aussi
Ateliers externes, Macros

Description

La commande Std Gestionnaire des extensions ouvre le gestionnaire des extensions. Avec le gestionnaire des extensions, vous pouvez installer et gérer des ateliers externes, des macros et des kits de préférence fournis par la communauté FreeCAD. Par défaut, les extensions disponibles proviennent de deux dépôts, FreeCAD-addons et de la page Liste des macros. Si GitPython et git sont installés sur votre système, des macros supplémentaires seront chargées depuis FreeCAD-macros. Des dépôts personnalisés peuvent être ajoutés dans les Préférences du gestionnaire des extensions.

En raison des modifications apportées à la plateforme GitHub en 2020, le gestionnaire des extensions ne fonctionne plus si vous utilisez la version 0.17 ou antérieure de FreeCAD. Vous devez passer à la version 0.18.5 ou ultérieure. Alternativement, vous pouvez installer les extensions manuellement, voir Remarques ci-dessous.

Utilisation

  1. Sélectionnez l'option Outils → Gestionnaire des extensions dans le menu.
  2. Si vous utilisez le gestionnaire des extensions pour la première fois, une boîte de dialogue s'ouvre pour vous avertir que les extensions du gestionnaire des extensions ne font pas officiellement partie de FreeCAD. Elle présente également plusieurs options relatives à l'utilisation des données du gestionnaire des extensions. Réglez ces options à votre convenance et appuyez sur le bouton OK pour confirmer et continuer.
  3. La boîte de dialogue du gestionnaire des extensions s'ouvre. Pour plus d'informations, voir Options.
  4. Si vous avez installé ou mis à jour un atelier, une nouvelle boîte de dialogue s'ouvre pour vous informer que vous devez redémarrer FreeCAD pour que les modifications soient prises en compte.

Options

  1. Le gestionnaire des extensions propose deux modèles d'affichage : "Condensé" et "Développé". Dans la vue "condensée", chaque extension occupe une seule ligne, et sa description est tronquée pour s'adapter à l'espace disponible. La vue "développée" affiche des détails supplémentaires, davantage de texte de la description ainsi que des informations sur le mainteneur, plus de détails sur l'installation, etc.
  2. Trois différents types d'extensions sont pris en charge : des ateliers, des macros, et des kits de préférences. Vous pouvez choisir d'afficher un seul type ou tous les types dans une seule liste.
  3. La liste peut être limitée pour n'afficher que les paquets installés, que les paquets avec des mises à jour disponibles, ou que les paquets qui ne sont pas encore installés.
  4. La liste peut être filtrée, en recherchant un mot clé dans le titre, la description et les balises (la description et les balises doivent être spécifiées par le développeur de l'extension dans les métadonnées de l'extension). Le filtre peut même être une expression régulière, pour un contrôle plus fin du terme de recherche exact.
  5. La vue développée affiche les informations sur la version disponible, la description, les informations sur le responsable et les informations sur la version d'installation, pour les paquets qui fournissent un fichier de métadonnées du package (ou pour les macros avec métadonnées intégrées).
  6. Les données des extensions sont mises en cache localement, avec une fréquence de mise à jour du cache variable définie dans les préférences de l'utilisateur.
  7. À tout moment, vous pouvez choisir de mettre à jour manuellement votre cache local pour voir les dernières mises à jour disponibles pour chaque extension.
  8. Les vérifications des mises à jour peuvent être configurées pour être automatiques, ou effectuées manuellement par un clic sur un bouton (configuré dans les préférences de l'utilisateur). Si GitPython et git sont installés sur votre système, les informations de mise à jour sont récupérées à l'aide de git. Sinon, les informations de mise à jour sont obtenues à partir de tout fichier de métadonnées présent.

Si vous cliquez sur une extension dans cette vue, la page des détails de l'extension s'affiche :

La page de détails présente des boutons permettant d'installer, de désinstaller, de mettre à jour et de désactiver temporairement une extensions. Pour les extensions installées, elle indique la version installée en cours et la date d'installation, et précise s'il s'agit de la version la plus récente disponible. Une fenêtre de navigateur Web intégrée affiche la page README de l'extension (pour les environnements de travail et les kits de préférences) ou la page Wiki (pour les macros).

Préférences

Les préférences du gestionnaire des extensions se trouvent dans Réglage des préférences. introduit dans la version 0.20

Remarques

  • L'utilisation des extensions n'est pas limitée à la version FreeCAD à partir de laquelle ils ont été installés. Vous pourrez également les utiliser dans n'importe quelle autre version de FreeCAD, prise en charge par l'extension, que vous pourriez avoir sur votre système.
  • Les extensions disponibles dans le gestionnaire des extensions ne font pas partie du programme officiel FreeCAD et ne sont pas pris en charge par l'équipe de développement principale de FreeCAD. Vous devez lire attentivement les informations fournies pour vous assurer que vous savez ce que vous installez.
  • Les rapports de bogues et les demandes de fonctionnalités doivent être adressés directement au créateur de l'extension en visitant le site Web indiqué. De nombreux développeurs d'extensions sont des utilisateurs réguliers du forum de FreeCAD et peuvent également y être contactés.
  • Si le paquet GitPython est installé sur votre ordinateur, le gestionnaire des extensions l'utilisera, ce qui accélérera les téléchargements.
  • Vous pouvez également installer des extensions manuellement. Voir Comment installer des ateliers supplémentaires et Comment installer des macros.

Informations pour les développeurs d'extensions

Voir Extension

Script

introduit dans la version 1.0

Certaines fonctionnalités du gestionnaire des extensions sont conçues pour être accessibles via l'API Python de FreeCAD. En particulier, une extension peut être installée, mise à jour et supprimée via l'interface Python. La plupart des utilisations de cette API nécessitent de créer un objet avec au moins trois attributs : name, branch et url. Par exemple :

class MyAddonClass:
    def __init__(self):
        self.name = "TestAddon"
        self.url = "https://github.com/Me/MyTestAddon"
        self.branch = "main"
my_addon = MyAddonClass()

Votre objet my_addon est maintenant prêt à être utilisé avec l'API du gestionnaire des extensions.

=Utilisation de la ligne de commande (sans interface utilisateur)

If your code needs to install or update an addon synchronously (e.g. without a GUI) the code can be very simple:

from addonmanager_installer import AddonInstaller
installer = AddonInstaller(my_addon)
installer.run()

Note that this code blocks until complete, so you shouldn't run it on the main GUI thread. To the Addon manager, "install" and "update" are the same call: if this addon is already installed, and git is available, it will be updated via "git pull". If it is not installed, or was installed via a non-git installation method, it is downloaded from scratch (using git if available).

To uninstall, use:

from addonmanager_uninstaller import AddonUninstaller
uninstaller = AddonUninstaller(my_addon)
uninstaller.run()

GUI use

If you plan on your code running in a GUI, or supporting running in the full version of FreeCAD, it's best to run your installation in a separate non-GUI thread, so the GUI remains responsive. To do this, first check to see if the GUI is running, and if it is, spawn a QThread (don't try to spawn a QThread if the GUI is not up: they require an active event loop to function).

from PySide import QtCore
from addonmanager_installer import AddonInstaller

worker_thread = QtCore.QThread()
installer = AddonInstaller(my_addon)
installer.moveToThread(worker_thread)
installer.success.connect(installation_succeeded)
installer.failure.connect(installation_failed)
installer.finished.connect(worker_thread.quit)
worker_thread.started.connect(installer.run)
worker_thread.start() # Returns immediately

Then define the functions installation_succeeded and installation_failed to be run in each case. For uninstallation you can use the same technique, though it is usually much faster and will not block the GUI for very long, so in general it's safe to use the uninstaller directly, as shown above.