Thanks Simos for the explanations 
A little bit of context :
I had problems with multiples project : āincus exportā only exports vms it can āaccessā on a per project basis⦠it would then be necessary to switch to a specific project to backup a vm on that specific project.
Not a big deal, as it can be easyly done in a cron job, by first issuing a command like :
incus project switch my-awesome-project
BUT, when running multiples backup jobs, for differents projects, if one starts before another has completed, it would change the current project for the user used to cron-backup, and stop a backup job, partially done, while starting another on another project. One can use differents users, to backup differents projects, as projects are used to separate management, it could also be used for backup, not a big deal. But it needs to maintain twice amount of accounts, one for managing a project, and another to backup it, with sched pass changes⦠a bit of a hassle.
We first thought about delegating backup to āProjects Ownersā (department head), and realized that not all of them had the foresight to handle it, so we went to a central backup solution for incus clusters.
So, the need for a sctipt, that would backup, every instances of every project was needed.
Inspired by Candlerb suggested code, came to this 
#!/bin/bash
#1st : define the date as a variable
bkpdate="$(date "+%Y%m%d")"
#2nd : switch to default, and list incus projects, "-c n" just the name please "-f csv" no table
incus project switch default
incus project list -c n -f csv |
#3rd : read the output, and for each line (each project name) do "incus project switch <project-name>"
while read -r project
do
incus project switch $project
sleep 2
#4th : in the current project, list instances, "-c n" just the name please, "-f csv" no table please.
incus list -c n -f csv |
#5th : read the instances list, and for each 'instance name' run the following command : incus export...
while read -r instance
do
#6th : export instance, to a tar.gz file, it can be /absolute/path/$instance.tar.gz, and accepts options, such as --instance-only (to avoid snapshots from backup) or --optimized-storage
incus export $instance $instance.$bkpdate.bkp.tar.gz --instance-only #--optimized-storage
#7 : When it's done, switch to the next project, and export every instances in it.. and so on, till all line are read, and script exits.
done
done
I was thinking about writing a little āhowto backupā your incus instances, but, my use cases are probably not āthe use caseā 
(actually running a bunch of āsmall stretch clustersā for educational needs, so export is an easy way to achieve data backup, then Borg to manage retention policy and store encrypted backups offsite⦠REAR used for metal recovery, and bareOS for file-level backup across hosts (including incus datasā¦), far from āstate of the artā, but actually fully open-source, functionnal, and incus-based
Instances are used for students projects, so itās easyer to backup it as a wholeā¦)
If some would like to tell how their backups run, or how they would like them to run⦠in an ideal world, it could be cool, to share about this subject 