Faits :
A.
A._, ressortissant marocain né en 1990, fait l'objet d'une instruction pénale pour diverses infractions commises entre février 2011 et le 24 juillet 2016 (notamment violence ou menace contre les autorités et les fonctionnaires; deux brigandages, subsidiairement extorsions; menaces et injures; divers vols et dommages à la propriété; agression; lésions corporelles, mise en danger de la vie d'autrui et menaces). Dans le cadre de l'instruction, il a notamment subi une période de détention provisoire de plusieurs mois en 2012 et a été libéré moyennant des mesures de substitution; l'intéressé a par ailleurs été soumis à une expertise psychiatrique (cf. rapport d'expertise du 23 décembre 2015).
Il ressort du casier judiciaire suisse de l'intéressé qu'il a été condamné le 28 avril 2010 pour vol, escroquerie et délit contre la LStup (peine pécuniaire de 45 jours-amende assortie du sursis), le 16 septembre 2010 pour violence ou menace contre les fonctionnaires, agression et contravention à la LStup (travail d'intérêt général [TIG] de 40 heures et amende de 100 fr.), le 3 mai 2011 pour lésions corporelles simples, abus de confiance, vol et contravention à la LStup (TIG de 300 heures et amende de 300 fr.), le 26 décembre 2011 pour vol et dommages à la propriété (peine privative de liberté de 60 jours), le 28 février 2015 pour dommage à la propriété et opposition aux actes de l'autorité (TIG de 240 heures), le 7 mai 2015 pour vol, dommages à la propriété et contravention à la LStup (peine privative de liberté de 60 jours et amende de 100 fr.)
B.
Appréhendé le 24 juillet 2015, A._ a été placé en détention provisoire pour avoir, au cours d'une dispute survenue le jour de son arrestation, saisi son ex-compagne B._ par la gorge à deux reprises, l'avoir blessée à l'oreille et au genou à l'aide d'une fourchette (cf. blessures constatées par certificat médical) et l'avoir menacée de mort à deux reprises. Sa détention a régulièrement été prolongée.
Le 17 juin 2016, la mise en liberté du prévenu a été ordonnée et, le 21 juin 2016, le Tribunal des mesures de contrainte (Tmc) a enjoint au concerné de se sou mettre à diverses mesures de substitution (notamment interdiction de s'approcher de B._ à moins de 50 mètres; interdiction de consommer de l'alcool, du cannabis et d'autres toxiques; obligation de suivre un traitement pour ses addictions auprès de la Fondation du Levant et de se soumettre aux règles, traitement et contrôle prescrits). Après avoir purgé des écrous, le prévenu a été remis en liberté le 15 août 2016 et admis à la Fondation du Levant le 23 août 2016.
Par ordonnance du 10 novembre 2016, le Tmc a, à la demande du Ministère public, révoqué les mesures de substitution prononcées le 21 juin 2016 et placé le prévenu en détention provisoire. Sur recours du prévenu, la Chambre pénale de recours de la Cour de justice a, par arrêt du 29 novembre 2016, confirmé le placement de l'intéressé en détention provisoire. L'intéressé avait violé à diverses reprises les mesures de substitution ordonnées; celles-ci n'étaient pas de nature à pallier le risque de récidive présenté par l'intéressé.
C.
Par acte du 9 décembre 2016, A._ forme un recours en matière pénale par lequel il demande au Tribunal fédéral d'annuler l'arrêt cantonal et d'ordonner sa mise en liberté, moyennant les mesures de substitutions ordonnées par le Tmc le 21 juin 2016 ainsi que la mise en place d'un suivi psychothérapeutique.
La Chambre pénale de recours se réfère aux considérants de son arrêt, sans observations. Le Ministère public conclut au rejet du recours aux termes de ses observations. Dans ses dernières déterminations, le recourant persiste dans ses conclusions.
Considérant en droit :
1.
Le recours en matière pénale (art. 78 al. 1 LTF) est ouvert contre une décision relative à la détention provisoire au sens des art. 212 ss CPP. Selon l'art. 81 al. 1 let. a et let. b ch. 1 LTF, le prévenu a qualité pour agir. Pour le surplus, le recours est formé en temps utile (art. 100 al. 1 LTF) contre une décision rendue en dernière instance cantonale (art. 80 LTF) et les conclusions présentées sont recevables au regard de l'art. 107 al. 2 LTF. Il y a donc lieu d'entrer en matière.
2.
Le recourant fait grief à l'instance précédente d'avoir révoqué les mesures de substitution prononcées le 21 juin 2016 et ordonné sa mise en détention provisoire en violation des art. 221 et 237 CPP.
2.1. Conformément au principe de la proportionnalité (art. 36 al. 3 Cst.), il convient d'examiner les possibilités de mettre en oeuvre d'autres solutions moins dommageables que la détention (règle de la nécessité). Cette exigence est concrétisée par l'art. 237 al. 1 CPP, qui prévoit que le tribunal compétent ordonne une ou plusieurs mesures moins sévères en lieu et place de la détention provisoire ou de la détention pour des motifs de sûreté si ces mesures permettent d'atteindre le même but que la détention.
Conformément à l'art. 237 al. 5 CPP, le tribunal peut en tout temps révoquer les mesures de substitution, en ordonner d'autres ou prononcer la détention provisoire ou la détention pour des motifs de sûreté si des faits nouveaux l'exigent ou si le prévenu ne respecte pas les obligations qui lui ont été imposées. Le tribunal compétent dispose dans ce cadre d'un large pouvoir d'appréciation, comme cela ressort de la formulation potestative de l'art. 237 al. 5 CPP (cf. également Alexis Schmocker, Commentaire romand CPP, 2011, n. 16 a d art. 237 CPP).
2.2. En l'espèce, la Cour de justice a confirmé le bien-fondé de la mise en détention provisoire. Elle a tout d'abord constaté que le recourant n'avait pas respecté les mesures de substitution ordonnées en juin 2016. Sur les 61 jours comptabilisés par la Fondation du Levant, le recourant s'était permis 22 jours de sorties non autorisées durant lesquelles il avait eu des contacts répétés avec son ex-compagne et consommé des stupéfiants, malgré la mise en garde du Ministère public. L'instance précédente a par ailleurs relevé qu'en 2012, le recourant avait déjà été incapable d'exécuter régulièrement le TIG auquel il avait été soumis à titre de mesure de substitution à la détention provisoire, alors même qu'il avait été averti d'une possible réincarcération. Aux yeux de l'instance précédente, les mesures ordonnées en juin 2016 ne permettaient pas de pallier de manière efficace le risque de réitération présenté par le recourant. Celui-ci avait d'ailleurs déjà concrétisé ce risque dans le cadre de cette procédure puisqu'à chaque fois qu'il avait été remis en liberté, avec ou sans mesure de substitution, il avait commis de nouvelles infractions, qui plus est graves s'agissant notamment de brigandage, lésions corporelles et mise en danger de la vie d'autrui. Elle a estimé que le recourant n'avait pris d'aucune manière la mesure ni de ses actes, ni des obligations qui lui étaient imposées ni des conséquences des violations des mesures, n'hésitant pas à considérer le centre du Levant comme un hôtel, à consommer du cannabis avec ses copains et à fréquenter régulièrement sa copine.
Le recourant conteste cette appréciation. Il se prévaut du fait que le sentiment de frustration et d'irritabilité qui l'a amené à consommer à nouveau des toxiques et à commettre certaines infractions aurait disparu dès lors qu'il ne vivrait plus avec la mère de son fils et qu'il aurait entrepris un traitement à la Fondation du Levant. Par ailleurs, il fait également valoir que son traitement de 3 mois auprès de cette fondation se serait révélé positif puisqu'il n'aurait plus consommé d'alcool et de produit stupéfiant, ni commis de nouvelles infractions, hormis quelques consommations épisodiques de cannabis. Il relève en outre que les congés injustifiés auraient tous été annoncés à l'avance à la fondation, qu'il serait toujours resté en contact avec ses référents de cette institution et que ses rencontres avec son ex-compagne auraient uniquement eu pour but de lui permettre de voir son fils.
Les motifs invoqués par le recourant ne permettent toutefois pas de remettre en cause l'appréciation de l'instance précédente. Au vu des précédentes condamnations du recourant - notamment pour des actes de violence - et des nombreuses infractions qui lui sont reprochées dans la présente procédure pénale, le risque de récidive apparaît important. L'expert psychiatre a d'ailleurs confirmé en février 2016 que, compte tenu de la personnalité de l'intéressé, il existait un risque qu'il commette de nouvelles infractions. Dans son recours, le prévenu conteste certes les infractions qui lui sont reprochées en 2015 (vols; brigandage et extorsion et chantage; lésions corporelles, mise en danger de la vie d'autrui et menaces); il admet toutefois avoir consommé à plusieurs reprises du cannabis lors de ses sorties non autorisées. Or cet élément n'est pas négligeable, l'expert ayant retenu que les précédentes infractions avaient précisément été commises sous l'influence de l'alcool et/ou du cannabis. Il apparaît en l'occurrence que les mesures de substitution ordonnées en juin 2016 ne déploient pas les effets escomptés, le recourant étant incapable de les respecter. Au vu de ces éléments, l'instance précédente pouvait à juste titre considérer que lesdites mesures, tout comme le suivi psychothérapeutique que le recourant souhaitait suivre auprès de la Fondation du Levant, n'étaient pas aptes à pallier le risque de récidive. Le fait qu'il n'aurait pas commis de nouvelles infractions - hormis sa consommation de drogue - depuis sa libération en août 2016 n'est pas susceptible de modifier cette appréciation. L'instance précédente n'a donc pas violé le droit fédéral en confirmant la révocation des mesures de substitution ordonnées en juin 2016.
3.
Il s'ensuit que le recours doit être rejeté. Dès lors que le recourant est dans le besoin et que ses conclusions n'étaient pas d'emblée vouées à l'échec, l'assistance judiciaire doit lui être accordée (art. 64 al. 1 LTF). Il y a lieu de désigner Me Gabriel Sémah en qualité d'avocat d'office et de fixer ses honoraires, qui seront supportés par la caisse du Tribunal fédéral (art. 64 al. 2 LTF). Le recourant est en outre dispensé des frais judiciaires (art. 64 al. 1 LTF).
Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté.
2.
La demande d'assistance judiciaire est admise. Me Gabriele Sémah est désigné comme défenseur d'office du recourant et une indemnité de 1'500 fr. lui est allouée à titre d'honoraires, à payer par la caisse du Tribunal fédéral. Il n'est pas perçu de frais judiciaires.
3.
Le présent arrêt est communiqué au mandataire du recourant, au Ministère public de la République et canton de Genève et à la Cour de justice de la République et canton de Genève, Chambre pénale de recours.
Lausanne, le 16 janvier 2017
Au nom de la Ire Cour de droit public
du Tribunal fédéral suisse
Le Président : Merkli
La Greffière : Arn