Faits :
A.
A._, mère de deux enfants nés en 1985 et 2000, est arrivée en Suisse en 2004. Le 28 janvier 2009, elle a déposé une demande de prestations de l'assurance-invalidité, en précisant qu'elle travaillait en qualité de femme de ménage, qu'elle était en incapacité de travail depuis le 28 avril 2008 et qu'elle avait été au chômage du 8 janvier 2008 au 3 mars 2009.
L'Office de l'assurance-invalidité du canton de Genève (l'office AI) a recueilli le dossier de l'office cantonal de l'emploi. Celui-ci contenait une confirmation de réinscription du 8 avril 2009, où l'assurée indiquait qu'elle cherchait du travail à plein temps. Sur un curriculum vitae (CV), non daté, figurait la mention dactylographiée "disponibilité 50 %", tandis qu'un taux de "100 %" était ajouté à la main à côté du texte dactylographié.
Une enquête économique sur le ménage a été conduite le 13 juillet 2010. L'assurée y déclarait qu'elle cherchait du travail à plein temps, tandis que l'enquêtrice la considérait comme une personne active à 50 %.
Par décision du 15 juillet 2011, qui a fait suite à un projet du 13 août 2010, l'office AI a retenu un statut de personne active à 50 %. Il a fixé le taux d'invalidité à 9 % selon la méthode mixte d'évaluation (4 % dans la sphère professionnelle, 5 % dans les travaux ménagers) et rejeté la demande (rente d'invalidité et mesures d'orientation professionnelles).
B.
A._ a déféré cette décision à la Cour de justice de la République et canton de Genève, Chambre des assurances sociales, en concluant à son annulation, à la mise en oeuvre d'une expertise pluridisciplinaire et à l'octroi d'un trois-quarts de rente au minimum.
L'assurée a comparu personnellement le 12 octobre 2011. Elle a notamment déclaré qu'elle avait travaillé à 100 % jusqu'à la naissance de son deuxième fils en 2000, et qu'elle avait ensuite diminué son activité à 50 % pour raisons de santé jusqu'en 2007. En arrêt complet de travail depuis janvier 2008, elle avait repris une activité de dame de compagnie en 2009, à raison de 7 heures hebdomadaires.
La juridiction cantonale a mis en oeuvre une expertise bidisciplinaire (rhumatologique et psychiatrique). Les docteurs B._, spécialiste en médecine interne et maladies rhumatismales, et C._, spécialiste en psychiatrie et psychothérapie, ont attesté qu'une activité lucrative est raisonnablement exigible du point de vue somatique et psychique, qu'elle doit être légère du fait des limitations somatiques (pas de port de charges lourdes, pas de position longtemps maintenue) et qu'elle ne peut pas dépasser un taux de 50 % en raison des troubles psychiatriques (consilium du 25 septembre 2013).
Par jugement du 18 juin 2014, la Cour de justice a retenu que l'assurée aurait travaillé à plein temps sans l'atteinte à la santé et qu'elle subissait une perte de gain de 58 %. Elle a dès lors admis partiellement le recours, reconnu le droit de l'assurée à une demi-rente d'invalidité dès le 1 er juillet 2009, condamné l'office AI aux dépens (3'000 fr.), mis les frais de l'expertise judiciaire (6'446 fr.) ainsi que l'émolument judiciaire (1'000 fr.) à charge de l'office AI.
C.
L'office AI interjette un recours en matière de droit public contre ce jugement dont il demande l'annulation.
L'intimée conclut au rejet du recours. L'Office fédéral des assurances sociales a renoncé à se déterminer.

Considérant en droit :
1.
Le recours en matière de droit public peut être formé pour violation du droit, tel qu'il est délimité par les 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> (<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. Aucun fait nouveau ni preuve nouvelle ne peut être présenté à moins de résulter de la décision de l'autorité précédente (<ref-law>).
2.
Le recours en matière de droit public se caractérise comme un recours en réforme (<ref-law>), de sorte que le recourant doit en principe prendre des conclusions sur le fond. A titre exceptionnel, il est admis que le recourant puisse se limiter à prendre des conclusions cassatoires lorsque le Tribunal fédéral, s'il accueillait le recours, ne serait pas en mesure de statuer lui-même sur le fond (cf. <ref-ruling> consid. 1.3 p. 383; arrêt 8C_706/2013 du 3 novembre 2014 consid. 2). Selon la jurisprudence toutefois, les conclusions doivent être interprétées, selon le principe de la confiance, à la lumière de la motivation, et l'interdiction du formalisme excessif commande de ne pas se montrer trop strict dans la formulation si, à la lecture du mémoire, on comprend clairement ce que veut le recourant (arrêt 2C_986/2013 du 15 septembre 2014 consid. 2.2, citant les arrêts 4A_688/2011 consid. 2 non publié in <ref-ruling> et 4A_375/2012 consid. 1.2 non publié in <ref-ruling>; Florence Aubry Girardin, Commentaire de la LTF, 2e éd. 2014, n° 18 ad <ref-law>).
Le recourant conclut à l'annulation du jugement du 18 juin 2014. A la lecture de la motivation du recours, on doit admettre que le recourant conteste les ch. 2 et 3 du dispositif du jugement attaqué dans la mesure où l'intimée est mise au bénéfice d'une demi-rente d'invalidité, ainsi que les ch. 4 et 5 du dispositif qui mettent à sa charge l'émolument judiciaire (1'000 fr.) et les dépens (3'000 fr.). Le ch. 5 du dispositif du jugement attaqué n'est en revanche pas contesté dans la mesure où les frais de l'expertise judiciaire (6'446 fr.) doivent être supportés par le recourant, ce dernier n'ayant présenté aucune conclusion ou argumentation sur ce point.
Le litige porte ainsi sur le taux d'invalidité de l'intimée et, par voie de conséquence, sur le droit à une rente. Singulièrement, sont contestés le statut de l'intimée ainsi que la méthode d'évaluation de l'invalidité qui en découle.
En revanche, le degré de l'incapacité de travail (50 %) et celui de l'invalidité dans la sphère professionnelle (58 %) ne sont pas sujets à discussion. Il en va de même de l'étendue des empêchements dans les travaux ménagers (10 %).
3.
3.1. Un assuré a droit à une rente s'il est invalide à quarante pour cent au moins (<ref-law>). Pour évaluer le degré d'invalidité, il existe principalement trois méthodes - la méthode générale de comparaison des revenus, la méthode spécifique et la méthode mixte -, dont l'application dépend du statut du bénéficiaire potentiel de la rente: assuré exerçant une activité lucrative à temps complet, assuré non actif, assuré exerçant une activité lucrative à temps partiel.
Chez les assurés qui exerçaient une activité lucrative à plein temps avant d'être atteints dans leur santé physique, mentale ou psychique, il y a lieu de déterminer l'ampleur de la diminution des possibilités de gain de l'assuré, en comparant le revenu qu'il aurait pu obtenir s'il n'était pas invalide avec celui qu'il pourrait obtenir en exerçant l'activité qui peut raisonnablement être exigée de lui après les traitements et les mesures de réadaptation, sur un marché du travail équilibré; c'est la méthode générale de comparaison des revenus (<ref-law> en corrélation avec l'<ref-law>) et ses sous-variantes, la méthode de comparaison en pour-cent et la méthode extraordinaire de comparaison des revenus (<ref-ruling> consid. 3.1.1 p. 337 et les références).
Chez les assurés qui n'exerçaient pas d'activité lucrative avant d'être atteints dans leur santé physique, mentale ou psychique et dont il ne peut être exigé qu'ils en exercent une, il y a lieu d'effectuer une comparaison des activités, en cherchant à établir dans quelle mesure l'assuré est empêché d'accomplir ses travaux habituels; c'est la méthode spécifique d'évaluation de l'invalidité (<ref-law> en corrélation avec les <ref-law> et 27 RAI). Par travaux habituels, il faut notamment entendre l'activité usuelle dans le ménage, l'éducation des enfants ainsi que toute activité artistique ou d'utilité publique (cf. <ref-law>).
Chez les assurés qui n'exerçaient que partiellement une activité lucrative, l'invalidité est, pour cette part, évaluée selon la méthode générale de comparaison des revenus. S'ils se consacraient en outre à leurs travaux habituels au sens des <ref-law> et 8 al. 3 LPGA, l'invalidité est fixée, pour cette activité, selon la méthode spécifique d'évaluation de l'invalidité. Dans une situation de ce genre, il faut dans un premier temps déterminer les parts respectives de l'activité lucrative et de l'accomplissement des travaux habituels, puis dans un second temps calculer le degré d'invalidité d'après le handicap dont la personne est affectée dans les deux domaines d'activité en question; c'est la méthode mixte d'évaluation de l'invalidité (<ref-law> en corrélation avec l'<ref-law>; <ref-ruling> consid. 3.1.3 p. 338 et la référence).
3.2. Pour déterminer la méthode applicable au cas particulier, il faut à chaque fois se demander ce que la personne assurée aurait fait si l'atteinte à la santé n'était pas survenue. Lorsqu'elle accomplit ses travaux habituels, il convient d'examiner, à la lumière de sa situation personnelle, familiale, sociale et professionnelle, si elle aurait consacré, étant valide, l'essentiel de son activité à son ménage ou si elle aurait vaqué à une occupation lucrative. Pour déterminer voire circonscrire le champ d'activité probable de la personne assurée, il faut notamment tenir compte d'éléments tels que la situation financière du ménage, l'éducation des enfants, l'âge de l'assurée, ses qualifications professionnelles, sa formation ainsi que ses affinités et talents personnels. Selon la pratique, la question du statut doit être tranchée sur la base de l'évolution de la situation jusqu'au prononcé de la décision administrative litigieuse, encore que, pour admettre l'éventualité de l'exercice d'une activité lucrative partielle ou complète, il faut que la force probatoire reconnue habituellement en droit des assurances sociales atteigne le degré de la vraisemblance prépondérante (<ref-ruling> consid. 3.2 p. 338 et les références).
4.
4.1. Afin d'établir la part de l'activité lucrative et celle des travaux ménagers, les premiers juges ont tenu compte de plusieurs éléments. En premier lieu, ils ont constaté que le CV de l'intimée indiquait un taux d'activité de 100 % (mention manuscrite), que l'intimée avait affirmé avoir fait des recherches d'emplois à plein temps lors de l'enquête ménagère (du 13 juillet 2010), que pendant sa comparution personnelle (le 12 octobre 2011) elle avait expliqué avoir travaillé à 100 % jusqu'à la naissance de son fils en 2000 et qu'elle avait ensuite réduit son taux d'activité à 50 % pour des raisons de santé jusqu'en 2007. Les juges ont aussi relevé que la recourante avait déclaré qu'elle cherchait un emploi à 100 % lorsqu'elle s'était réinscrite au chômage (le 8 avril 2009), ce qui était confirmé par sa fiche à l'office de l'emploi. A propos des comptes individuels AVS, les juges cantonaux ont considéré qu'on ne pouvait se fier sur les données qu'ils contenaient pour exclure une activité à plein temps exercée antérieurement à son atteinte à la santé, car les employeurs privés omettaient fréquemment de déclarer leur personnel de maison dépourvu de permis de séjour ou de travail, comme c'était le cas de l'intimée avant 2004. Par ailleurs, il ressortait des comptes individuels que l'intimée a travaillé en tous cas à plus de 50 % en 2006 et 2007. Ils ont ajouté que les revenus de son compagnon, bénéficiaire d'une rente AI et de l'aide de l'Hospice général, ne devaient pas être pris en compte à défaut d'obligation d'entretien de sa part; en outre, à la fin de l'année 2011, l'intimée avait dû retrouver un logement après leur séparation.
De l'avis des premiers juges, il était suffisamment vraisemblable, au degré où la jurisprudence l'exige, que l'intimée aurait travaillé à plein temps sans l'atteinte à la santé, afin de subvenir à ses besoins et à ceux de son fils, compte tenu de sa situation financière précaire et du fait que son fils ne nécessitait pas la même attention et présence qu'un enfant en bas âge. Il convenait ainsi de reconnaître à l'intimée le statut de personne active.
4.2. Le recourant fait grief à la juridiction cantonale d'avoir établi les faits de manière inexacte, d'avoir apprécié arbitrairement les faits et violé le droit fédéral.
Singulièrement, le recourant est d'avis que les premiers juges ont omis de prendre en considération un CV de l'intimée du 3 janvier 2009, qui figurait pourtant au dossier, dans lequel elle indiquait une disponibilité pour une activité lucrative à hauteur de 50 %. Selon le recourant, l'omission de cette pièce, qui n'est pas mentionnée dans la partie "en fait" du jugement attaqué, a conduit la juridiction cantonale à retenir de manière arbitraire un statut d'active à plein temps, en admettant à tort, sur la base d'un cumul d'indices, que ce fait était établi au degré de la vraisemblance prépondérante.
L'office recourant observe que le CV dactylographié de l'intimée mentionnait une disponibilité de 50 %, mais qu'une mention manuscrite avait été ajoutée, indiquant "100 %". A son avis, cette mention a été apposée a posteriori sur le document original, de sorte que la juridiction de recours ne pouvait pas retenir qu'il s'agissait là d'un CV "officiel" que l'intimée adressait aux employeurs potentiels. Il estime que l'intimée aurait dû être interrogée à ce sujet, ce qui n'a pas été fait. Le recourant soutient aussi que cette mention est en contradiction flagrante avec d'autres pièces du dossier, notamment un CV que l'office de l'emploi lui avait remis et qui avait été déposé dans le cadre d'une inscription du 7 janvier 2008, où l'intimée mentionnait également une disponibilité de 50 %.
Par ailleurs, le recourant estime que les constats de l'autorité cantonale, selon laquelle l'intimée aurait travaillé à 100 % avant l'année 2000, ne sont corroborés par aucun élément du dossier, l'intimée n'ayant produit aucune fiche de salaire ou relevé de compte permettant d'étayer ses propos. De même, l'intimée n'a pas non plus déposé de certificat médical dont il faudrait inférer qu'elle aurait réduit son temps de travail de 100 % à 50 % entre 2000 à 2007 en raison de problèmes de santé; ce constat des premiers juges serait dès lors aussi arbitraire. Le recourant ajoute que l'intimée n'a produit aucun document indiquant qu'elle cherchait un emploi à plein temps avant 2007, ce que les juges cantonaux n'ont pas relevé. Il estime également que leur interprétation des extraits de comptes individuels AVS de l'intimée est insoutenable et arbitraire, dans la mesure où ils déduisent que l'intimée aurait pu percevoir un salaire plus important que celui qui ressort des extraits de compte et qu'elle aurait, partant, eu un taux d'activité plus élevé. Par ailleurs, le recourant soutient que les juges cantonaux ne pouvaient pas extrapoler les heures de travail accomplies en juin 2007 au reste de l'année, puisqu'on ignore l'activité déployée au cours des autres mois; l'autorité cantonale n'a émis que des hypothèses sans se fonder sur des éléments de preuve, notamment des contrats de travail d'autres employeurs qu'elle n'a pas fait éditer. Le recourant relève encore que l'intimée n'a contesté le statut mixte (activité lucrative à 50 %) que lorsqu'elle a réalisé les conséquences juridiques qu'il entraînait; auparavant, notamment dans ses déterminations sur le projet de décision du 13 août 2010 (lettre du 13 septembre 2010), elle n'avait pas remis en cause le statut mixte. Le recourant en déduit que les premiers juges ne pouvaient faire l'économie d'une analyse plus poussée et devaient accorder plus d'importance aux premières déclarations de l'intimée.
4.3. L'intimée se rallie aux considérants du jugement entrepris. En bref, compte tenu de l'ensemble des circonstances personnelles, sociales, familiales et surtout financières et professionnelles, elle estime qu'il est évident qu'elle aurait recherché le plus d'employeurs possible pour obtenir un salaire complet de femme de ménage, si elle avait été en bonne santé. Un taux d'activité lucrative de 50 %, comme le demande le recourant, lui paraît inimaginable. A cet égard, elle précise que les indemnités de l'assurance-chômage qu'elle revendiquait (50 %) étaient destinées à compléter les revenus de l'activité de femme de ménage qu'elle n'exerçait qu'à 50 %, tandis que le taux de 100 % figurant sur le CV transmis à l'AI en annexe à la demande de prestations du 28 janvier 2009 portait sur sa disponibilité.
5.
Les constats de fait des premiers juges relatifs à l'exercice d'une activité lucrative à plein temps, qui aurait été exercée à l'étranger jusqu'en 2000, se fondent sur les seules déclarations que l'intimée avait tenues lors de son audition du 12 octobre 2011. Les allégués de l'intimée n'étaient toutefois pas documentés; on ignore aussi bien la nature de l'activité en cause, l'étendue des rémunérations perçues et le montant des cotisations éventuellement versées aux assurances sociales. Les faits allégués ne peuvent dès lors être tenus comme étant avérés ou suffisamment vraisemblables.
Au cours de l'enquête ménagère du 13 juillet 2010, l'intimée avait déclaré qu'elle avait effectué des recherches d'emploi à plein temps. La réalité de telles recherches semble néanmoins douteuse, car l'intimée ne s'était inscrite au chômage qu'à 50 % (cf. fiche de réinscription à l'office cantonal de l'emploi, du 8 avril 2009); en outre, elle a soutenu qu'elle avait éliminé les documents correspondants.
Dans son projet de décision du 13 août 2010, l'office recourant avait signifié à l'intimée son intention de nier son droit aux prestations. A réception de ce projet, l'intimée - désormais représentée par un avocat - n'avait pourtant pas contesté le principe même de l'application de la méthode mixte d'évaluation de l'invalidité, dans le cadre d'une activité mixte à 50 %, aussi bien dans sa prise de position du 13 septembre 2010 que dans celle du 12 octobre 2010. Elle avait même indiqué le taux d'empêchement qui devait, à son avis, être pris en compte dans la sphère ménagère. Plus tard, lors de son audition par la juridiction de recours, le 12 octobre 2011, elle avait déclaré qu'elle ne contestait pas formellement le statut de "ménagère mixte" retenu, bien qu'il puisse être discutable.
Pour le surplus, le dossier ne contient pas d'éléments factuels concrets qui permettraient de déduire que l'intimée aurait, sans l'incapacité de travail survenue en avril 2008, pris une activité lucrative plus importante que l'emploi à mi-temps pour lequel elle s'était annoncée à l'office de l'emploi. Les autres éléments mis en exergue, notamment sa situation financière et l'âge de son second fils, ne sont pas décisifs, car en définitive l'intimée n'a pas contesté son statut mixte jusqu'au prononcé du jugement cantonal, ni cherché à étendre son activité lucrative avant l'atteinte à la santé.
Il s'ensuit que la décision administrative du 15 juillet 2011 doit être confirmée dans la mesure où un statut de personne active à 50 % est reconnu, la sphère ménagère représentant également 50 %.
6.
L'évaluation de l'invalidité suivant la méthode mixte (<ref-law>) aboutit à un taux global d'invalidité de 34 % (50 % de 58 % pour la part professionnelle, 50 % de 10 % pour les tâches ménagères), lequel est inférieur au seuil de 40 % ouvrant droit à la rente (<ref-law>). La décision administrative du 15 juillet 2011 doit dès lors être confirmée, ce qui entraîne l'annulation des ch. 2, 3 et 4 du dispositif du jugement du 18 juin 2014, ainsi que le ch. 5 dans la mesure où il concerne l'émolument judiciaire de 1'000 fr.
7.
L'intimée, qui succombe, supportera les frais de la procédure fédérale (<ref-law>), pour laquelle elle n'a pas droit à des dépens (<ref-law>).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est admis. Les ch. 2 à 4 du dispositif du jugement de la Cour de justice de la République et canton de Genève, Chambre des assurances sociales, du 18 juin 2014, sont annulés. Le ch. 5 du dispositif est annulé dans la mesure où il concerne l'émolument judiciaire de 1'000 fr.
2.
Les frais judiciaires, arrêtés à 800 fr., sont mis à la charge de l'intimée.
3.
Il n'est pas alloué de dépens.
4.
La Cour de justice de la République et canton de Genève, Chambre des assurances sociales, statuera à nouveau sur les frais et dépens de l'instance cantonale, au regard de l'issue du litige.
5.
Le présent arrêt est communiqué aux parties, à la Cour de justice de la République et canton de Genève, Chambre des assurances sociales, et à l'Office fédéral des assurances sociales.
Lucerne, le 6 mars 2015
Au nom de la IIe Cour de droit social
du Tribunal fédéral suisse
La Présidente : Glanzmann
Le Greffier : Berthoud