Citation: 6B_1367/2017 E. 3

Il s'ensuit que le recours doit être partiellement admis et la cause renvoyée à l'autorité précédente pour nouvelle décision. Pour le surplus, le recours est rejeté dans la mesure de sa recevabilité. Le recourant a requis l'assistance judiciaire. Il peut prétendre à une indemnité de dépens réduite relativement à l'admission partielle de son recours (art. 68 al. 1 LTF) à la charge du canton de Genève, ce qui rend sa demande d'assistance judiciaire sans objet dans cette mesure. Le recours était, pour le surplus, dénué de chances de succès, si bien que l'assistance judiciaire doit être refusée (art. 64 al. 1 et 2 LTF). Le recourant supporte des frais réduits en raison de l'issue de la procédure et de sa situation financière (art. 65 al. 2 et 66 al. 1 LTF). Par ces motifs, le Tribunal fédéral prononce :