Citation: 1B_668/2021 E. 5

Il s'ensuit que le recours est rejeté. Le recourant a demandé l'assistance judiciaire (art. 64 al. 1 LTF). Les conditions y relatives paraissant réunies, il y a lieu d'admettre cette requête et de désigner Me Laura Emonet en tant qu'avocate d'office pour la procédure fédérale et de lui allouer une indemnité à titre d'honoraires, qui seront supportés par la caisse du tribunal. Il n'est pas perçu de frais judiciaires (art. 66 al. 4 et 64 al. 1 LTF), ni alloué de dépens (art. 68 al. 3 LTF). Par ces motifs, le Tribunal fédéral prononce :