Citation: 1B_114/2010 28.06.2010 E. 5

Il s'ensuit que le recours doit être partiellement admis et le chiffre III du dispositif de l'arrêt attaqué annulé. La cause est renvoyée au Tribunal cantonal pour nouvelle décision dans le sens des considérants. Dans ces conditions, il y a lieu de renoncer à percevoir des frais judiciaires (art. 66 al. 1 et 4 LTF). Le recourant, qui obtient partiellement gain de cause avec l'assistance d'un avocat, a droit à des dépens réduits, à la charge de l'Etat de Vaud (art. 68 al. 1 LTF). Pour la part de son recours qui est rejetée, l'assistance judiciaire doit lui être accordée (art. 64 al. 1 LTF). Il y a lieu de désigner Me Fabien Mingard, avocat à Lausanne, en qualité de défenseur d'office et de fixer ses honoraires, qui seront supportés par la caisse du Tribunal fédéral (art. 64 al. 2 LTF). Par ces motifs, le Tribunal fédéral prononce: