Citation: 7B_1008/2023 E. 3

Il s'ensuit que le recours doit être partiellement admis dans la mesure où il est recevable. L'arrêt attaqué sera annulé en tant qu'il considère qu'il n'existe pas de mesures de substitution à la détention avant jugement et la cause sera renvoyée à l'autorité précédente pour qu'elle procède au sens des considérants et rende une nouvelle décision, y compris sur les frais et indemnités, en tenant compte des exigences de célérité découlant de l'art. 5 al. 2 CPP. Pour le surplus, le recours doit être rejeté. Le recourant, qui obtient partiellement gain de cause avec l'assistance d'un mandataire professionnel, a droit à des dépens à la charge du canton de Genève (cf. art. 68 al. 1 LTF); vu l'admission du recours sur un point essentiel, il n'y a pas lieu de réduire cette indemnité. Pour ce même motif, il ne sera pas perçu de frais judiciaires (art. 66 al. 4 LTF). La requête d'assistance judiciaire doit dès lors être déclarée sans objet. Par ces motifs, le Tribunal fédéral prononce :