Citation: 6B_20/2016 E. 5

Il résulte de ce qui précède que le recours doit être partiellement admis, le jugement attaqué annulé et la cause renvoyée à l'autorité cantonale pour nouvelle décision. Il doit être rejeté pour le surplus. Le recourant a requis l'assistance judiciaire. Dans la mesure où il obtient partiellement gain de cause, il ne sera pas perçu de frais (art. 66 al. 1 et 4 LTF) et le recourant obtiendra des dépens réduits de la part du canton de Vaud (art. 68 al. 1 LTF). La requête d'assistance judiciaire est pour cette partie de la procédure sans objet. Le recours était pour le surplus dénué de chance de succès, si bien que l'assistance judiciaire doit être refusée pour le reste (art. 64 al. 1 LTF). Une partie des frais sera ainsi supportée par le recourant, dont le montant sera toutefois fixé en tenant compte de sa situation financière (art. 65 al. 2 et art. 66 al. 1 LTF). Par ces motifs, le Tribunal fédéral prononce :