Faits :
A.
A._ se trouve en détention provisoire puis pour des motifs de sûreté depuis le 29 juin 2012 au sein de la prison de Champ-Dollon, dans le cadre d'une procédure pénale dirigée contre lui notamment pour tentative d'assassinat. Par arrêt du 16 octobre 2015, la Chambre d'appel de la Cour de justice du canton de Genève l'a condamné à une peine privative de liberté de neuf ans, sous déduction de 1206 jours de détention avant jugement. Il n'a pas été tenu compte dans la fixation de la peine d'éventuelles conditions dégradantes de détention durant la détention avant jugement. Un recours contre cet arrêt est pendant devant la Cour de droit pénal du Tribunal fédéral.
Le 22 juillet 2015, A._ a requis la constatation du caractère illicite des conditions de sa détention entre le 1 er mai 2013 et le 25 janvier 2015, soit 599 jours. Par ordonnance du 2 octobre 2015, le Tribunal des mesures de contrainte du canton de Genève (Tmc) a constaté que les conditions dans lesquelles s'était déroulée sa détention du 29 juin 2012 au 25 janvier 2015 avaient respecté les exigences légales, constitutionnelles et conventionnelles en la matière. Par arrêt du 1 er février 2016, la Chambre pénale de recours de la Cour de justice du canton de Genève (ci-après: la Cour de justice) a admis partiellement le recours de A._ contre l'ordonnance du 2 octobre 2015 et a constaté que sur une période de 190 nuits (entre le 1 er mai 2013 et le 25 janvier 2015) les conditions de détention n'avaient pas été conformes aux standards minimaux.
B.
Agissant par la voie du recours en matière pénale, A._ demande principalement au Tribunal fédéral d'annuler l'arrêt du 1 er février 2016 et de constater l'illicéité des conditions de détention pendant 599 jours. Il conclut subsidiairement au renvoi de la cause à l'instance précédente pour nouvelle décision au sens des considérants.
Invité à se déterminer, le Ministère public du canton de Genève s'en remet à justice tant s'agissant de la recevabilité du recours que de ses conclusions. La Cour de justice a précisé avoir commis une erreur manifeste dans le décompte des jours de détention illicite et a corrigé le dispositif de son arrêt, en ce sens que les conditions de détention n'ont pas respecté les exigences légales sur une période de 226 nuits (et non pas de 190). Pour le reste, elle conclut au rejet du recours. Le recourant a répliqué par courrier du 1 er avril 2016.
Considérant en droit :
1.
Selon l'art. 78 LTF, le recours en matière pénale est ouvert contre les décisions rendues en matière pénale, dont font partie les décisions relatives aux conditions de la détention provisoire ou pour des motifs de sûreté (arrêt 1B_369/2013 du 26 février 2014 consid. 1, non publié in ATF 140 I 125). La recevabilité du recours en matière pénale dépend notamment de l'existence d'un intérêt juridique actuel à l'annulation de la décision entreprise (art. 81 al. 1 let. b LTF). De cette manière, les tribunaux sont assurés de trancher uniquement des questions concrètes et non de prendre des décisions à caractère théorique, ce qui répond à un souci d'économie de procédure (ATF 136 I 274 consid. 1.3 p. 276).
En tant qu'il a vu rejetées partiellement ses conclusions en constatation du caractère irrégulier de sa détention, le recourant a intérêt à l'annulation de l'arrêt attaqué. Les autres conditions de recevabilité sont remplies, de sorte qu'il convient d'entrer en matière.
2.
Le recourant reproche à l'instance précédente d'avoir considéré que le fait de pouvoir sortir de la cellule quotidiennement pendant respectivement 3 heures 30, 4 heures 30 et 5 heures 30 atténuait le confinement au point de rendre licite un séjour de longue durée dans des cellules de moins de 4 m 2 de surface individuelle nette. Il se plaint d'une violation des art. 3 CEDH, 7 et 10 Cst. et 3 al. 1 CPP.
2.1. Le Tribunal fédéral a jugé qu'en cas de surpopulation carcérale telle que la connaît la prison de Champ-Dollon, l'occupation d'une cellule dite individuelle par trois détenus - chacun disposant d'un espace individuel de 4 m 2, restreint du mobilier, - est une condition de détention difficile; elle n'est cependant pas constitutive d'une violation de l'art. 3 CEDH et ne représente pas un traitement dégradant portant atteinte à la dignité humaine des prévenus.
En revanche, l'occupation d'une cellule dite triple par six détenus avec une surface individuelle inférieure à 3,83 m 2 - restreinte encore par le mobilier - peut constituer une violation de l'art. 3 CEDH si elle s'étend sur une longue période et si elle s'accompagne d'autres mauvaises conditions de détention. Il faut dès lors considérer la période pendant laquelle le recourant a été détenu dans les conditions incriminées. Une durée qui s'approche de trois mois consécutifs (délai que l'on retrouve en matière de contrôle périodique de la détention provisoire ou pour des motifs de sûreté; cf. art. 227 al. 7 CPP) apparaît comme la limite au-delà de laquelle les conditions de détention susmentionnées ne peuvent plus être tolérées. En effet, si les conditions de détention provisoire peuvent être plus restrictives lorsque les risques de fuite, de collusion et de récidive sont plus élevés, ou lorsque l'ordre et la sécurité dans la prison sont particulièrement mis en danger, cela ne vaut pas lorsque la durée de la détention provisoire est de l'ordre de trois mois. Ce délai ne peut cependant pas être compris comme un délai au sens strict du terme mais comme une durée indicative à prendre en compte dans le cadre de l'appréciation globale de toutes les conditions concrètes de détention. La durée très limitée des périodes que le recourant est autorisé à passer hors de la cellule aggrave encore la situation (une heure de promenade en plein air par jour) (ATF 140 I 125 consid. 3.6.3 p. 138 s.).
De brèves interruptions d'un à trois jours lors desquelles un détenu bénéficie d'un espace individuel plus grand ne sont pas de nature à interrompre le délai indicatif de trois mois au-delà duquel les conditions de détention ne sont plus tolérables et sont contraires à la dignité humaine. En revanche, il y a lieu d'évaluer des interruptions plus longues dans le cadre d'une appréciation globale qui tienne compte de toute la durée de la détention, de la durée précédant la période d'interruption et des autres conditions concrètes de détention (nombre journalier d'heures passées hors de la cellule; possibilité de travailler; visites; hygiène; installations sanitaires; régime alimentaire; éclairage; aération) (arrêts 1B_239/2015 du 29 septembre 2015 consid. 2.5.2; 1B_152/2015 du 29 septembre 2015 consid. 2.7.2).
S'agissant du nombre journalier d'heures passées en cellule, la possibilité de sortir de la cellule, entre 1 heure et 5 heures 45 par jour une semaine sur deux, ne suffit pas en soi, dans la situation telle que décrite précédemment de la prison de Champ-Dollon, à rendre ces conditions de détention conformes à l'art. 3 CEDH (arrêt 1B_239/2015 précité consid. 2.5.3).
2.2. En l'espèce, selon le rapport du Directeur de la prison, le prénommé a passé, du 1er mai 2013 au 25 janvier 2015 des séjours de différentes durée (49 nuits, 47 nuits, 5 nuits, 71 nuits, 30 nuits, 8 nuits, 71 nuits, 23 nuits, 109 nuits, 14 nuits, 38 nuits, 68 nuits et 66 nuits) dans des cellules d'une surface nette de 10,18 m2 hébergeant trois détenus, laissant à disposition de chacun d'entre eux un espace individuel net de 3,39 m2. Ces différentes périodes ont été entrecoupées de 13 séjours allant de 1 à 9 nuits consécutives, dans des cellules avec un espace individuel net allant de 5,09 à 12 m2, pour un total de 36 nuits.
2.3. La Cour de justice a d'abord retenu, à juste titre, que les 13 séjours dans des cellules plus grandes n'étaient pas suffisants pour interrompre le délai indicatif de trois mois au-delà duquel les conditions de détention n'étaient plus tolérables et étaient contraires à la dignité humaine. Elle a ainsi considéré qu'une période de 599 nuits était susceptible d'être considérée comme illicite (entre le 1 er mai 2013 et le 25 janvier 2015).
Elle a ensuite examiné si, en raison d'autres circonstances favorables (durée réduite d'enfermement), ces conditions de détention, bien que difficiles, échappaient à la définition du traitement dégradant. Elle a exposé que le recourant avait bénéficié de la prise de ses repas en commun hors de sa cellule (1 heure pour le repas de midi et 1 heure 30 pour le repas du soir) durant 185 jours consécutifs (du 1 er mai au 1 er novembre 2013) ainsi que durant 58 jours consécutifs (du 31 décembre 2013 au 26 février 2014). La Cour de justice a aussi pris en compte le fait que le recourant avait travaillé comme nettoyeur de tables à raison d'une heure par jour durant 23 jours consécutifs puis à nouveau durant 23 jours consécutifs; il avait en outre travaillé comme nettoyeur d'étage à raison de 4 heures 30 par jour durant 159 jours consécutifs.
L'instance précédente a considéré que le fait de passer au moins 3 heures 30 par jour hors de la cellule (2 heures 30 de repas et 1 heure de promenade), pendant 106, 86 et 57 jours consécutifs, réduisait de manière significative le confinement en cellule et permettait de considérer que la détention dans de telles conditions ne constituait pas un traitement dégradant. Il en allait a fortiori de même pour la période de 159 jours consécutifs durant laquelle le recourant avait travaillé comme nettoyeur d'étage à raison de 4 heures 30 par jour.
2.4. La question litigieuse est celle de savoir si la possibilité de sortir de sa cellule pendant 3 heures 30, 4 heures 30 et 5 heures 30 est un facteur qui permet d'améliorer suffisamment les conditions de détention au point de les rendre conformes à la dignité humaine.
Il y a lieu de procéder à l'appréciation globale des conditions de détention du recourant. Celui-ci a passé une période de 635 jours dans une cellule de moins de 4 m2 de surface individuelle nette, interrompue par 13 séjours (d'une à neuf nuits consécutives, pour un total de 36 jours) durant lesquels il a disposé d'un espace individuel net allant de 5,09 à 12 m2.
Compte tenu de la longueur de la période considérée (635 jours), la possibilité de sortir de la cellule, entre 3 heures 30 et 5 heures 30 par jour, est certes susceptible d'alléger les conditions de détention; cette seule circonstance ne suffit cependant pas en soi, dans la situation telle que décrite précédemment de la prison de Champ-Dollon, à rendre ces conditions de détention conformes à l'art. 3 CEDH. Un confinement en cellule respectivement de 20 heures 30, de 19 heures 30 et de 18 heures 30 sur 24 heures demeure une condition de détention difficile qui n'est pas propre à améliorer suffisamment les conditions décrites ci-dessus au point de les rendre licites.
2.5. Il s'ensuit que le recours doit être admis et l'arrêt attaqué annulé. Dans la constatation du nombre de jours pendant lesquels les conditions de détention ont été illicites, il faut cependant retrancher les jours durant lesquels les conditions de détention ont été conformes à la dignité humaine, soit durant 36 jours. Il y a donc lieu de constater que les conditions de détention du recourant n'ont pas été conformes aux standards minimaux pendant 599 jours (entre le 1 er mai 2013 et le 25 janvier 2015).
3.
Le recourant, qui obtient gain de cause avec l'assistance d'un avocat, a droit à des dépens, à la charge du canton de Genève (art. 68 al. 1 LTF). Dans ces conditions, sa demande d'assistance judiciaire pour la présente procédure est sans objet. Il n'y a pas lieu de percevoir des frais judiciaires (art. 66 al. 4 LTF).
Les frais et dépens de la procédure cantonale peuvent également être fixés dans le présent arrêt (art. 67 et 68 al. 5 LTF). Les dépens sont ainsi arrêtés de manière globale pour les procédures cantonale et fédérale, et les frais judiciaires de l'instance cantonale sont laissés à la charge du canton de Genève.
Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est admis. L'arrêt du 1 er février 2016 de la Cour de justice du canton de Genève est annulé et l'ordonnance du Tmc du 2 octobre 2015 est réformée, en ce sens qu'il est constaté que les conditions dans lesquelles s'est déroulée la détention provisoire et pour des motifs de sûreté du recourant ont été illicites pendant 599 jours (entre le 1 er mai 2013 et le 25 janvier 2015).
2.
Il n'est pas perçu de frais judiciaires.
3.
Une indemnité de dépens globale de 3'000 francs est allouée au mandataire du recourant, pour les procédures fédérale et cantonale, à la charge du canton de Genève. La demande d'assistance judiciaire pour la procédure fédérale est sans objet.
4.
Le présent arrêt est communiqué au mandataire du recourant, au Ministère public du canton de Genève et à la Cour de justice du Genève, Chambre pénale de recours.
Lausanne, le 27 juillet 2016
Au nom de la Ire Cour de droit public
du Tribunal fédéral suisse
Le Juge présidant : Eusebio
La Greffière : Tornay Schaller