Faits :
A.
Z._ est une association dont les objectifs sont notamment d'accueillir, d'aider, de conseiller et de soutenir ceux qui viennent le consulter et qui éprouvent des difficultés d'ordre social, spirituel, psychique, relationnel, juridique, matériel ou liées à l'invalidité. Par contrat de travail du 22 juin 2012, Z._ a engagé X._ en qualité de responsable de W._, entité active dans le ramassage et la vente d'objets d'occasion; le salaire mensuel brut était de 7'165 fr.40. Les tâches de l'employé portaient sur l'organisation et la coordination de W._ et des boutiques, l'organisation et la conduite des collaborateurs, la participation à l'élaboration des objectifs du secteur ainsi que la coordination et l'organisation des postes de service. X._ était également responsable de l'entretien et de l'aménagement des locaux et du matériel; avec une autre employée, il avait la charge du contrôle des caisses, des recettes, des dépenses et des factures. Selon un accord oral, le responsable de W._ pouvait ordonner des dépenses pour les petits travaux d'entretien d'un montant inférieur à 2'000 fr.
En janvier 2014, X._ a mandaté une entreprise afin de retracer les places de parking extérieures de W._. L'entreprise a proposé de tracer une partie des places pour le prix de 500 fr. Le 21 janvier 2014, elle a établi une quittance pour le travail effectué et le montant précité. X._ a ensuite confié le reste du traçage à la même entreprise, qui a formulé oralement une offre portant sur un montant supplémentaire de 700 fr. A la fin des travaux, X._ a ajouté ce montant sur la quittance du 21 janvier 2014, au motif que l'entreprise n'était plus en possession de la seconde facture. La sortie de caisse correspondante a été enregistrée et déclarée à la comptabilité. Une semaine plus tard, A._, responsable "Administration et Finances" au sein de Z._, a invité X._ à produire une facture en bonne et due forme pour la seconde étape des travaux, car il ne pouvait enregistrer en l'état la quittance fournie. Comme les démarches entreprises par X._ pour joindre l'entreprise n'ont pas abouti, A._ a accepté, à titre exceptionnel, de valider la quittance et de l'enregistrer en tant que pièce comptable pour deux sorties de caisse, bien que cette façon de procéder fût contraire aux "Règles en matière de gestion de caisse au Z._".
Début 2014, X._ cherchait à louer un appartement. Il a alors demandé à A._ s'il était possible d'obtenir de l'employeur une attestation de salaire ne mentionnant pas la saisie de salaire dont il faisait l'objet. Le responsable financier lui a répondu négativement, les seules possibilités étant la remise de la copie intégrale des fiches de salaire (faisant apparaître les saisies) ou l'établissement d'une attestation d'emploi avec indication du salaire contractuel.
Devant ce refus, X._ a confectionné lui-même une attestation de salaire au nom de Z._, sans mention de la saisie, afin d'obtenir le bail de l'appartement qu'il convoitait.
Par courrier du 17 février 2014, B._, directrice de Z._, a reproché à X._ d'avoir outrepassé ses fonctions en plusieurs occasions, s'attribuant des compétences de la responsable des ressources humaines, de la responsable de la communication ou de la directrice. Afin d'évoquer ces problèmes, une rencontre a été fixée au 24 février 2014.
Ce jour-là, quelques heures avant l'entretien avec X._, B._ a reçu des collaborateurs souhaitant faire part du malaise qu'ils ressentaient envers le comportement du responsable de W._. A cette occasion, la directrice a appris que X._ avait raconté sur son lieu de travail qu'il avait établi une fausse attestation de salaire, destinée au propriétaire de l'appartement qu'il louait depuis peu; elle a également pris connaissance du retrait de caisse non conforme aux règles comptables de Z._.
Lors de la rencontre avec la directrice, en présence de la responsable des ressources humaines, X._ a refusé de s'exprimer sur la fausse attestation de salaire. Par lettre remise le jour même à l'employé, B._ a mis fin sur-le-champ aux rapports de travail; elle y justifiait le licenciement immédiat par les deux faits précités dont elle venait de prendre connaissance.
B.
Par demande du 15 octobre 2014, X._ a ouvert action contre Z._. Il concluait au paiement des montants suivants:
- 11'485 fr.80, sous déduction des charges légales et conventionnelles, avec intérêts, à titre d'indemnité correspondant au salaire dû pendant le délai de congé;
- 2'625 fr.60, sous déduction des charges légales et conventionnelles, avec intérêts, à titre d'indemnité afférente aux vacances pendant le délai de congé;
- 14'657 fr.20 avec intérêts, en indemnisation du licenciement injustifié et du tort moral.
Z._ a conclu au rejet de la demande.
Par jugement du 18 mars 2015, le Tribunal de prud'hommes de l'arrondissement de Lausanne a rejeté les conclusions prises par le travailleur.
Statuant le 18 août 2015 sur appel de X._, la Cour d'appel civile du Tribunal cantonal du canton de Vaud a confirmé le jugement de première instance.
C.
X._ interjette un recours en matière civile. A titre principal, il reprend les conclusions de la demande. Il conclut subsidiairement au renvoi de la cause à la cour cantonale.
Z._ propose le rejet du recours.
Pour sa part, la cour cantonale se réfère aux considérants de sa décision.

Considérant en droit :
1.
Le recours est dirigé contre un arrêt final (<ref-law>) rendu en matière civile (<ref-law>) par un tribunal supérieur d'un canton, qui a statué sur recours (<ref-law>). La cause atteint la valeur litigieuse de 15'000 fr. ouvrant le recours en matière civile dans les affaires relevant du droit du travail (<ref-law>). Au surplus, le recours est exercé par la partie qui a succombé dans ses conclusions condamnatoires et qui a donc qualité pour recourir (<ref-law>); il a été déposé dans le délai (<ref-law>) et la forme (<ref-law>) prévus par la loi. Sous réserve de l'examen des griefs particuliers, le recours est recevable.
2.
2.1. Le Tribunal fédéral conduit son raisonnement juridique sur la base des faits établis par l'autorité précédente (<ref-law>). Il ne peut s'en écarter que si les faits ont été établis de façon manifestement inexacte ou en violation du droit au sens de l'<ref-law> (<ref-law>). Si l'auteur du recours se plaint d'un tel grief, encore faut-il que la correction du vice soit susceptible d'influer sur le sort de la cause (<ref-law>). L'exception prévue à l'<ref-law> ne permet pas aux parties de rediscuter dans leurs mémoires les faits de la cause comme si elles plaidaient devant un juge d'appel. Le recourant qui prétend que les faits ont été établis de manière manifestement inexacte (<ref-law>) - c'est-à-dire que les constatations de fait sont arbitraires au sens de l'art. 9 Cst. (<ref-ruling> consid. 2 p. 117, 264 consid. 2.3 p. 266) - doit satisfaire au principe d'allégation (<ref-law>); il doit expliquer de manière circonstanciée en quoi les conditions d'une rectification de l'état de fait seraient réalisées (<ref-ruling> consid. 1.3.1 p. 18, 264 consid. 2.3 p. 266; <ref-ruling> consid. 4.1.2 p. 62; <ref-ruling> consid. 5.1 p. 356; <ref-ruling> consid. 7.1 p. 398).
2.2. Le recourant commence par présenter les "faits essentiels" en se référant à des pièces du dossier. Dans la mesure où cet état de fait s'écarte de celui retenu dans l'arrêt attaqué, il n'y a pas lieu d'en tenir compte.
Invoquant l'art. 9 Cst., le recourant soutient ensuite que la cour cantonale a établi les faits et apprécié les preuves de manière arbitraire. Lorsqu'il n'est pas dépourvu de motivation, le moyen apparaît privé de toute explication compréhensible. Ainsi, le recourant prétend que la cour cantonale aurait retenu de manière arbitraire une mise en garde de A._. Or, l'arrêt attaqué ne contient aucune constatation à ce sujet. Le recourant n'est pas plus clair lorsqu'il s'en prend au témoignage de B._, dont on ne saisit pas en quoi la cour cantonale l'aurait apprécié de manière arbitraire. Faute d'une motivation répondant aux exigences rappelées au consid. 2.1 supra, le grief est irrecevable.
3.
Selon l'arrêt attaqué, la découverte par l'intimé de l'existence de la fausse attestation de salaire et de l'état d'esprit manifesté par le recourant était de nature à rompre les rapports de confiance nécessaires à la poursuite du contrat de travail jusqu'à son échéance ordinaire. A l'instar du Tribunal de prud'hommes, la cour cantonale a jugé que le premier motif invoqué par l'employeur justifiait le licenciement immédiat du recourant.
3.1. Le recourant qualifie d'"arbitraire" cette appréciation des juges vaudois. Il conteste que l'attestation litigieuse, établie au détriment d'un tiers qui ne s'est jamais annoncé, puisse porter atteinte à la réputation ou au fonctionnement de l'association intimée, qui n'aurait pas été lésée. Et le fait d'avoir parlé, comme responsable de W._, de cette fausse fiche de salaire devant une employée subalterne ne constituerait pas une faute d'une gravité telle qu'elle n'aurait pas permis la continuation des rapports de travail jusqu'à l'échéance du délai ordinaire de congé. Le recourant ajoute que les juges précédents ont omis de tenir compte du fait que ses prestations donnaient entière satisfaction, comme le préciserait le certificat de travail fourni par l'employeur.
3.2. Selon l'<ref-law>, l'employeur et le travailleur peuvent résilier immédiatement le contrat en tout temps pour de justes motifs. Sont notamment considérées comme de justes motifs toutes les circonstances qui, selon les règles de la bonne foi, ne permettent pas d'exiger de celui qui donne le congé la continuation des rapports de travail (<ref-law>).
Mesure exceptionnelle, la résiliation immédiate pour justes motifs doit être admise de manière restrictive. Seul un manquement particulièrement grave du travailleur justifie son licenciement immédiat; lorsqu'il est moins grave, le manquement ne peut entraîner une résiliation immédiate que s'il a été répété malgré un avertissement (<ref-ruling> consid. 3.1 p. 221; <ref-ruling> consid. 2.1 p. 382). Par manquement du travailleur, on entend en règle générale la violation d'une obligation découlant du contrat de travail, mais d'autres incidents peuvent également justifier une résiliation immédiate (<ref-ruling> consid. 4.1 p. 31; <ref-ruling> consid. 2.2 p. 382). Ce qui est déterminant, c'est que les faits invoqués à l'appui du congé immédiat aient entraîné la perte du rapport de confiance qui constitue le fondement du contrat de travail (<ref-ruling> consid. 2.1.1 p. 304). Il ne suffit pas que la relation de confiance entre les parties soit détruite sur le plan subjectif. Encore faut-il que, objectivement, la continuation des rapports de travail jusqu'à l'échéance du contrat ne puisse pas être attendue de la partie qui donne le congé (cf. ATF <ref-ruling> consid. 2.2 p. 383).
Le juge apprécie librement s'il existe de justes motifs (<ref-law>). Il applique les règles du droit et de l'équité (<ref-law>). A cet effet, il prendra en considération tous les éléments du cas particulier, notamment la position et la responsabilité du travailleur, le type et la durée des rapports contractuels, ainsi que la nature et l'importance des manquements (<ref-ruling> consid. 2.1.1 p. 305; <ref-ruling> consid. 4.1 p. 32; <ref-ruling> consid. 4a p. 354). A cet égard, le comportement des cadres doit être apprécié avec une rigueur accrue en raison du crédit particulier et de la responsabilité que leur confère leur fonction dans l'entreprise (<ref-ruling> consid. 4.1 p. 31 et l'arrêt cité).
Le Tribunal fédéral revoit avec réserve la décision d'équité prise en dernière instance cantonale; il intervient lorsque celle-ci s'écarte sans raison des règles établies par la doctrine et la jurisprudence en matière de libre appréciation, ou lorsqu'elle s'appuie sur des faits qui, dans les circonstances de l'espèce, ne devaient jouer aucun rôle, ou à l'inverse, lorsqu'elle n'a pas tenu compte d'éléments qui auraient absolument dû être pris en considération; il sanctionnera en outre les décisions rendues en vertu d'un pouvoir d'appréciation lorsqu'elles aboutissent à un résultat manifestement injuste ou à une iniquité choquante (<ref-ruling> consid. 2.1 p. 254; <ref-ruling> consid. 2.1.1 p. 305; <ref-ruling> consid. 2.2.1 p. 279).
3.3. En l'espèce, le comportement reproché au recourant consiste à avoir établi une fausse attestation de salaire au nom de l'employeur, afin que la saisie de salaire dont il faisait l'objet n'apparaisse pas dans la pièce exigée par le futur bailleur pour apprécier sa capacité financière, puis à rapporter cet acte sur son lieu de travail. Sur ce dernier point, le recourant cherche à minimiser ses agissements en prétendant n'en avoir parlé qu'à une seule reprise devant une employée; or, la cour cantonale a constaté de manière à lier la cour de céans que le recourant avait parlé ouvertement de la falsification, de façon à ce que plusieurs collaborateurs l'apprennent.
Le recourant s'est ainsi permis de confectionner lui-même, pour son avantage personnel, un document au nom de l'association, que le responsable financier avait refusé à bon droit d'établir. Ce faisant, l'employé a démontré un manque de probité, qui apparaît comme une violation de ses obligations contractuelles de fidélité et de loyauté, quand bien même le comportement incriminé n'intervenait pas dans l'exécution de son travail. Ce manquement est d'autant plus grave qu'il a été commis par le responsable d'une entité de l'association, duquel une attitude exemplaire est attendue, et que le recourant n'a pas hésité à divulguer son procédé malhonnête devant des collaborateurs dont il était le supérieur direct. On notera au passage que l'employé est en revanche resté muet lorsque la directrice lui a demandé des explications au sujet de l'attestation en cause, dont il reconnaîtra la fausseté par la suite. Par ailleurs, les agissements incriminés sont intervenus dans un contexte où le recourant se voyait déjà reprocher de s'arroger des compétences qui n'étaient pas les siennes. C'est le lieu de préciser que l'employé ne peut pas invoquer en sa faveur les bonnes prestations de travail qu'il aurait fournies, car un tel fait ne ressort pas des constatations de l'arrêt attaqué (cf. <ref-law>).
Il s'ensuit que la cour cantonale n'a pas abusé de son pouvoir d'appréciation en jugeant que, dans les circonstances de l'espèce, le lien de confiance entre les parties était rompu et que la continuation des rapports de travail ne pouvait être attendue de la part de l'employeur, qui était fondé à licencier le travailleur avec effet immédiat.
4.
4.1. Le recourant fait valoir également qu'avant la notification de la résiliation, il n'a pas été entendu en présence d'un membre de la commission du personnel, de sorte que ses droits de la personnalité, garantis par l'<ref-law>, auraient été gravement violés.
4.2. L'employé se borne à alléguer un droit à être assisté avant un licenciement pour justes motifs, sans fournir aucun fondement à ce prétendu droit. En particulier, il ne démontre pas que le devoir de l'employeur de protéger la personnalité du travailleur en vertu de l'<ref-law> impliquerait l'obligation d'entendre le collaborateur qu'il envisage de licencier en présence d'un membre de la commission du personnel. Dépourvu de la motivation exigée par l'<ref-law>, le grief est irrecevable.
5.
Sur le vu de ce qui précède, le recours doit être rejeté dans la mesure où il est recevable.
En conséquence, le recourant prendra à sa charge les frais judiciaires (<ref-law>), dont le montant sera fixé en application de l'art. 65 al. 4 let. c LTF puisque la valeur litigieuse ne dépasse pas 30'000 fr. Il versera en outre des dépens à l'intimé (art. 68 al. 1 et 2 LTF).

Par ces motifs, le Tribunal fédéral prononce:
1.
Le recours est rejeté dans la mesure où il est recevable.
2.
Les frais judiciaires, arrêtés à 600 fr., sont mis à la charge du recourant.
3.
Le recourant versera à l'intimé une indemnité de 1'500 fr. à titre de dépens.
4.
Le présent arrêt est communiqué aux mandataires des parties et à la Cour d'appel civile du Tribunal cantonal du canton de Vaud.
Lausanne, le 21 juin 2016
Au nom de la Ire Cour de droit civil
du Tribunal fédéral suisse
La Présidente : Kiss
La Greffière : Godat Zimmermann