Faits :
A.
Par jugement du 26 mars 2015, la Cour d'appel pénale du Tribunal cantonal vaudois a rejeté l'appel de X._ et partiellement admis celui du Ministère public contre un jugement du 18 septembre 2014 du Tribunal de police de l'arrondissement de Lausanne. Elle a retenu que X._ s'était rendu coupable de violence ou menace contre les autorités et les fonctionnaires et l'a condamné à une peine pécuniaire de 60 jours-amende, le montant du jour-amende étant fixé à 10 fr. le jour, peine entièrement complémentaire à celle prononcée le 2 avril 2014 par le Tribunal de police de l'arrondissement de Lausanne.
B.
Ce jugement se fonde sur les principaux éléments de fait suivants.
Le 20 septembre 2013, X._, propriétaire du véhicule Fiat Doblo, immatriculé xxx, était parqué au chemin du Trabandan à Lausanne, dans une zone de chantier dont la signalisation indiquait qu'il était interdit de se parquer après 7h00. A 7h03, l'aspirant A._ a amendé ce véhicule. Aux alentours de 7h25, X._ est arrivé près de son véhicule. Constatant qu'il avait été amendé, il a demandé à A._ de lui retirer cette amende. Face au refus de ce dernier, X._ a déplacé son véhicule puis il est revenu vers l'aspirant tenant l'amende dans sa main. Il l'a alors frappé avec les paumes de ses mains au niveau du thorax et l'a encore repoussé. A._ a failli tomber. Il a appelé des secours par radio avant que X._ ne quitte les lieux en courant sur le chemin du Vanil. Il l'a ensuite perdu de vue. A._ a déposé plainte le 10 octobre 2013.
C.
X._ interjette un recours en matière pénale au Tribunal fédéral contre le jugement du 26 mars 2015. Il conclut à ce qu'il soit reconnu coupable de voies de fait et condamné à une amende de 300 fr., peine entièrement complémentaire à celle prononcée le 2 avril 2014 par le Tribunal de police de l'arrondissement de Lausanne. Il sollicite en outre l'octroi de l'assistance judiciaire.
Il n'a pas été ordonné d'échange d'écritures.
Considérant en droit :
1.
Le recourant fait valoir que l'infraction définie à l'art. 285 CP (violence ou menace contre les autorités et les fonctionnaires) ne serait pas réalisée. Il soutient, en bref, que le comportement qui lui est reproché tomberait sous le coup de l'art. 126 CP (voies de fait), mais ne constituerait pas une violence ou menace contre les fonctionnaires en raison du défaut d'immédiateté entre l'accomplissement de l'acte officiel et les voies de fait. Il indique que l'interprétation retenue par l'autorité cantonale serait donc arbitraire.
1.1. L'art. 285 ch. 1 CP punit celui qui, en usant de violence ou de menace, aura empêché une autorité, un membre d'une autorité ou un fonctionnaire de faire un acte entrant dans ses fonctions, les aura contraints à faire un tel acte ou se sera livré à des voies de fait sur eux pendant qu'ils y procédaient.
Cette disposition réprime ainsi deux infractions différentes: la contrainte contre les autorités ou fonctionnaires et les voies de fait contre les autorités ou fonctionnaires. Selon la deuxième variante (voies de fait contre les autorités ou fonctionnaires), l'auteur se livre à des voies de fait sur une autorité, un membre d'une autorité ou un fonctionnaire pendant qu'ils procèdent à un acte entrant dans leurs fonctions. Le membre de l'autorité ou le fonctionnaire agit en cette qualité dans le cadre de sa mission officielle et c'est en raison de cette activité que l'auteur se livre à des voies de fait sur lui. Le but poursuivi est sans pertinence. Il n'est donc pas exigé que l'auteur essaie d'empêcher l'acte officiel (BERNARD CORBOZ, Les infractions en droit suisse, 3 e éd. 2010, n os 1 et 16 s. ad art. 285 CP; cf. également STEFAN HEIMGARTNER, in Basler Kommentar, Strafrecht II, 3 e éd. 2013, n o 14 ad art. 285 CP).
La notion de voies de fait est la même que celle figurant à l'art. 126 CP. Elles se définissent comme des atteintes physiques qui excèdent ce qui est socialement toléré et qui ne causent ni lésions corporelles, ni dommage à la santé. Une telle atteinte peut exister même si elle n'a causé aucune douleur physique (ATF 134 IV 189 consid. 1.2 p. 191). Les voies de fait au sens de l'art. 285 CP doivent toutefois revêtir une certaine intensité (arrêt 6B_1009/2014 du 2 avril 2015 consid. 5.1.2). Elles doivent être motivées par l'acte officiel (ATF 110 IV 91 consid. 2 p. 92).
Les voies de fait doivent intervenir pendant l'accomplissement de l'acte officiel. Toutefois, une interprétation littérale conduirait à des résultats choquants, notamment lorsque l'acte étatique revêt un caractère instantané. Il suffit, en fonction de la ratio legis, que la violence soit motivée par l'acte officiel et qu'elle se produise immédiatement sans qu'il y ait à examiner à quel moment l'acte officiel doit être tenu pour accompli (BERNARD CORBOZ, op. cit., n o 17 ad art. 285 CP).
1.2. Il ressort des faits retenus par l'autorité précédente, lesquels lient la cour de céans (art. 105 al. 1 LTF), que le recourant reconnaît avoir poussé le fonctionnaire à deux reprises au niveau du thorax. Il fait cependant valoir que les actes qui lui sont reprochés n'ont pas été exécutés immédiatement après l'acte officiel et que les voies de fait ne sont pas intervenues pendant l'accomplissement d'un acte officiel.
1.2.1. En l'espèce, comme l'a souligné la cour cantonale, l'acte officiel qu'il convient de prendre en considération n'est pas celui consistant à amender le recourant pour stationnement non autorisé mais celui qui aurait consisté, si le fonctionnaire y avait consenti, à annuler l'amende qui avait déjà été infligée. L'acte officiel au sens de l'art. 285 CP est celui qui est entrepris par l'autorité compétente dans le cadre de ses attributions. En l'espèce, le fonctionnaire a confirmé, lors de son interrogatoire par la cour cantonale, qu'il avait le pouvoir d'annuler après coup une amende lorsqu'il l'estimait opportun et que cela lui arrivait de le faire. Dès lors, les voies de fait, dont le recourant ne conteste d'ailleurs pas l'existence, ont bien été perpétrées durant l'accomplissement d'un acte officiel, c'est-à-dire lorsque le fonctionnaire a refusé la demande du recourant de procéder à l'annulation de l'amende.
1.2.2. S'agissant de l'exigence de simultanéité, il faut souligner que l'accomplissement de l'acte officiel consiste, en l'espèce, à annuler une décision. Dès lors, l'intervention de l'auteur de l'acte ne peut avoir lieu qu'après le prononcé de l'amende mais avant l'éventuelle décision d'annulation de celle-ci. Les voies de fait ne sauraient être commises pendant que le fonctionnaire procède à l'annulation de l'amende puisque précisément, dans cette hypothèse, le recourant n'userait pas de voies de fait envers lui. Une interprétation étroite du rapport temporel reviendrait ainsi à sortir du champ d'application de l'art. 285 CP, qui vise également tous les cas où les voies de fait sont commises pour obtenir du fonctionnaire une action positive et non pour l'en empêcher. La loi fait d'ailleurs référence aux actes entrant dans les fonctions de l'agent public sans distinguer les diverses formes d'interventions possibles. Au moment de l'agression du recourant, le fonctionnaire avait encore la compétence de retirer l'amende qu'il lui avait infligée. Les voies de fait ont ainsi été commises dans le but de contraindre le fonctionnaire à annuler la contravention; elles ne pouvaient donc être commises qu'après le prononcé de celle-ci. Que le recourant soit revenu vers le fonctionnaire pour l'agresser, après avoir reçu l'amende et déplacé son véhicule, est sans incidence sur la réalisation des éléments constitutifs de l'infraction puisque le but poursuivi était l'annulation du prononcé de l'amende qui pourrait avoir lieu et non pas d'empêcher le prononcé de l'amende.
Un tel comportement est constitutif de voies de fait à l'encontre d'un fonctionnaire durant l'exercice de ses fonctions de sorte que l'infraction définie à l'art. 285 CP est réalisée. L'interprétation faite par la cour cantonale de cette disposition ne viole pas le droit fédéral; mal fondé, le grief soulevé doit être rejeté.
2.
Se fondant sur un jugement de la Cour d'appel pénale du Tribunal cantonal vaudois du 24 août 2011 et invoquant la violation du principe de la bonne foi, le recourant fait également valoir que l'autorité cantonale aurait modifié sa jurisprudence. En effet, selon le jugement précité, l'annulation du prononcé d'une amende ne serait pas un acte officiel et par voie de conséquence, l'art. 285 CP ne lui serait pas applicable.
Le recourant n'établit pas avoir invoqué le jugement précité en instance cantonale de sorte que sa critique est irrecevable, faute d'épuisement des instances cantonales (art. 80 LTF). Quoi qu'il en soit, ce jugement ne lui serait d'aucun secours car il ne consacre en réalité aucun changement de jurisprudence. Dans cette décision, l'autorité judiciaire a simplement défini l'acte officiel comme une mesure d'autorité à l'égard d'un usager. Or, l'annulation d'une contravention tombe sous cette définition et le recourant n'indique pas en quoi elle s'en écarterait. Au demeurant, une prétendue contradiction entre des décisions cantonales ne saurait être invoquée sous l'angle de la bonne foi pour privilégier une application incorrecte du droit.
3.
Le recourant succombe. Ses conclusions étaient dénuées de chances de succès. L'assistance judiciaire doit être refusée (art. 64 al. 1 LTF). Il supporte les frais de la procédure, qui seront fixés en tenant compte de sa situation économique (art. 65 al. 2 et 66 al. 1 LTF).
Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté dans la mesure où il est recevable.
2.
La requête d'assistance judiciaire est rejetée.
3.
Les frais judiciaires, arrêtés à 800 fr., sont mis à la charge du recourant.
4.
Le présent arrêt est communiqué aux parties et à la Cour d'appel pénale du Tribunal cantonal du canton de Vaud.
Lausanne, le 15 mars 2016
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président : Denys
La Greffière : Nasel