Citation: 1B_7/2020 E. 7

Sur le vu de ce qui précède, le recours (dans une large mesure appellatoire et à la limite de la témérité) est rejeté. Le recourant a demandé l'assistance judiciaire et les conditions posées à l'art. 64 al. 1 LTF sont réunies. Me Kathrin Gruber est désignée comme avocate d'office et il lui est alloué une indemnité à titre d'honoraires, qui sera fixée forfaitairement et supportée par la caisse du Tribunal fédéral. Il n'est pas perçu de frais judiciaires (art. 64 al. 1 et 2 LTF). Par ces motifs, le Tribunal fédéral prononce :