Citation: 1B_108/2018 E. 5

Il s'ensuit que le recours est admis partiellement et l'arrêt attaqué est annulé dans la mesure où des mesures de substitution à la détention sont refusées. Pour le surplus, l'arrêt est confirmé. La cause est renvoyée à l'autorité précédente pour nouvelle décision dans le sens des considérants. Le canton de Vaud versera une indemnité de dépens au recourant, qui obtient partiellement gain de cause avec l'assistance d'avocats (art. 68 al. 1 LTF). Sa requête d'assistance est ainsi partiellement sans objet et, pour le surplus, doit être admise, dès lors que les conditions posées à l'art. 64 al. 1 LTF sont réunies. Il y a lieu de désigner Me Tiphanie Chappuis 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). Par ces motifs, le Tribunal fédéral prononce :