De 1968 à 1972, il étudie le cinéma en Belgique. Il est assistant-réalisateur sur le tournage du Larron de
Pasquale Festa Campanile en 1979. Il passe cinq années en prison pour ses convictions politiques. En 1986, son premier long métrage, L'Homme de cendres, histoire d'un jeune homme qui se rappelle les traumatismes de son enfance peu avant son mariage, est sélectionné au Festival de Cannes. Son film suivant,
Les Sabots en or, l'est également en 1988.
Bezness, à travers le portrait d'un homme joué par
Abdellatif Kechiche, traite de la prostitution masculine.
En plus de ses propres films, il participe à l'écriture des dialogues d'Halfaouine, l'enfant des terrasses et Un été à La Goulette de Férid Boughedir, Le Sultan de la médina de Moncef Dhouib mais également
Les Silences du palais et La saison des hommes de Moufida Tlatli.