AppImage

From FreeCAD Documentation
Revision as of 10:35, 17 November 2019 by David69 (talk | contribs) (Created page with "Remarques: * Les noms de fichiers seront uniques car les informations de version y sont incorporées. Les instructions ci-dessus sont simplifiées pour plus de commodité. * E...")
Depuis le 7 juillet 2019, la communauté FreeCAD observe que le téléchargement d'AppImages à partir de Github semble s'arrêter avant la fin du téléchargement. Nous ne savons pas pourquoi cela se produit. Si cela se produit pour vous, essayez de télécharger à nouveau. Il se pourrait que vous fassiez plusieurs essais. Une pratique recommandée consiste à utiliser la fonctionnalité de mise à jour automatique AppImage fonction de mise à jour automatique, qui restaurera le téléchargement à partir de l'endroit où il a échoué.

Qu'est qu'AppImage ?

"En tant qu'utilisateur, je veux télécharger une application chez son développeur et l'utiliser sur mon système Linux comme je le ferais avec une application Windows ou macOS."

AppImage est un "paquet binaire universel" destiné à distribuer une application quelque soit la distribution Linux. Pour en savoir plus à ce sujet sur le Appimage homepage et AppImage sur wikipedia

Pour les autres types d'installation, voir Téléchargements.

FreeCAD AppImages

Version stable

La version stable actuelle est la suivante: FreeCAD_0.20.2.29603 (SHA256)

Version en cours de développement

La version de développement actuelle est la suivante: FreeCAD_28810 (SHA256)

Remarques importantes:

  • Le développement se fait quotidiennement et rapidement, le lien de mise à jour d'AppImage est une cible en mouvement.
  • Le lien de développement ci-dessus devrait être à jour car il est mis à jour via un script.
  • De nombreux utilisateurs du forum utilisent la version de développement.
  • Il peut être exécuté sur le même système en parallèle avec une autre version de FreeCAD.
  • Les utilisateurs utilisent la version en cours de développement pour tirer parti des dernières fonctionnalités et corrections de bugs (FreeCAD ayant un cycle de publication long). Ils l'utilisent également pour tester et trouver des bugs susceptibles d'améliorer le développement de FreeCAD.

Mot de mise en garde obligatoire

Pour l'essentiel, la version de développement est stable mais il est bien sûr important d'ajouter la déclaration obligatoire pour pouvoir l'utiliser à vos risques et périls. Bien que la plupart des gens qui utilisent des sauvegardes et «sauvegardent souvent» s'en sortent plutôt bien.

Mise à jour automatique

AppImage dispose d'un moyen intelligent et économique de mise à jour. Il calcule la différence entre la nouvelle AppImage et l'ancienne et ne téléchargera que les modifications entre leurs versions. En théorie, l'utilisateur ne téléchargera qu'environ 15% à la fois par rapport à une AppImage entièrement nouvelle.

La mise à jour est effectuée via l'application AppImageUpdate. Il existe deux méthodes, via l'interface graphique (GUI) et la ligne de commande (CLI).

Méthode graphique 1

Ceci est l'application officielle de l'interface graphique AppImageUpdate.

  1. Télécharger AppImageUpdate-x86_64.AppImage.
  2. Rendez-le exécutable en faisant un clic droit sur le fichier en allant dans les propriétés et "Exécuter en tant qu'exécutable".
  3. Double-cliquez sur l'icône AppImage. Une boîte de dialogue apparaîtra et vous serez invité à spécifier quelle AppImage vous souhaitez mettre à jour.
  4. Spécifiez le chemin d'accès à votre AppImage existante.
  5. Une fois que AppImage est mis à jour, appuyez sur le bouton Run updated AppImage.

Méthode graphique 2

Il s'agit d'une version non officielle de l'AppImageUpdate nommée: AppImageUpdater. Elle est encore en développement (au moment de l'édition de ce wiki) mais néanmoins très agréable à utiliser.

  1. Télécharger AppImageUpdater-*-x86_64.AppImage
  2. Le rendre exécutable:
    chmod +x AppImageUpdater*-x86_64.AppImage
    
  3. Exécutez-le:
    source AppImageUpdater*-x86_64.AppImage
    
  4. Trouvez votre FreeCAD AppImage actuelle et faites-la glisser sur AppImageUpdater

Résultat: suivez les invites AppImageUpdater.

Ligne de commande

Exécutez les instructions suivantes dans votre terminal:

wget https://github.com/AppImage/AppImageUpdate/releases/download/continuous/appimageupdatetool-x86_64.AppImage
chmod +x ./appimageupdatetool-x86_64.AppImage
./appimageupdatetool.AppImage path/to/old/FreeCAD.AppImage
chmod +x path/to/updated/FreeCAD.AppImage
./path/to/updated/FreeCAD.AppImage

Remarques:

  • Les noms de fichiers seront uniques car les informations de version y sont incorporées. Les instructions ci-dessus sont simplifiées pour plus de commodité.
  • Exécutez ./appimageupdatetool-x86_64.AppImage --help pour en savoir plus sur les fonctionnalités telles que -r and --self-update.
  • Il existe également une version i386. Voir la page Version d'AppImageUpdate.

Todo: share a script that can be added as an alias or cron job.

Unpacking AppImages

Note: this section is intended for developers.

A very convenient aspect of FreeCAD is that a majority of it is built in Python, which doesn't need to be manually compiled like C++. Essentially, a Python file can be modified, and upon restarting FreeCAD those changes will be integrated into the application. A developer can quickly work on the latest FreeCAD release using this technique and an AppImage. Moreover, using an AppImage doesn't modify your system's environment in any way, that is, nothing is installed and no environmental variables are modified.

Modifying AppImages

An AppImage embeds a file system in it with everything that is required to run the application. In order to modify it, the file system needs to be extracted.

FreeCAD.AppImage --appimage-extract
cd squashfs-root/

Now open the required Python source files in your preferred code editor, modify them, and save them. Then run the application.

./AppRun

Repackaging AppImages

If you've modified the code, and now want to re-package the AppImage with your latest changes, use the appimagetool-x86_64 tool on the extracted file system.

cd ..
wget "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage"
chmod +x appimagetool-x86_64.AppImage
./appimagetool-x86_64.AppImage squashfs-root