﻿{"id":14843,"date":"2025-08-04T10:00:00","date_gmt":"2025-08-04T08:00:00","guid":{"rendered":"https:\/\/www.sigterritoires.fr\/?p=14843"},"modified":"2025-07-26T11:58:02","modified_gmt":"2025-07-26T09:58:02","slug":"work-or-train-independently-create-a-portable-qgis-environment","status":"publish","type":"post","link":"https:\/\/www.sigterritoires.fr\/index.php\/en\/work-or-train-independently-create-a-portable-qgis-environment\/","title":{"rendered":"Work or train independently: create a portable QGIS environment"},"content":{"rendered":"\n<p>In our previous articles, we saw how to structure an efficient working environment in QGIS using bookmarks, template projects, the Layer Menu from Project plugin, and PyQGIS scripts.<\/p>\n\n\n\n<p>Today, we are taking an essential step forward: making this environment portable so that it can be used offline, on the move, in training, or in the field.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-light-blue ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Contenu <\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/en\/work-or-train-independently-create-a-portable-qgis-environment\/#Why_a_portable_environment\" >Why a portable environment?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/en\/work-or-train-independently-create-a-portable-qgis-environment\/#What_a_portable_QGIS_environment_contains\" >What a portable QGIS environment contains<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/en\/work-or-train-independently-create-a-portable-qgis-environment\/#Step_1_Create_a_well-structured_root_folder\" >Step 1: Create a well-structured root folder<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/en\/work-or-train-independently-create-a-portable-qgis-environment\/#Step_2_Test_the_environment_from_another_computer\" >Step 2: Test the environment from another computer<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/en\/work-or-train-independently-create-a-portable-qgis-environment\/#Option_embed_QGIS_itself_portable_Windows_version\" >Option: embed QGIS itself (portable Windows version)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/en\/work-or-train-independently-create-a-portable-qgis-environment\/#Option_synchronize_via_Nextcloud_or_Git\" >Option: synchronize via Nextcloud or Git<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/en\/work-or-train-independently-create-a-portable-qgis-environment\/#Bonus_a_user-friendly_startup_interface\" >Bonus: a user-friendly startup interface<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/en\/work-or-train-independently-create-a-portable-qgis-environment\/#In_summary\" >In summary<\/a><\/li><\/ul><\/nav><\/div>\n\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Why_a_portable_environment\"><\/span>Why a portable environment?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Work from any computer without installing anything<\/li>\n\n\n\n<li>Conduct on-site QGIS training, even without an internet connection<\/li>\n\n\n\n<li>Share a complete QGIS configuration with a colleague or partner<\/li>\n\n\n\n<li>Always have the right tools, data, styles, and templates at your fingertips<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"What_a_portable_QGIS_environment_contains\"><\/span>What a portable QGIS environment contains<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>A clearly organized directory that can be copied to a USB key, external drive, or synchronized folder (e.g., Nextcloud, Dropbox, Git):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>QGIS_Portable\/\n\u251c\u2500\u2500 QGIS_Portable_Windows\/        \u2190 portable version of QGIS (optional)\n\u251c\u2500\u2500 Data\/                         \u2190 SHP, GeoJSON, <a href=\"https:\/\/www.sigterritoires.fr\/index.php\/en\/geopackage-format-and-qgis-3\/\">GeoPackage<\/a> layers, etc.\n\u251c\u2500\u2500 Styles_QML\/                   \u2190 custom styles\n\u251c\u2500\u2500 Template_projects\/            \u2190 reference QGIS .qgz projects\n\u251c\u2500\u2500 Dynamic_layers\/               \u2190 source projects for Layer Menu\n\u251c\u2500\u2500 PyQGIS_scripts\/               \u2190 utility or automation scripts\n\u251c\u2500\u2500 Files\/                        \u2190 tutorials, PDFs, documentation\n\u2514\u2500\u2500 Start.html                    \u2190 home page or user guide\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Step_1_Create_a_well-structured_root_folder\"><\/span>Step 1: Create a well-structured root folder<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Create a QGIS_Portable\/ folder containing:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>your data: preferably in GeoPackage format (avoids .shp dependencies)<\/li>\n\n\n\n<li>your .qml files associated with styles (named like the layers)<\/li>\n\n\n\n<li>your model projects saved with relative paths<\/li>\n\n\n\n<li>your scripts: .py format, commented and tested<\/li>\n\n\n\n<li>a README.md file or HTML page with startup instructions<\/li>\n<\/ul>\n\n\n\n<p>Tip: use relative paths in your projects (Preferences &gt; Options &gt; General &gt; Store relative paths)<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Step_2_Test_the_environment_from_another_computer\"><\/span>Step 2: Test the environment from another computer<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Copy your QGIS_Portable\/ folder to a USB stick or external drive<\/li>\n\n\n\n<li>Plug it into another computer (without a connection if possible)<\/li>\n\n\n\n<li>Open a .qgz project from the Projects_template\/ folder<\/li>\n\n\n\n<li>Check that all layers are displayed, styles are loaded, and scripts are working<\/li>\n<\/ul>\n\n\n\n<p>If there is a problem: open the Data Sources tab to correct broken paths.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Option_embed_QGIS_itself_portable_Windows_version\"><\/span>Option: embed QGIS itself (portable Windows version)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Download the portable version of QGIS for Windows: portable version 3.44<\/li>\n\n\n\n<li>Extract everything into QGIS 3.44.0\/<\/li>\n\n\n\n<li>Add a shortcut QGIS 3.44.0\/launch_qgis_portable.bat to your home page<\/li>\n\n\n\n<li>Double-click: QGIS starts without installation or admin rights<\/li>\n<\/ul>\n\n\n\n<p>Ideal for classroom training without administrator rights.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Option_synchronize_via_Nextcloud_or_Git\"><\/span>Option: synchronize via Nextcloud or Git<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>If you are working in a team:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Create a shared Nextcloud folder: GIS\/Environment_QGIS\/<\/li>\n\n\n\n<li>Or a Git repository (if you know how) with scripts, templates, and documentation.<\/li>\n\n\n\n<li>This way, everyone can work from the same base, wherever they are.<\/li>\n<\/ul>\n\n\n\n<p>Remember to version your .qgz projects and .qml styles to avoid loss or conflicts.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Bonus_a_user-friendly_startup_interface\"><\/span>Bonus: a user-friendly startup interface<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Add a Startup.html or dashboard.html file with:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A summary of available projects<\/li>\n\n\n\n<li>Links to PDF files<\/li>\n\n\n\n<li>A button to launch QGIS (Windows only)<\/li>\n\n\n\n<li>A mini welcome map (if you include Leaflet or MapLibre)<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"In_summary\"><\/span>In summary<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Element<\/th><th>Purpose<\/th><\/tr><\/thead><tbody><tr><td>Local data<\/td><td>Work offline<\/td><\/tr><tr><td>Styles + template projects<\/td><td>Consistency and time savings<\/td><\/tr><tr><td>Scripts + plugin Layer Menu<\/td><td>Modularity and automation<\/td><\/tr><tr><td>Portable QGIS<\/td><td>Total nomadism (optional)<\/td><\/tr><tr><td>Synchronization<\/td><td>Collaborative work<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In our previous articles, we saw how to structure an efficient working environment in QGIS using bookmarks, template projects, the Layer Menu from Project plugin, and PyQGIS scripts. Today, we are taking an essential step forward:&hellip;<\/p>\n","protected":false},"author":1,"featured_media":14842,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"give_campaign_id":0,"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"sfsi_plus_gutenberg_text_before_share":"","sfsi_plus_gutenberg_show_text_before_share":"","sfsi_plus_gutenberg_icon_type":"","sfsi_plus_gutenberg_icon_alignemt":"","sfsi_plus_gutenburg_max_per_row":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1377],"tags":[3524,2273,1386],"class_list":["post-14843","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-qgis-en","tag-environment","tag-portable","tag-qgis-en"],"aioseo_notices":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2025\/07\/qgis3-44-environnement.jpg?fit=1920%2C1080&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/p6XU0A-3Rp","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/posts\/14843","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/comments?post=14843"}],"version-history":[{"count":0,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/posts\/14843\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/media\/14842"}],"wp:attachment":[{"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/media?parent=14843"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/categories?post=14843"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/tags?post=14843"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}