Faits :
A.
A._ s'est annoncé à l'assurance-invalidité le 22 janvier 1996, invoquant souffrir d'une hernie discale qui l'empêchait d'exercer son activité de maçon-paysagiste depuis le 23 août précédent. L'instruction de la demande a donné lieu, notamment, à un arrêt de renvoi du Tribunal fédéral des assurances (I 314/04 du 11 juillet 2005). En novembre 2005, une coaxthrose droite a été décelée.
Dans un rapport du 18 janvier 2011, le docteur B._, spécialiste en médecine interne et rhumatologie, médecin au SMR, a posé les diagnostics suivants avec répercussion durable sur la capacité de travail: gonarthrose gauche, lombosciatalgies et cervicobrachialgies gauches, status après prothèse totale de la hanche droite pour coxarthrose, status après probable accident ischémique transitoire, ostéoporose. Selon le docteur B._, l'assuré a présenté une incapacité totale de travail dans l'activité de maçon-paysagiste depuis décembre 1995. En revanche, dans une activité strictement adaptée aux limitations fonctionnelles requises pour la pathologie ostéoarticulaire, la capacité de travail était de 90 % de février 1996 à octobre 2005, de 60 % de novembre 2005 à avril 2006, de 0 % de mai 2006 à avril 2007 et de 100 % avec une diminution de rendement de 20 % dès mai 2007. Une incapacité totale existait à nouveau dans une activité adaptée du 1 er au 13 octobre 2010, puis de 50 % jusqu'au 22 novembre 2010, suivie d'une incapacité totale jusqu'au 13 décembre 2010. A compter du 14 décembre 2010, la capacité était à nouveau totale avec une baisse de rendement de 20 % dans une activité adaptée.
Dans un projet de décision du 16 juin 2011, l'Office de l'assurance-invalidité pour le canton de Vaud (l'office AI) a fait savoir à l'assuré qu'il envisageait de lui allouer un quart de rente d'invalidité du 1 er mai au 31 juillet 2006, puis une rente entière du 1 er août 2006 au 31 juillet 2007, la rente étant supprimée à cette date-là. Le revenu d'invalide a été fixé sur la base des statistiques ressortant de l'Enquête sur la structure des salaires, auquel l'office AI a appliqué un abattement de 10 %. Le revenu sans invalidité, arrêté sur la base de l'ancienne activité de maçon, a également été indexé. Pour la situation prévalant en 1996 (capacité de travail de 90 %), l'office AI a tenu compte d'un revenu sans invalidité de 58'455 fr. et d'un revenu d'invalide de 43'720 fr. 22 (soit un degré d'invalidité arrondi à 25 %); pour l'année 2005 (fixation d'un nouveau droit à la suite d'une aggravation de l'état de santé depuis novembre 2005, sur la base d'une capacité de travail de 60 %), le revenu sans invalidité a été fixé à 61'668 fr. et le revenu d'invalide à 31'228 fr. 64 (aboutissant à un taux d'invalidité arrondi à 49 %), alors que pour l'année 2006 (capacité de travail de 80 %), l'office AI a retenu un gain sans invalidité de 63'129 fr. 50 et un revenu d'invalide de 43'304 fr. 02 (taux d'invalidité arrondi à 31 %).
Par lettre du 30 septembre 2011, l'assuré a formulé des objections à l'encontre de ce projet. L'office AI a néanmoins confirmé son point de vue, par écriture du 30 mars 2012, indiquant à l'assuré qu'il allait recevoir prochainement une décision identique audit projet, dès lors que ses objections du 30 septembre 2011 n'apportaient aucun élément susceptible de modifier sa position. Le 9 mai 2012, l'assuré a informé l'office AI qu'il allait subir une intervention chirurgicale au genou dans le courant du mois d'août 2012.
Par décision du 9 juillet 2012, l'office AI a alloué un quart de rente d'invalidité pour les mois de mai à juillet 2006, ainsi qu'une rente entière pour la période courant d'août 2006 à juillet 2007.
B.
Contestant les revenus pris en compte dans la comparaison, A._ a déféré cette décision au Tribunal cantonal du canton de Vaud, Cour des assurances sociales, en concluant en substance à sa réforme en ce sens qu'une demi-rente lui fût versée de mai à juillet 2006, ainsi qu'un quart de rente au moins à partir du 1 er août 2007, en sus de la rente entière d'août 2006 à juillet 2007 (non contestée); subsidiairement, il a conclu au renvoi de la cause à l'office AI pour instruction complémentaire. Il a également reproché à l'office AI d'avoir statué sur la base d'un dossier médical insuffisamment actualisé, dès lors que l'opération annoncée le 9 mai 2012, qui est intervenue en août 2012, a été occultée.
Par jugement du 25 septembre 2014, la juridiction cantonale a rejeté le recours.
C.
A._ interjette un recours en matière de droit public ainsi qu'un recours constitutionnel subsidiaire contre ce jugement dont il demande l'annulation ainsi que celle de la décision du 9 juillet 2012. Il conclut à l'octroi d'une demi-rente d'invalidité dès le 1 er mai 2006, d'une rente entière du 1 er août 2006 au 31 juillet 2007, d'un quart de rente au moins dès le 1 er août 2007, ainsi qu'à la reconnaissance de son droit à des mesures d'ordre professionnel, en particulier de reclassement; il demande le renvoi de la cause pour instruction complémentaire. Par ailleurs, il sollicite le bénéfice de l'assistance judiciaire limitée aux frais de justice.
L'intimé conclut au rejet du recours. L'Office fédéral des assurances sociales a renoncé à se déterminer.

Considérant en droit :
1.
La décision attaquée ayant été rendue dans une cause de droit public (<ref-law>) et dans une matière - le droit fédéral des assurances sociales - où aucune des clauses d'exception de l'<ref-law> ne s'applique, la voie du recours en matière de droit public est ouverte. Partant, le recours constitutionnel subsidiaire interjeté par le recourant est irrecevable.
2.
Le recours en matière de droit public (<ref-law>) peut être formé pour violation du droit au sens des art. 95 et 96 LTF. Le Tribunal fédéral applique le droit d'office (<ref-law>), sans être limité par les arguments de la partie recourante ou par la motivation de l'autorité précédente. Le Tribunal fédéral n'examine en principe que les griefs invoqués, compte tenu de l'exigence de motivation prévue à l'<ref-law>, et ne peut aller au-delà des conclusions des parties (<ref-law>). Il fonde son raisonnement sur les faits retenus par la juridiction de première instance (<ref-law>) sauf s'ils ont été établis de façon manifestement inexacte ou en violation du droit au sens de l'<ref-law>, auquel cas il peut les rectifier ou les compléter d'office (<ref-law>). La partie recourante qui entend s'écarter des faits constatés doit expliquer de manière circonstanciée en quoi les conditions de l'<ref-law> sont réalisées, sinon un état de fait divergent ne peut être pris en considération.
3.
Le litige porte sur le taux de la rente d'invalidité à laquelle le recourant a droit à partir du 1 er mai 2006, en particulier sur les revenus d'invalide et sans invalidité qui entrent en ligne de compte, ainsi que sur le droit à des mesures professionnelles. L'exigibilité d'une activité adaptée, à teneur des constatations du tribunal cantonal (consid. 5b p. 29 du jugement attaqué) qui se fondent sur le rapport du docteur B._ du 18 janvier 2011, n'est pas contestée.
Les premiers juges ont exposé correctement les règles applicables à la solution du litige, singulièrement celles qui se rapportent à l'octroi d'une rente temporaire et à la révision d'une rente en cours valables pour l'allocation à titre rétroactif d'une rente échelonnée dans le temps, si bien qu'il suffit de renvoyer au jugement entrepris.
4.
4.1. Devant la juridiction cantonale, le recourant avait reproché à l'intimé d'avoir omis de tenir compte de sa lettre du 9 mai 2012, par laquelle il annonçait qu'il allait subir une intervention chirurgicale dans le courant du mois d'août 2012. Les premiers juges ont écarté le moyen en considérant que cette annonce était intervenue postérieurement à la "décision" de l'intimé du 30 mars 2012, bien que formellement la décision de la caisse de compensation (recte: de l'office AI) fût datée du 9 juillet 2012. En outre, les juges cantonaux ont relevé que le recourant n'avait produit aucun document permettant d'étayer une éventuelle incapacité de travail liée à l'état du genou.
4.2. Le recourant reproche aux premiers juges d'avoir écarté ce grief, en ayant admis à tort que les faits annoncés ne seraient pas déterminants pour le sort du litige. Il se prévaut d'une violation de la maxime d'office ainsi que d'une violation de son droit d'être entendu et de bénéficier d'une procédure équitable, alléguant qu'il était légitimé à penser que la question de l'aggravation de l'état de santé annoncée le 9 mai 2012 ferait l'objet d'une instruction.
4.3. De jurisprudence constante, le juge des assurances sociales apprécie la légalité de la décision administrative d'après l'état de fait existant au moment où elle a été rendue (<ref-ruling> consid. 2.1 p. 243, 121 V 362 consid. 1b p. 366). En l'occurrence, la date déterminante est celle du 9 juillet 2012, jour où l'office intimé a statué, les observations de l'administration du 30 mars 2012 qui reprennent le projet du 16 juin 2011 ne constituant pas une décision sujette à recours.
4.4. La procédure dans le secteur des assurances sociales suisses est régie par le principe inquisitoire d'après lequel les faits pertinents de la cause doivent être constatés d'office par l'assureur (cf. <ref-law>) ou, éventuellement, par le juge (cf. art. 61 let. c LPGA). Ce principe n'est cependant pas absolu. Sa portée est restreinte par le devoir des parties de collaborer à l'instruction de l'affaire. Celui-ci comprend en particulier l'obligation des parties d'apporter, dans la mesure où cela peut être raisonnablement exigé d'elles, les preuves commandées par la nature du litige et des faits invoqués, faute de quoi elles risquent de devoir supporter les conséquences de l'absence de preuves (voir art. 28 al. 2 et 31 al. 1 LPGA; <ref-ruling> consid. 5.2 p 185, 138 V 218 consid. 6 p. 221 et les références). Dans ce contexte, il ne suffit pas de prétendre qu'un assuré souffre d'une affection présentant un caractère dégénératif pour justifier la mise en oeuvre régulière par l'administration de mesures d'instruction visant à vérifier son évolution. Encore faut-il apporter des éléments susceptibles de rendre vraisemblable que l'état de santé de l'assuré s'est effectivement modifié jusqu'au moment déterminant de la décision litigieuse.
La lettre du 9 mai 2012 constituait une simple information relative à une opération prévue pour le mois d'août suivant. Elle ne contenait aucune indication quant à une éventuelle aggravation de l'état de santé ou à une modification de la capacité de travail. Il s'ensuit que l'intimé et le tribunal cantonal n'avaient pas à tenir compte d'un élément qui en l'état ne constituait pas un indice d'une aggravation, mais demeurait un simple allégué (jugement, p. 35, consid. 6f in fine). Dans la mesure où l'opération intervenue en août 2012 aurait entraîné depuis lors une péjoration de l'état de santé ou une diminution de la capacité de travail, il aurait incombé au recourant de déposer une nouvelle demande de prestations. Il n'y a dès lors pas lieu de donner suite à sa conclusion tendant au renvoi du dossier à l'office AI pour nouvelle décision sur ce point.
5.
La décision administrative du 9 juillet 2012 portait sur le droit du recourant à une rente. Devant la juridiction cantonale de recours, le recourant avait pris des conclusions très vagues en demandant de "constater le droit aux prestations". Il n'avait cependant ni abordé ni motivé le droit à un reclassement, son recours cantonal ne pouvant être interprété comme une demande en ce sens. C'est donc à juste titre que les premiers juges n'ont pas examiné ce point, d'autant moins que le recourant avait fait savoir à l'intimé, par lettre du 22 septembre 2011, qu'il renonçait à une aide au placement.
Il s'ensuit que la conclusion portant sur la prise en charge de mesures professionnelles est nouvelle et par conséquent irrecevable (<ref-law>).
6.
6.1. La juridiction cantonale a légèrement modifié les revenus sans invalidité que l'intimé avait pris en compte, en les portant respectivement à 60'076 fr. 95 (1996), 66'609 fr. 45 (2005) et 68'487 fr. 30 (2006) après adaptation à l'évolution des salaires nominaux. Elle a confirmé les revenus d'invalide respectifs de 43'720 fr. 22 (1996), 31'228 fr. 64 (2005) et 43'304 fr. 02 (2006). Le degré d'invalidité a été arrêté à 27 % au lieu de 25 %, lequel restait insuffisant pour ouvrir droit à la rente dès 1996. Dans le cadre de la révision consécutive à l'aggravation de l'état de santé survenue en novembre 2005, la comparaison a donné un taux d'invalidité de 53 %; l'incapacité moyenne de 40 % au moins durant une année en mai 2006, en relation avec le taux précédent de 27 %, a ouvert le droit au quart de rente dès le mois de mai 2006, avec passage à la rente entière du 1 er août 2006 au 31 juillet 2007. Au-delà du 31 juillet 2007, le droit à la rente ne pouvait être maintenu compte tenu du taux d'invalidité de 37 %.
6.2. Le recourant conteste les revenus sans invalidité que les premiers juges ont pris en considération pour évaluer son degré d'invalidité. Singulièrement, il soutient que la juridiction cantonale a fait à tort abstraction du fait qu'il avait moins travaillé durant certains mois en raison des conditions atmosphériques; il lui reproche de s'être fondée sur le décompte des heures accomplies et des salaires bruts perçus. Le recourant observe qu'il était engagé sur une base contractuelle de 45 heures hebdomadaires et qu'en cas d'horaire réduit, il était expressément spécifié que les raisons en étaient les conditions atmosphériques. Il en déduit que le jugement attaqué procède d'une mauvaise application de l'arrêt I 97/05 du 13 avril 2006.
6.3. On ne saurait toutefois déduire de l'arrêt I 97/05 que des indemnités pour intempéries devraient être prises en compte lorsqu'elles ne sont pas versées.
En l'espèce, le recourant n'allègue pas avoir reçu de telles indemnités et il ne ressort pas du questionnaire pour l'employeur qu'une telle prestation aurait été versée en raison d'un horaire réduit dû aux conditions atmosphériques. Au regard du décompte établi par l'employeur, on constate que le recourant a été payé en fonction des heures effectivement accomplies, selon un horaire variable qui ne correspondait pas aux 45 heures hebdomadaires annoncées comme "horaire de travail normal" de l'entreprise. On ne saurait donc prendre en compte un salaire horaire de 45 heures par semaine, comme il le voudrait, puisqu'il n'a pas été payé en fonction d'un tel horaire, mais des heures de travail effectivement accomplies. Or si l'on se réfère au nombre d'heures travaillées par année en moyenne par les paysagistes, soit 2'200 heures (ou 42,2 heures par semaine), selon les indications faites par l'intimé en cours de procédure (réponse du 24 janvier 2013) - supérieur aux 1'944 heures de travail accomplies par le recourant en 1994-, un salaire de 25 fr. de l'heure, tel qu'indiqué par l'ancien employeur pour 1996, représenterait un revenu annuel de 59'385 fr. 95 (y compris un treizième salaire; [25 x 42,2 x 4,33 x 13] pour 1996). Un tel revenu sans invalidité serait inférieur au montant retenu par la juridiction cantonale (60'076 fr. 95), de sorte qu'il n'y a pas lieu de s'écarter de ce dernier, ni de la comparaison des revenus effectuée par les premiers juges.
7.
7.1. Le recourant conteste également les revenus d'invalide, en faisant grief à l'intimé et aux premiers juges de n'avoir tenu compte que d'un abattement de 10 % sur les salaires statistiques.
7.2. Alors que le point de savoir s'il y a lieu de procéder à un abattement sur le salaire statistique en raison de circonstances particulières (liées au handicap de la personne ou d'autres facteurs) est une question de droit qui peut être examinée librement par le Tribunal fédéral, l'étendue de l'abattement du salaire statistique dans un cas concret constitue une question relevant du pouvoir d'appréciation, qui est soumise à l'examen du juge de dernière instance uniquement si la juridiction cantonale a exercé son pouvoir d'appréciation de manière contraire au droit, soit a commis un excès positif ("Ermessensüberschreitung") ou négatif ("Ermessensunterschreitung") de son pouvoir d'appréciation ou a abusé ("Ermessensmissbrauch") de celui-ci.
Il y a abus du pouvoir d'appréciation lorsque l'autorité, tout en restant dans les limites du pouvoir d'appréciation qui est le sien, se fonde sur des considérations qui manquent de pertinence et sont étrangères au but visé par les dispositions légales applicables, ou viole des principes généraux du droit tels que l'interdiction de l'arbitraire et de l'inégalité de traitement, le principe de la bonne foi et le principe de la proportionnalité. Commet un excès positif de son pouvoir d'appréciation, l'autorité qui exerce son appréciation alors que la loi l'exclut, ou qui, au lieu de choisir entre les deux solutions possibles, en adopte une troisième. Il y a également excès du pouvoir d'appréciation dans le cas où l'excès de pouvoir est négatif, soit lorsque l'autorité considère qu'elle est liée, alors que la loi l'autorise à statuer selon son appréciation, ou qu'elle renonce d'emblée en tout ou partie à exercer son pouvoir d'appréciation (<ref-ruling> consid. 5.1 p. 72 et les références).
Compte tenu du pouvoir d'examen du Tribunal fédéral sur la question de l'abattement concrètement appliqué par la juridiction cantonale, le grief du recourant à cet égard apparaît dépourvu de fondement. En effet, pour démontrer que la juridiction cantonale aurait exercé son pouvoir d'appréciation de manière contraire au droit, il ne suffit pas d'affirmer simplement qu'un abattement supérieur à celui-ci qui a été retenu serait parfaitement justifié.
8.
Vu l'issue du litige, les frais judiciaires doivent être mis à la charge du recourant qui succombe (<ref-law>).
Comme le recours n'était pas d'emblée voué à l'échec et que le recourant ne dispose pas de ressources suffisantes, il remplit les conditions du droit à l'assistance judiciaire dont il n'a requis le bénéfice que pour les frais judiciaires (<ref-law>). Le recourant sera ainsi provisoirement dispensé de payer les frais de justice (<ref-law>). L'attention du recourant est toutefois attirée sur le fait qu'il devra rembourser la caisse du Tribunal fédéral s'il devient en mesure de le faire ultérieurement (<ref-law>).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours constitutionnel subsidiaire est irrecevable.
2.
Dans la mesure où il est recevable, le recours en matière de droit public est rejeté.
3.
L'assistance judiciaire, limitée aux frais judiciaires, est accordée au recourant.
4.
Les frais judiciaires, arrêtés à 800 fr., sont mis à la charge du recourant. Ils sont toutefois provisoirement supportés par la caisse du tribunal.
5.
Le présent arrêt est communiqué aux parties, au Tribunal cantonal du canton de Vaud, Cour des assurances sociales, et à l'Office fédéral des assurances sociales.
Lucerne, le 10 juillet 2015
Au nom de la IIe Cour de droit social
du Tribunal fédéral suisse
La Présidente : Glanzmann
Le Greffier : Berthoud