Citation: 6B_104/2018 E. 5

Il résulte de ce qui précède que le recours doit être partiellement admis (cf. consid. 4 supra), l'arrêt attaqué annulé et la cause renvoyée à l'autorité cantonale pour nouvelle décision. Pour le reste, le recours doit être rejeté dans la mesure où il est recevable. Le recourant, qui n'obtient que partiellement gain de cause, supporte une partie des frais judiciaires (art. 66 al. 1 LTF). Il peut prétendre à des dépens réduits, à la charge du canton de Genève (art. 68 al. 1 LTF). Dès lors que l'admission partielle du recours porte sur un point purement procédural, sans que le Tribunal fédéral ne traite la cause au fond, il peut être procédé au renvoi sans ordonner préalablement un échange d'écritures (cf. ATF 133 IV 293 consid. 3.4.2 p. 296). Par ces motifs, le Tribunal fédéral prononce :