Faits :
A.
Par jugement du 18 août 2020 du Tribunal criminel de l'arrondissement de Lausanne a libéré A._ des chefs d'accusation d'infraction simple à la loi fédérale sur les stupéfiants (LStup; RS 812.121) et d'infraction à la loi fédérale sur l'encouragement du sport et de l'activité physique (LESp; RS 415.0), a constaté qu'il s'est rendu coupable d'actes préparatoires délictueux à brigandage, de violation simple des règles de la circulation routière, de conduite d'un véhicule automobile malgré une incapacité de conduire, de tentative d'entrave aux mesures de constatation de l'incapacité de conduire, de conduite d'un véhicule automobile sans autorisation, d'infraction grave et de contravention à la LStup, d'infraction à la loi fédérale sur les armes, les accessoires d'armes et les munitions (LArm; RS 514.54), d'infraction à la loi fédérale sur les produits thérapeutiques (LPTh; RS 812.21) et de contravention à la loi fédérale sur les télécommunications (LTC; RS 784.10), l'a condamné à une peine privative de liberté de 7 ans, sous déduction de 565 jours de détention subie avant jugement, et à une amende de 4'000 fr., la peine privative de liberté de substitution en cas de non-paiement de celle-ci étant de 40 jours, a constaté que A._ a subi 9 jours de détention dans des conditions illicites et ordonné que 5 jours soient déduits de la peine privative de liberté, à titre de réparation du tort moral, a ordonné le maintien de A._ en détention pour des motifs de sûreté, a refusé de lui allouer une indemnité fondée sur l'<ref-law>, a statué sur le sort des séquestres et des pièces à conviction, et a mis les frais de justice, par 30'963 fr. 10, sous déduction de la compensation ordonnée avec des valeurs patrimoniales séquestrées, à la charge de A._.
B.
Par jugement du 12 janvier 2021, la Cour d'appel pénale du Tribunal cantonal du canton de Vaud a rejeté l'appel formé par A._.
En substance, il en ressort les éléments suivants.
B.a. Dans le cadre de l'exécution d'une demande d'entraide judiciaire émanant du Tribunal de Grande Instance de Marseille, les autorités françaises ont sollicité l'appui du Ministère public de la Confédération en relation avec une procédure en cours ouverte pour participation à une association de malfaiteurs en vue de la préparation d'un crime commis en bande organisée.
Les investigations menées en France ont permis d'établir que B._ et C._, déjà condamnés en Suisse pour des brigandages à main armée et actes préparatoires de brigandage, étaient en contact avec des personnes en Suisse. Il est ainsi apparu vraisemblable qu'ils envisageaient de commettre des infractions criminelles en Suisse.
Un voyage en Suisse de B._ et C._ étant prévu le 5 décembre 2016, la vice-présidente chargée de l'instruction au Tribunal de Grande Instance de Marseille a envoyé en urgence une demande d'entraide aux autorités judiciaires suisses sollicitant la mise sur écoute de plusieurs numéros de téléphone, de procéder à des surveillances physiques de B._ et C._, d'identifier leurs complices, voire de les interpeller en cas de passage à l'acte. Ce voyage avait apparemment pour but de préparer une action criminelle future.
Les mesures de surveillance mises en place ont permis de recueillir de nombreux éléments démontrant que C._ et/ou B._, ainsi que leurs comparses en Suisse, avaient pris part, le 6 décembre 2016, à une tentative de brigandage à la poste de U._, dans le canton de T._ et, le 28 décembre 2016, à un braquage à la banque V._, dans le canton de A.A._.

A._ a fait la connaissance de B._, qu'il considère comme un ami, lors de leur séjour à la prison S._ entre le 1er juin 2013 et le 4 février 2015.
Entre le 9 juin 2016 et le 20 février 2017, A._, de concert avec B._ et D._, a, conformément au plan mis en place, pris notamment les dispositions organisationnelles et techniques décrites ci-après dans le but de commettre un brigandage auprès d'une banque ou d'une poste dans le canton de D.A._.
Le 9 juin 2016, A._ s'est rendu à B.A._, en France, au moyen d'une voiture de marque ddd, où il a rencontré B._ dans un établissement public.
Le 13 janvier 2017, A._ s'est rendu à C.A._, en France, à bord d'un véhicule de marque aaa immatriculé VD ggg, pour y rencontrer et prendre en charge B._, lequel était arrivé vers 14 h 42 avec le TGV en provenance de B.A._. Les deux hommes se sont dirigés dans le secteur de J._, en France, où ils se sont rendus dans un établissement public. A cette occasion, A._ a présenté des documents à B._. Vers 16 h 40, A._ a ramené B._ à la gare de C.A._, où il a repris le train de 17 h 17 pour B.A._. Quant à A._, il est rentré en Suisse.
Le 16 janvier 2017 vers 17 h 30, à W._, dans le canton de D.A._, A._, accompagné de D._, a stationné son véhicule de marque aaa immatriculé VD ggg à la rue... pendant plus de vingt minutes pour effectuer des repérages auprès de la Banque X._. D._ était chargé d'aller changer de l'argent pour le compte de A._ dans cet établissement dans le but de repérer les lieux.
Le 20 janvier 2017 à 11 h 52, à Y._, A._, accompagné de D._, a stationné son véhicule à proximité de la Banque X._. D._ est descendu du véhicule et est allé lire une affiche collée sur la porte de l'établissement, avant de rejoindre A._ dans la voiture. Sur l'affiche, il était inscrit que dans le cadre de la réorganisation, la représentation avait cessé son activité le 27 décembre dernier.
A 11 h 54, A._ et son passager ont repris la route et ont fait deux passages à vitesse réduite devant la poste de Y._, avant de prendre la route en direction de Z._.
Arrivés à Z._, ils ont roulé à vitesse réduite sur l'avenue --- jusqu'à l'avenue..., en passant devant la poste, la banque E._ et la banque V._. Ils sont ensuite repartis en direction de Y._.
A 12 h 04, à Y._, ils ont fait un troisième passage devant la poste, avant de se rendre une nouvelle fois à Z._, au Centre Manor, où ils ont mangé. Ils ont ensuite quitté le secteur à 12 h 49 et ont pris la direction de F._.
A 13 h 05, à F._, ils se sont immobilisés sur le parking de la banque E._. D._ est descendu du véhicule pour faire des repérages. Une minute plus tard, il a à nouveau rejoint le véhicule et le duo a pris la direction de G._. A 13 h 18, A._ a déposé D._ à G._ avant de rentrer seul en direction de H._.
Le 21 janvier 2017, depuis le canton de E.A._, A._, au volant de son véhicule de marque aaa immatriculé VD ggg, a fait un aller-retour à B.A._, où il a rencontré B._ dans un établissement public. Il a passé environ 90 minutes dans la cité F.A._ avant de reprendre la route pour la Suisse.
Le 20 février 2017, tandis que la police française constatait que B._ prenait la route en direction de la Suisse, à 12 h 45, A._ se rendait au volant d'un véhicule de marque bbb immatriculé VD fff à l'agence de location de véhicules I._, sise à H._. A cet endroit, il a déposé le véhicule bbb et a pris possession d'un véhicule de location de marque ccc immatriculé VD hhh. A._ s'est ensuite rendu seul à bord du véhicule de location à la gare de C.A._, où il a rencontré B._ dès 14 h 30. Jusqu'à C.A._, A._ a fait des manoeuvres d'évitement de contre-filature et a probablement éteint son téléphone cellulaire, aucune donnée de géolocalisation n'étant disponible durant cette période. Les deux acolytes se sont ensuite rendus dans un bar du centre commercial de J._. A 16 h 45, après avoir déambulé un instant aux abords du centre commercial, les deux hommes se sont séparés. A._ a repris la route en direction de H._ à bord du véhicule de location tandis que B._ est rentré à B.A._. Au terme de la journée et toujours au volant de la voiture de location, A._ s'est rendu à K._, où il a pris en charge D._. A 19 h 45, après un passage à l'agence de location, A._ et D._ se sont rendus à la gare de H._ à bord du véhicule de marque bbb immatriculé VD fff. D._ est sorti du véhicule avec une valise argentée et s'est rendu sous gare vers les consignes, avant de rejoindre A._ quelques minutes plus tard sans la valise. A._ et son acolyte sont ensuite retournés à son domicile de H._.
B.b. Entre les mois de février et de mars 2018, puis entre les mois d'avril et de mai 2019, à H._, à L._ et ailleurs dans le canton de E.A._, A._ a consommé de la cocaïne et de la MDMA.
Le 3 mai 2019, à M._, A._ a été interpellé en possession de 2,8 grammes de cocaïne destinés à sa consommation personnelle.
B.c. Le 7 mars 2018 vers 19 h 40, à H._, au volant de son véhicule de marque eee immatriculé VD iii, A._ a circulé à petite vitesse mais à haut régime, provoquant une pollution sonore inutile et excessive. Sur le chemin..., il a bifurqué à droite en franchissant un signal d'interdiction générale de circuler dans les deux sens. Attirée par le comportement du véhicule qui la précédait, la police a enclenché ses feux bleus sans avertisseur et le signal « Stop police ». A la vue de ces signaux, A._ a accéléré à deux reprises pour tenter d'échapper au contrôle de police. Empêché de poursuivre sa route en raison d'un véhicule qui sortait d'un parking, il s'est arrêté en travers de la chaussée et a tenté de fuir à pied sans couper le moteur de son véhicule. Il s'est alors fait interpeller par la police. A la suite du contrôle, il s'est avéré que A._ conduisait sous l'emprise de cocaïne et d'amphétamines.
B.d. A H._ notamment, à tout le moins entre le mois de janvier 2018 et le 23 mars 2018, date de son interpellation dans le cadre de la procédure dans le canton de D.A._, puis entre le 22 juin 2018, date de sa libération dans le cadre de la procédure dans le canton de D.A._ et le 3 mai 2019, date de son interpellation dans la procédure dans le canton de E.A._, A._ a acheté, conditionné, vendu et détenu pour la vente au moins 447,5 grammes de cocaïne pure, qu'il a ensuite écoulés ou voulu vendre dans la région de H._ notamment.
Entre janvier 2018 et le 23 mars 2018, A._ a vendu de la cocaïne à des tiers et s'est fourni en cocaïne auprès de N._. Entre le 23 juin 2018 et le 4 août 2018, A._ a acheté 215 grammes de cocaïne destinés à la vente auprès de N._, représentant une quantité totale de cocaïne pure d'au moins 75,2 grammes compte tenu du taux de pureté de la drogue, qui se situe entre 35 % et 74,80 %.
Entre les mois de septembre ou octobre 2018 et le 3 mai 2019, A._ a vendu 150 grammes nets de cocaïne à O._, représentant une quantité totale de cocaïne pure d'au moins 52,5 grammes compte tenu du taux de pureté de la drogue, qui se situe entre 35 % et 74,80 %.
Entre les mois de décembre 2018 et de février 2019, A._ a conditionné à deux reprises 200 grammes de cocaïne destinés à la vente avec l'aide de O._, soit un total de 400 grammes de cocaïne, représentant une quantité totale de cocaïne pure d'au moins 140 grammes au vu du taux de pureté de la drogue, qui se situe entre 35 % et 74,80 %. La marchandise a ensuite été écoulée par A._.
Au mois d'avril 2019, à H._, A._ a conditionné 190,4 grammes nets de cocaïne destinée à la vente avec l'aide de O._. La marchandise a été retrouvée dans un sac caché dans le dépôt de l'entreprise P._, à H._. Le taux de pureté de la marchandise saisie était de 35 %, représentant une quantité totale de cocaïne pure de 66,6 grammes.
Le 4 mai 2019, lors de la perquisition menée dans le dépôt de l'entreprise P._, 151,3 grammes nets de cocaïne appartenant à A._ ont été découverts. Cette marchandise, dont le taux de pureté était de 74,80 %, représentant une quantité totale de cocaïne pure de 113,17 grammes, était destinée à la vente.
Le 4 mai 2019, lors de la perquisition effectuée au domicile des parents de A._, à H._, la somme de 35'000 fr. appartenant à A._ et provenant de son trafic de stupéfiants a été découverte en coupures de 50 fr., 100 fr. et 200 fr., cachée dans des vestes de femme.
Entre les mois de septembre ou octobre 2018 et le 3 mai 2019, à H._, A._ a vendu 300 pilules d'ecstasy à O._ au prix de 3 fr. 50 la pilule, correspondant à un chiffre d'affaires de plus de 1'050 francs.
Le 3 mai 2019, à M._, A._ a été interpellé en possession de 2 pilules d'ecstasy et de 0,7 gramme de MDMA destinés à la vente.
B.e. Le 3 mai 2019 à 22 h 20, entre H._ et Q._, à la hauteur du giratoire de M._, A._ a conduit son véhicule automobile de marque aaa immatriculé VD ggg sous l'emprise de stupéfiants et alors qu'il faisait l'objet d'un retrait du permis de conduire valable depuis le 1er décembre 2018.
B.f. Depuis une date indéterminée jusqu'au 4 mai 2019, à H._, A._ a détenu, pour la vente, 1'000 pilules de Tadalafil, médicament ne pouvant être obtenu que sur ordonnance médicale.
B.g. Depuis une date indéterminée jusqu'au 4 mai 2019, à L._ et à H._, A._ a détenu un revolver sans être titulaire d'un permis de port d'arme, lequel a été retrouvé dans le dépôt de l'entreprise P._ dans un sac de sport qui contenait des stupéfiants. La fouille approfondie du véhicule de marque aaa immatriculé VD ggg, conduit par A._, a en outre notamment permis la découverte d'un taser, d'un coup-de-poing américain, de trois brouilleurs d'ondes, d'un détecteur d'ondes et d'un couteau à ouverture automatique. Le taser et le poing américain étaient dissimulés à l'intérieur de la portière conducteur, sous la console électrique servant à contrôler l'ouverture de la fenêtre.
C.
A._ forme un recours en matière pénale au Tribunal fédéral contre le jugement du 12 janvier 2021. Il conclut avec suite de frais et dépens, principalement, à sa réforme en ce sens qu'il " est libéré des chefs de prévention nos 1, 4, 5, 6 et 8 de l'acte d'accusation ". Il conclut qu'il est condamné à une peine privative de liberté dont la quotité est fixée à dire de justice, mais dans tous les cas inférieure à 3 ans. Une indemnité fondée sur l'<ref-law> lui est allouée à hauteur de 66'778 fr., ainsi qu'une indemnité fondée sur l'art. 429 al. 1 let. c CPP à hauteur de 250 fr. par jour de détention subie.
Subsidiairement, il conclut à l'annulation du jugement, le dossier de la cause étant renvoyé à la cour cantonale pour complément de l'instruction, soit notamment que la cour cantonale obtienne et verse au dossier de la présente cause, le dossier complet relatif aux demandes d'entraide judiciaire adressées réciproquement par la France et la Suisse au sujet de B._ et C._, ainsi que les deux commissions rogatoires du 5 décembre 2016 et du 16 janvier 2017 adressées par le Tribunal de Grande Instance de Marseille aux autorités suisses, et que la cour cantonale obtienne et verse au dossier de la présente cause, le dossier instruit à l'encontre de N._.
Plus subsidiairement, il conclut que " le jugement rendu le 22 octobre 2018 par la Cour d'appel pénale du Tribunal cantonal du canton de Vaud est annulé, le dossier de la cause étant renvoyé à l'autorité précédente pour nouvelle décision dans le sens des considérants à intervenir ". On comprend que le recourant conclut, en réalité, à l'annulation du jugement attaqué du 12 janvier 2021, dès lors que la date du jugement mentionnée est manifestement erronée.
Il sollicite par ailleurs l'assistance judiciaire et la désignation de Me Loïc Parein en qualité de défenseur d'office.
Considérant en droit :
1.
Le recourant se plaint d'une violation de l'<ref-law> (applicable aux débats d'appel par le renvoi de l'<ref-law>), dès lors que la cour cantonale n'a pas donné suite à ses réquisitions de preuves dans le cadre de sa condamnation pour des actes préparatoires délictueux de brigandage.
1.1. Le droit d'être entendu, garanti à l'art. 29 al. 2 Cst., comprend notamment celui de produire ou de faire administrer des preuves, à condition qu'elles soient pertinentes et de nature à influer sur la décision à rendre (<ref-ruling> consid. 7.2.2.1; <ref-ruling> consid. 4.1 142 II 218 consid. 2.3; <ref-ruling> consid. 6.3.1et les références citées). Le droit d'être entendu n'empêche pas le juge de mettre un terme à l'instruction lorsque les preuves administrées lui ont permis de se forger une conviction et que, procédant de manière non arbitraire à une appréciation anticipée des preuves qui lui sont encore proposées, il a la certitude qu'elles ne pourraient pas l'amener à modifier son opinion. Le refus d'instruire ne viole ainsi le droit d'être entendu des parties que si l'appréciation anticipée de la pertinence du moyen de preuve offert, à laquelle le juge a procédé, est entachée d'arbitraire (<ref-ruling> consid. 3.1.3; <ref-ruling> consid. 3.3; <ref-ruling> consid. 5.3).
1.2. Selon l'<ref-law>, la procédure de recours se fonde sur les preuves administrées pendant la procédure préliminaire et la procédure de première instance. L'<ref-law> règle les preuves complémentaires. Ainsi, la juridiction de recours administre, d'office ou à la demande d'une partie, les preuves complémentaires nécessaires au traitement du recours. Le droit d'être entendu, consacré par l'<ref-law>, garantit aux parties le droit de déposer des propositions relatives aux moyens de preuves (al. 1 let. e). Conformément à l'<ref-law>, il n'y a pas lieu d'administrer des preuves sur des faits non pertinents, notoires, connus de l'autorité ou déjà suffisamment prouvés. Cette disposition codifie, pour la procédure pénale, la règle jurisprudentielle déduite de l'art. 29 al. 2 Cst. en matière d'appréciation anticipée des preuves (arrêts 6B_1371/2020 du 15 septembre 2021 consid. 2.1; 6B_211/2021 du 2 août 2021 consid. 3.2; 6B_1269/2020 du 23 juin 2021 consid. 2.1 et les références citées).
1.3. La cour cantonale a rejeté la demande de production des commissions rogatoires des 5 décembre 2016 et 16 janvier 2017 estimant qu'elle n'apporterait aucun élément utile, dans la mesure où elle n'était pas susceptible d'invalider les preuves recueillies fortuitement par le biais des observations mises en oeuvre. La cour cantonale a retenu que le Tribunal de Grande Instance de Marseille avait sollicité l'appui du Ministère public fédéral dans le cadre d'une procédure ouverte en France contre B._ et C._, car il était vraisemblable que ces deux individus envisageaient de commettre des infractions criminelles en Suisse. La cour cantonale a reconnu que les commissions rogatoires des 5 décembre 2016 et 16 janvier 2017 ne figuraient pas au dossier. Toutefois, elle a relevé que ces commissions rogatoires ne visaient pas personnellement le recourant, mais qu'elles visaient les deux ressortissants français. Ce n'est que dans le cadre de la surveillance de ces deux individus que le recourant avait été identifié, le 13 janvier 2017, par la police fédérale suisse. Celui-ci n'avait pas été identifié sur la base d'écoutes téléphoniques, mais uniquement par le biais des observations mises en oeuvre. Son implication dans les actes préparatoires à brigandage qui faisaient l'objet de l'ordre de surveillance à l'encontre des deux ressortissants français avait donc été découverte de manière fortuite au sens de l'<ref-law> dans le cadre de l'exécution de la commission rogatoire.
1.4. En substance, le recourant prétend que la cour cantonale aurait dû compléter l'instruction en requérant la production du dossier complet relatif aux demandes d'entraide adressées réciproquement par la France à la Suisse à son sujet, ainsi qu'au sujet de B._ et C._, notamment les commissions rogatoires des 5 décembre 2016 et 16 janvier 2017 adressées par le Tribunal de Grande Instance de Marseille aux autorités suisses. Le recourant soutient qu'il s'agirait là de la seule manière de faire la lumière sur la question de savoir si les échanges d'informations entre la Suisse et la France ont été opérés de manière licite. Or, il ressort du jugement attaqué que les commissions rogatoires ne le visaient pas personnellement, et contrairement à ce que soutient le recourant, ce dernier n'avait pas été identifié sur la base d'écoutes téléphoniques (cf. infra. consid. 2.4). Par conséquent, la cour cantonale a estimé de manière convaincante que la production des commissions rogatoires des 5 décembre 2016 et 16 janvier 2017 n'apporterait aucun élément utile au traitement de l'appel, dans la mesure où elle n'était pas susceptible d'invalider les preuves recueillies.
2.
Le recourant conteste sa condamnation pour des actes préparatoires délictueux de brigandage, dès lors que la cour cantonale se serait fondée sur des moyens de preuves illicites. A cet égard, il invoque une violation de l'<ref-law> et conteste l'établissement des faits par la cour cantonale.
2.1. Le Tribunal fédéral n'est pas une autorité d'appel, auprès de laquelle les faits pourraient être rediscutés librement. Il est lié par les constatations de fait de la décision entreprise (<ref-law>), à moins que celles-ci n'aient été établies en violation du droit ou de manière manifestement inexacte au sens des art. 97 al. 1 et 105 al. 2 LTF, à savoir pour l'essentiel de façon arbitraire au sens de l'art. 9 Cst. Une décision n'est pas arbitraire du seul fait qu'elle apparaît discutable ou même critiquable; il faut qu'elle soit manifestement insoutenable et cela non seulement dans sa motivation, mais aussi dans son résultat (<ref-ruling> consid. 1.3.1; <ref-ruling> consid. 1.1; <ref-ruling> consid. 2.3.1). Le Tribunal fédéral n'entre en matière sur les moyens fondés sur la violation de droits fondamentaux, dont l'interdiction de l'arbitraire, que s'ils ont été invoqués et motivés de manière précise (<ref-law>; <ref-ruling> consid. 1.1). Les critiques de nature appellatoire sont irrecevables (<ref-ruling> consid. 1.3.1; <ref-ruling> consid. 1.1). En matière d'appréciation des preuves et d'établissement des faits, il n'y a arbitraire que lorsque l'autorité ne prend pas en compte, sans aucune raison sérieuse, un élément de preuve propre à modifier la décision, lorsqu'elle se trompe manifestement sur son sens et sa portée, ou encore lorsque, en se fondant sur les éléments recueillis, elle en tire des constatations insoutenables (<ref-ruling> consid. 3.6.2; <ref-ruling> consid. 1.1 et les références citées).
2.2. Dans le système de l'EIMP, toute transmission d'information à l'étranger doit en principe être précédée d'une décision de l'autorité suisse d'exécution se prononçant sur l'octroi et l'étendue de l'entraide judiciaire (<ref-law>). Cette décision de clôture permet aux personnes touchées par la mesure d'entraide de faire valoir leurs objections et, le cas échéant, de recourir (art. 80b et 80e EIMP). Certains actes d'entraide peuvent faire exception à ce principe fondamental et impliquer une transmission prématurée d'informations à l'Etat requérant. Il s'agit notamment de l'autorisation donnée aux enquêteurs étrangers d'assister à l'exécution de la demande (<ref-law> et 26 OEIMP), de la transmission spontanée d'information (<ref-law>), de l'audition par vidéoconférence ou par conférence téléphonique, et des divers moyens d'investigation impliquant la participation en Suisse d'enquêteurs étrangers (observation transfrontalière, livraison surveillée, enquête discrète et équipes communes d'enquête). Ces divers actes d'entraide peuvent être admis en droit suisse moyennant des précautions particulières, dans la mesure où ils sont expressément prévus par le droit interne ou lorsqu'ils sont imposés par les dispositions d'un traité international d'application immédiate (<ref-ruling> consid. 2.1).
2.3. La cour cantonale a retenu que le recourant n'avait pas été identifié sur la base d'écoutes téléphoniques, mais uniquement par le biais des observations mises en oeuvre. Le recourant avait été identifié par la police fédérale suisse le 13 janvier 2017, et à cette époque il n'était pas personnellement visé par une commission rogatoire. Son implication dans les actes préparatoires à brigandage, pour lesquels les deux ressortissants français faisaient l'objet de l'ordre de surveillance avait été découverte de manière fortuite au sens de l'<ref-law> dans le cadre de l'exécution de la commission rogatoire. La cour cantonale a estimé que les moyens de preuves recueillis dans ce cadre pouvaient dès lors être exploités à la condition qu'il ait lui-même pu faire l'objet d'une mesure de surveillance. Tel était le cas, puisque les mesures d'investigation ordonnées par le Procureur fédéral avaient été confirmées par des ordonnances et avalisées par la suite par le Tribunal cantonal des mesures de contrainte, y compris celles concernant le recourant, que l'instruction avait été reprise dès le 20 janvier 2017 par le Ministère public valaisan, dès lors qu'il était apparu que le recourant, ressortissant de ce canton, était impliqué dans les actes préparatoires et que toutes les mesures de surveillance ordonnées à son encontre avaient été ensuite avalisées par le Tribunal des mesures de contrainte valaisan.
2.4. Sans même invoquer l'arbitraire, le recourant critique le fait que la cour cantonale a retenu que son identification ne découlait pas des mesures de surveillance des télécommunications. Il prétend que le dossier valaisan serait truffé de références à des informations venant des autorités françaises ou suisses issues de la surveillance des communications qui auraient permis aux autorités de se renseigner sur lui. Le recourant fait état du fait que, dans le rapport complémentaire d'exécution de la commission rogatoire du 5 décembre 2016, la police judiciaire indiquerait " nous apprenions de nos homologues français que B._ prévoyait de venir en Suisse dans les jours à venir " et qu'il ressortirait de la commission rogatoire du 29 novembre 2017 que le Ministère public valaisan aurait indiqué que les deux ressortissants français " étaient en contact avec des personnes en Suisse ", qu"un voyage en Suisse de B._ et C._ était prévu le 5 décembre 2016 " et que le Tribunal de Grande instance de Marseille avait envoyé en urgence une demande d'entraide sollicitant la mise sur écoute de plusieurs numéros de téléphone, ce qui avait donné lieu à la mise sur écoute de différents raccordements téléphoniques en Suisse. Les éléments invoqués par le recourant, qui ressortent d'ailleurs du jugement attaqué, ne font que confirmer que les deux ressortissants français avaient été mis sous écoute suite à la demande émanant des autorités françaises du 5 décembre 2016. Cela étant, aucun élément ne démontre que l'identification du recourant serait issue d'une écoute téléphonique et encore moins que le résultat d'écoutes aurait été transmis en " temps réel " entre les autorités suisses et françaises. Partant, le recourant ne démontre aucunement que la cour cantonale aurait versé dans l'arbitraire en retenant que le recourant n'avait pas été identifié sur la base d'écoutes téléphoniques.
2.5. En substance, le recourant prétend que les moyens de preuves seraient illicites. Son argumentation consiste à dire que la jurisprudence du Tribunal fédéral (cf. <ref-ruling> consid. 2) interdit la transmission anticipée d'information issue d'écoutes téléphoniques dans le cadre de l'entraide internationale. Certes, dans l'arrêt précité, le Tribunal fédéral a jugé que sans révision législative, l'<ref-law> ne permettait pas la transmission anticipée (c'est-à-dire avant toute décision de clôture) d'écoutes téléphoniques. Cet arrêt concernait la transmission anticipée à la France (État requérant) d'écoutes téléphoniques. Cette pratique a été jugée inadmissible à défaut d'une base légale ou conventionnelle. Postérieurement à cet arrêt est entré en vigueur, le 1er juillet 2021, l'<ref-law>, dont la note marginale est "Transmission anticipée d'informations et de moyens de preuve" (RO 2021 360). Il est vrai que cette codification législative est postérieure aux faits litigieux. Cela étant, l'argumentation du recourant présuppose que les autorités suisses ou françaises, le recourant ne le spécifie pas, se seraient transmises le résultat d'écoutes téléphoniques en temps réel en violation de la jurisprudence en matière d'entraide. Or, une telle configuration ne ressort pas de la présente affaire. En effet, la cour cantonale a retenu, sans que le recourant n'en démontre l'arbitraire (cf. supra consid. 2.4), qu'il n'avait pas été identifié sur la base des écoutes téléphoniques. En outre, il ressort du jugement attaqué que le recourant, avant le 13 janvier 2017, n'avait pas été identifié et, que ce jour-là, ce fut la police fédérale qui était parvenue à l'identifier. On comprend également qu'à cette date, faute d'identification, le recourant ne faisait pas encore l'objet d'une demande d'entraide judiciaire. Il ressort du dossier que le 13 janvier 2017, la police française observait, sur son propre territoire, B._, qui s'était rendu en train à C.A._, en France. A cette occasion, la police française a repéré un individu inconnu qui l'avait pris en charge dans son véhicule, aaa, immatriculée en Suisse (VD ggg). On comprend ainsi que l'information concernant le véhicule a été transmise à la police fédérale puisque celle-ci a pu déterminer que l'inconnu était le fils du propriétaire de la voiture, à savoir le recourant (Rapport d'exécution de la CRI de Marseille du 5 décembre 2016, fedpol, p. 14 s., pièces 197 s.; <ref-law>). Dès lors que le recourant n'avait pas encore été identifié et qu'il ne faisait aucunement l'objet d'une demande d'entraide internationale, on ne voit pas comment le résultat d'écoutes téléphoniques ou même d'observations transfrontalières (cf. <ref-ruling> consid. 2.2) à son encontre aurait pu être transmis " en temps réel " en violation des règles applicables en matière d'entraide internationale. La transmission par la police française d'informations relatives au véhicule vaudois conduit par une personne non identifiée à la police fédérale constituait une simple communication spontanée d'information (cf. art. 11 Accord du 9 octobre 2007 entre le Conseil fédéral suisse et le Gouvernement de la République française relatif à la coopération transfrontalière en matière judiciaire, policière et douanière [ci-après: Accord avec la France; RS 0.360.349.1]) qui intervenait alors que le suspect n'avait pas été identifié et contre qui aucune demande d'entraide n'avait encore été formulée. Une telle transmission spontanée d'information permettait à la Suisse d'identifier l'inconnu, vraisemblablement lié à la Suisse en raison des plaques de son véhicule, cas échéant d'ouvrir une instruction contre lui et de formuler une demande d'entraide. En l'occurrence, il s'est avéré qu'il s'agissait d'un ressortissant du canton de D.A._, de telle sorte qu'une instruction a été ouverte dans ce canton et que les autorités ont pu, dans le respect du droit, ordonner des mesures de surveillance à son encontre. Pour le reste, le recourant n'explique pas quels moyens de preuves, en particulier, auraient été transmis, selon lui, en violation des règles en matière d'entraide, ni même par quelles autorités. Le grief du recourant est rejeté dans la mesure où il est recevable.
3.
Le recourant se plaint d'une violation de la maxime d'accusation.
3.1. Le principe de l'accusation est consacré à l'<ref-law>, mais découle aussi des art. 29 al. 2 Cst., 32 al. 2 Cst. et 6 par. 1 et 3 let. a et b CEDH. Selon ce principe, l'acte d'accusation définit l'objet du procès (fonction de délimitation). Il doit décrire les infractions qui sont imputées au prévenu de façon suffisamment précise pour lui permettre d'apprécier, sur les plans subjectif et objectif, les reproches qui lui sont faits (<ref-ruling> consid. 3.4.1). Le principe d'accusation vise également à protéger le droit à une défense effective et le droit d'être entendu (fonction d'information). Le contenu de l'acte d'accusation doit ainsi permettre au prévenu de s'expliquer et préparer efficacement sa défense (<ref-ruling> consid. 2.2; <ref-ruling> consid. 3.4.1; <ref-ruling> consid. 6.2 et les références citées).
3.2. Les <ref-law> règlent la mise en accusation, en particulier le contenu strict de l'acte d'accusation. Selon l'<ref-law>, l'acte d'accusation désigne notamment les actes reprochés au prévenu, le lieu, la date et l'heure de leur commission ainsi que leurs conséquences et le mode de procéder de l'auteur (let. f); les infractions réalisées et les dispositions légales applicables de l'avis du ministère public (let. g). En d'autres termes, l'acte d'accusation doit contenir les faits qui, de l'avis du ministère public, correspondent à tous les éléments constitutifs de l'infraction reprochée à l'accusé.
3.3. En substance, le recourant soutient que la maxime d'accusation aurait été violée, car l'acte d'accusation ne décrirait pas qu'il avait avec ses comparses pour intention de commettre un vol en faisant usage d'un moyen de contrainte. Or, la cour cantonale a relevé que l'acte d'accusation indiquait, après avoir exposé le contexte de la surveillance mise en oeuvre et les liens entre les protagonistes, à son ch. 1. 3 que " Entre le 9 juin 2016 et le 20 février 2017, A._, de concert avec B._ et D._ qui font l'objet de procédures distinctes auprès d'autres juridictions, a conformément au plan mis en place pris notamment les dispositions organisationnelles et techniques décrites ci-après dans le but de commettre un brigandage auprès d'une banque ou d'une poste dans le canton de D.A._ ". L'acte d'accusation mentionnait ensuite, à son ch. 1.4, le détail de l'activité reprochée au recourant, notamment les rencontres avec ses complices et les différents repérages effectués, précisant que l'art. 260bis al. 1 let. d et 3 CP paraissait applicable et reprenant le texte légal des art. 260bis al. 1 let. d et 3 CP et 140 ch. 1 al. 1 et ch. 3 CP. En outre, le ministère public, dans son acte d'accusation, se réfère systématiquement aux pièces et procès-verbaux d'audition pertinents (Acte d'accusation du 5 juin 2020, p. 5; <ref-law>). Dans ces circonstances, la cour cantonale a estimé, à raison, qu'en indiquant en détail les activités reprochées au recourant et en retenant qu'il avait " pris notamment les dispositions organisationnelles et techniques [...] dans le but de commettre un brigandage auprès d'une banque ou d'une poste ", l'acte d'accusation était suffisamment précis pour permettre au prévenu de comprendre les faits qui lui étaient reprochés, les infractions réalisées et les dispositions légales applicables de l'avis du ministère public étant de surcroît mentionnées. Le recourant avait ainsi pu préparer sa défense en conséquence.
Compte tenu de ce qui précède, la cour cantonale n'a pas violé la maxime d'accusation. Le grief du recourant est rejeté dans la mesure où il est recevable.
4.
Le recourant se plaint d'une violation de la présomption d'innocence et d'arbitraire, dès lors que la cour cantonale n'aurait pas démonté que son intention était de commettre un vol en usant de violence.
4.1. La présomption d'innocence, garantie par les <ref-law>, 32 al. 1 Cst., 14 par. 2 Pacte ONU II et 6 par. 2 CEDH, ainsi que son corollaire, le principe " in dubio pro reo ", concernent tant le fardeau de la preuve que l'appréciation des preuves au sens large (<ref-ruling> consid. 2.2.3.1; <ref-ruling> consid. 2a). En tant que règle sur le fardeau de la preuve, elle signifie, au stade du jugement, que le fardeau de la preuve incombe à l'accusation et que le doute doit profiter au prévenu. Comme règle d'appréciation des preuves (sur la portée et le sens précis de la règle sous cet angle, cf. <ref-ruling> consid. 2.2.3.3), la présomption d'innocence signifie que le juge ne doit pas se déclarer convaincu de l'existence d'un fait défavorable à l'accusé si, d'un point de vue objectif, il existe des doutes quant à l'existence de ce fait. Il importe peu qu'il subsiste des doutes seulement abstraits et théoriques, qui sont toujours possibles, une certitude absolue ne pouvant être exigée. Il doit s'agir de doutes sérieux et irréductibles, c'est-à-dire de doutes qui s'imposent à l'esprit en fonction de la situation objective. Lorsque, comme en l'espèce, l'appréciation des preuves et la constatation des faits sont critiquées en référence au principe " in dubio pro reo ", celui-ci n'a pas de portée plus large que l'interdiction de l'arbitraire (<ref-ruling> consid. 1.3.1; <ref-ruling> consid. 1.1).
4.2. Aux termes de l'<ref-law>, est puni d'une peine privative de liberté de cinq ans au plus ou d'une peine pécuniaire quiconque prend, conformément à un plan, des dispositions concrètes d'ordre technique ou organisationnel, dont la nature et l'ampleur indiquent qu'il s'apprête à passer à l'exécution notamment d'un brigandage (art. 260bis al. 1 let. d CP).
Sont visés par cette disposition les actes antérieurs à la tentative. Une simple intention ou de vagues projets ne sont pas suffisants. Il faut que l'auteur ait pris des dispositions concrètes et qu'il l'ait fait conformément à un plan. Il faut donc que l'auteur ait accompli plusieurs actes et que ceux-ci apparaissent comme des préparatifs s'inscrivant dans une entreprise réfléchie (<ref-ruling> consid. 2b; arrêts 6B_482/2020 du 7 octobre 2020 consid. 2.1; 6B_1159/2018 du 18 septembre 2019 consid. 3.3.2, non publié in <ref-ruling>). Il n'est toutefois pas nécessaire que le plan ait été précis au point de se rapporter à une infraction déjà définie quant au lieu, au moment et à la manière d'agir (<ref-ruling> consid. 2b). L'<ref-law> mentionne des dispositions d'ordre technique ou d'organisation. En font notamment partie les actes par lesquels l'auteur se procure les moyens pratiques d'exécuter l'infraction, par exemple le fait de se procurer une arme, et ceux par lesquels il prépare l'opération et met au point son déroulement, par exemple, le fait de repérer les lieux. Il faut encore que la nature et l'ampleur des dispositions prises indiquent que l'auteur s'apprêtait à passer à l'exécution de l'infraction, c'est-à-dire que, par leur nature et leur ampleur, les actes accomplis soient tels que l'on puisse raisonnablement admettre que l'auteur persévérera dans la volonté délictueuse qu'ils expriment jusqu'à l'exécution de l'infraction (<ref-ruling> consid. 2b p. 158; arrêts 6B_482/2020 du 7 octobre 2020 consid. 2.1; 6B_1159/2018 précité consid. 3.3.2).
Sur le plan subjectif, l'infraction est intentionnelle. L'intention doit porter aussi bien sur les actes préparatoires que sur l'infraction projetée. Il faut donc que l'auteur ait accompli consciemment et volontairement des actes préparatifs en vue de la commission de l'un des crimes énumérés à l'<ref-law>. Le dol éventuel n'est pas concevable (arrêt 6S.447/2004 du 23 février 2005 consid. 2.2).
4.3. Déterminer ce qu'une personne a su, envisagé, voulu ou accepté relève des constatations de fait (voir <ref-ruling> consid. 12; <ref-ruling> consid. 6.3), qui lient le Tribunal fédéral, à moins d'avoir été établies de façon arbitraire (<ref-law>).
4.4. Le recourant reproche à la cour cantonale d'avoir retenu qu'il avait l'intention de commettre un vol avec l'utilisation d'un moyen de contrainte, alors qu'aucun élément au dossier ne permettrait de démontrer une telle intention. Il souligne que les armes et autres objets permettant d'imaginer une telle intention avaient été découverts plus de deux ans après les faits reprochés. En l'espèce, la cour cantonale a effectivement reconnu que les perquisitions qui ont permis la découverte, dans le véhicule du recourant et au dépôt de l'entreprise de son père, d'un revolver, d'un taser, d'un poing américain, de trois brouilleurs d'ondes, d'un détecteur d'ondes, d'un couteau, de scotch et de quatre bas de femme notamment n'avaient eu lieu que deux ans après les faits reprochés. Cela étant, la cour cantonale a fondé son intime conviction sur d'autres indices convergents, contrairement à ce que prétend le recourant. Après une description détaillée des actes de repérages, des rencontres entre les protagonistes et des diverses manoeuvres d'évitement effectuées par le recourant, la cour cantonale a retenu que celui-ci et D._ n'avaient pu donner aucune explication rationnelle et cohérente pour expliquer leurs déplacements dans ou à proximité d'offices bancaires ou postaux, leurs propos respectifs étaient contradictoires sur des points essentiels. Ainsi, elle s'est convaincue que les actions observées constituaient des actes de repérage s'inscrivant dans une entreprise criminelle. En outre, elle a retenu que ces déplacements avaient été constatés après un signalement des autorités françaises dans le cadre d'une procédure ouverte en France pour participation à une association de malfaiteurs en vue de la préparation d'un crime commis en bande organisée et s'étaient déroulés en parallèle à trois rencontres entre le recourant et B._. La cour cantonale a souligné à cet égard que ce dernier, bien connu du grand banditisme français, avait été condamné plusieurs fois en France et à une occasion dans le canton de D.A._ pour brigandage et actes préparatoires délictueux à brigandages, et avait été suspecté d'avoir commis les brigandages à main armée perpétrés le 1er décembre 2011 à la Banque X._ à W._ et le 14 mars 2012 à la Banque X._ à Y._, établissement où le recourant et D._ avaient précisément effectué des repérages. Les précautions prises par le recourant, le 20 février 2017, pour rencontrer B._ (utilisation d'un véhicule de location, extinction de son téléphone cellulaire, manoeuvre d'évitement et de contre-filatures effectuées sur le trajet) corroborent en outre le fait que ses repérages s'inscrivaient dans une entreprise criminelle. Elle a retenu qu'il en allait de même des autres rencontres physiques entre le recourant et B._, lesquels se sont vus à plusieurs reprises pour des durées brèves et après de longs trajets, alors qu'ils auraient aisément pu se contacter par téléphone. Le recourant n'avait fourni aucune explication rationnelle, se bornant à affirmer que leurs rencontres avaient un but uniquement amical et n'expliquant pas pour quelle raison elles s'étaient arrêtées abruptement le 20 février 2017. Finalement la cour cantonale a relevé qu'un revolver chargé, une perruque, un masque en latex de vieillard, deux paires de gants et deux écussons de police avaient été notamment retrouvés lors de la perquisition effectuée au domicile de B._ le 19 septembre 2017. Au regard de ces éléments, on ne saurait sous l'angle de l'arbitraire reprocher à la cour cantonale de s'être convaincue que le recourant avait pour intention de commettre un brigandage. L'absence de doute à l'issue d'une appréciation des preuves exempte d'arbitraire exclut la violation de la présomption d'innocence en tant que règle sur le fardeau de la preuve.
5.
Dans le cadre de sa condamnation pour infraction grave à la LStup, le recourant se plaint d'une violation de l'<ref-law> (applicable aux débats d'appel par le renvoi de l'<ref-law>), de la maxime d'instruction (<ref-law>) et de son droit d'être entendu, dès lors que la cour cantonale n'a pas donné suite à sa réquisition tendant à la production du dossier de N._, en particulier tout jugement rendu à son encontre.
5.1. La cour cantonale a rejeté la requête du recourant tendant à la production du dossier et de tout jugement rendu à l'encontre de N._. Elle a retenu que le rapport de synthèse concernant N._ figurait bien au dossier et que le nom du recourant, qui d'ailleurs avait dit ne pas connaître cet individu, n'y apparaissait pas. En outre, N._ n'avait pas mis en cause le recourant et ce n'était que des opérations techniques d'enquête, notamment l'extraction des données du téléphone cellulaire, ainsi que d'autres mises en cause qui avaient permis de relier le recourant à cet individu. Ainsi, elle a estimé que la production des procès-verbaux de N._ ou du jugement rendu à son encontre n'était pas nécessaire pour lui permettre de forger sa conviction quant à l'implication du recourant.
5.2. Le recourant soutient que les auditions de O._, qui avait également été déférée séparément, avaient été produites et que rien ne justifierait de procéder différemment pour N._. Or, il ressort du jugement attaqué que ce dernier n'avait, pour sa part, jamais mis en cause le recourant, ce qui explique amplement cette différence. Le recourant prétend que l'administration de ces preuves aurait été utile et que la cour cantonale aurait privé la défense de la possibilité d'identifier les éléments à décharge. Il soutient également que N._ aurait déclaré que le recourant n'était qu'une connaissance, qu'il n'était pas son associé et qu'il ne s'agissait que du voisin de sa belle-soeur. Partant, le recourant se borne à opposer sa propre appréciation à celle de la cour cantonale concernant la pertinence des réquisitions de preuves. Il ne démontre en rien en quoi l'appréciation anticipée de la pertinence des moyens de preuves à laquelle la cour cantonale a procédé serait entachée d'arbitraire. Le grief du recourant est rejeté dans la mesure où il est recevable.
6.
Invoquant la présomption d'innocence (<ref-law>, 32 al. 1 Cst., 6 par. 2 CEDH et 14 par. 2 Pacte ONU II) et le droit d'être entendu (art. 29 al. 2 Cst., 3 al. 2 let. c CPP) le recourant conteste sa condamnation pour infraction grave à la LStup. A cet égard, il remet en cause l'appréciation des preuves et l'établissement des faits de la cour cantonale.
6.1. La cour cantonale a retenu que l'achat de 215 grammes de cocaïne à N._ par le recourant ressortait de la comptabilité retrouvée dans le téléphone cellulaire de celui-ci sous la dénomination de " xxx 215 ". Le recourant apparaissait sous le surnom de " xxx " dans les contacts de N._, de sorte qu'il ne faisait aucun doute que cette dénomination lui correspondait. En outre, la cour cantonale a retenu qu'il avait été établi grâce à R._ et O._ que le recourant et N._, lequel était un important trafiquant de cocaïne, étaient en affaires en matière de stupéfiants, collaboration qui par ailleurs avait été corroborée par certaines écoutes téléphoniques. Ainsi, la cour cantonale a retenu qu'il ne faisait aucun doute que le nombre " 215 " faisait référence au nombre de grammes de cocaïne que ce grossiste lui avait vendu, de sorte qu'au taux de pureté de 35 % - soit le taux le plus favorable au recourant -, c'était bien l'achat d'une quantité de cocaïne pure destinée à la revente de 75,2 grammes qui devait être retenue.
6.2. En substance le recourant prétend que la cour cantonale se serait fondée uniquement sur la prétendue comptabilité du recourant qui indiquait " xxx 215 " pour affirmer que le nombre " 215 " fasse référence au nombre de grammes de cocaïne que le grossiste lui avait vendu. Il soutient que l'affirmation de la cour cantonale serait arbitraire tant dans sa motivation - en tant qu'elle ne se fonderait sur aucun élément matériel probant - que dans son résultat. La cour cantonale aurait ainsi usé d'un raccourci péremptoire en le condamnant uniquement sur la base d'une note indiquant le chiffre " 215 ", en violation de la présomption d'innocence. En l'espèce, on ne saurait, sous l'angle de l'arbitraire reprocher à la cour cantonale de s'être convaincue que le recourant avait acheté 215 grammes de cocaïne au grossiste. La cour cantonale a fondé sa conviction sur un ensemble d'indices convergents. En particulier, elle s'est fondée sur l'indication " xxx 215 " qui ressortait de la comptabilité issue du téléphone cellulaire et grâce au registre des contacts de N._, il avait été établi que le surnom " xxx " correspondait au recourant. La cour cantonale s'est également fondée sur les déclarations de R._ et O._ dont il ressortait que le recourant était en affaires en matière de stupéfiants avec N._, lequel était un important trafiquant de cocaïne. Cette collaboration était aussi corroborée par certaines écoutes téléphoniques. L'absence de doute à l'issue d'une appréciation des preuves exempte d'arbitraire exclut la violation de la présomption d'innocence en tant que règle sur le fardeau de la preuve.
Au surplus, le recourant semble reprocher à la cour cantonale un défaut de motivation. Il apparaît douteux que son grief soit suffisamment motivé, dès lors que le recourant invoque ce principe sans réelle argumentation. Au demeurant, la motivation du jugement est détaillée, les éléments qui ont permis à la cour cantonale de fonder sa conviction, s'agissant de l'achat des 215 grammes de cocaïne, sont mis en exergue, de sorte que le recourant pouvait les contester. Infondé, le grief du recourant doit être rejeté dans la mesure où il est recevable.
6.3.
6.3.1. La cour cantonale a retenu que le recourant avait vendu à O._, entre les mois de septembre ou octobre 2018 et le 3 mai 2019, au moins 52,5 grammes de cocaïne pure, le conditionnement en deux fois avec O._, entre les mois de décembre 2018 et de février 2019, puis la vente d'au moins 140 grammes de cocaïne pure et le conditionnement, au mois d'avril 2019, avec l'aide de la prénommée, d'une quantité de cocaïne pure de 66,6 grammes destinée à la vente, marchandise retrouvée dans le dépôt de l'entreprise du père du recourant. La cour cantonale a retenu que le recourant ait été mis en cause par O._, laquelle s'était ensuite rétractée; toutefois, pour plusieurs raisons, elle a retenu qu'il ne fallait pas tenir compte de son revirement. La cour cantonale a retenu qu'une quantité de 113,2 grammes de cocaïne pure avait également été perquisitionnée dans le dépôt du père du recourant. Elle a exclu que les différentes quantités retenues puissent avoir été comptées à double.
6.3.2. En substance, le recourant reproche à la cour cantonale d'avoir retenu que les déclarations initiales de O._ étaient crédibles, notamment s'agissant des stupéfiants qu'il lui aurait vendus, de la cocaïne qu'il aurait vendue avec son concours et de la cocaïne qu'il aurait conditionnée avec elle pour la vente. Le recourant rediscute de manière purement appellatoire, l'appréciation de la cour cantonale, en particulier lorsqu'il soutient que O._ ne serait pas crédible, car elle avait impliqué le recourant pour des quantités de stupéfiants totalement approximatives; qu'elle aurait à plusieurs reprises modifié les quantités; qu'elle serait connue des services de police pour des consommations de stupéfiants; que ses propos n'avaient cessé de varier; qu'elle avait indiqué avoir eu des contacts téléphoniques, ce qui ne ressortait pas de l'analyse de la communication du recourant; qu'elle s'était rétractée au sujet de l'implication du recourant par écrit et avait confirmé sa rétractation devant la cour cantonale. Il en va de même lorsqu'il critique le fait que la cour cantonale avait donné du crédit aux déclarations de R._ en considérant qu'elles corroboraient celles de la prénommée, alors que la police n'aurait donné aucun crédit aux déclarations de ce dernier. En l'espèce, il convient de souligner, à titre liminaire, que l'avocat du recourant avait été invité par la procureure à assister à l'audition de O._ du 22 août 2019. Or, l'invitation avait été déclinée par ce dernier au profit d'une demande de réception par fax du procès-verbal de l'audition (cf. pièce n° 55, <ref-law>). La cour cantonale a expliqué de manière convaincante pourquoi elle avait retenu les premières déclarations de la prénommée et n'avait pas tenu compte du revirement de celle-ci. A cet égard, la cour cantonale a souligné que la prénommée avait été assistée d'un défenseur lors de ses auditions des 21 et 22 août 2019, à l'occasion desquelles elle avait nommément mis en cause le recourant. Elle n'avait aucunement fait l'objet de pressions et s'était exprimée librement en faisant spontanément référence au recourant, en exposant de manière détaillée les circonstances dans lesquelles elle avait fait sa connaissance et avait oeuvré avec lui, soit lorsque le dénommé N._, avec lequel elle travaillait et qui était par ailleurs associé avec le recourant, s'était fait arrêter. Elle s'était également largement exprimée sur la façon dont les affaires étaient organisées entre le recourant et elle-même, s'agissant notamment du transfert de la marchandise et de la rémunération qu'elle percevait. En outre, la cour cantonale a souligné que ses déclarations initiales étaient corroborées par celles de R._, ainsi que par des éléments matériels, puisque l'ADN de la jeune femme était présente sur des sachets de cocaïne retrouvés chez le recourant. La cour cantonale n'a, à juste titre, donné aucun crédit aux rétractations écrites de la prénommée dans lesquelles elle indiquait avoir menti " sous la pression et la peur de la police ", ainsi qu'au revirement exprimé aux débats de première instance, lors desquels elle avait déclaré que son fournisseur et comparse était un tiers dont elle ne souhaitait pas dévoiler l'identité. Il était, en effet, inconcevable que celle-ci ait pu spontanément mettre en cause son ami pour des faits aussi graves, ce d'autant plus qu'elle n'avait jamais pu expliquer certaines de ses déclarations initiales, qu'elle se mettait elle-même en cause et que son ADN avait été retrouvé à l'intérieur des sachets de drogue saisis chez le recourant, corroborant ses déclarations initiales selon lesquelles ils auraient conditionné ensemble la marchandise. Vu ce qui précède, le recourant n'a pas démontré le caractère arbitraire de l'appréciation de la cour cantonale s'agissant de la crédibilité des déclarations initiales de O._ qui l'avait mis en cause.
6.3.3. Dès lors que la cour cantonale a longuement expliqué les éléments qui lui permettaient d'apprécier la crédibilité des déclarations de la prénommée, le recourant ne peut pas être suivi lorsqu'il prétend que la motivation de la cour cantonale serait hautement déficiente.
6.3.4. Le recourant prétend qu'il était arbitraire de retenir qu'il avait, avec le concours de O._, vendu une quantité de 140 grammes de cocaïne pure et conditionné une quantité pure de cocaïne de 66,6 grammes destinée à la vente. En tant que l'argumentation du recourant consiste uniquement à opposer sa propre appréciation des preuves et sa version des faits à celles de la cour cantonale, elle est purement appellatoire. Il en va notamment ainsi lorsqu'il soutient que les quantités retenues seraient totalement approximatives et ne se fonderaient sur aucun élément matériel; qu'elles n'ont pas été retrouvées; qu'on ne peut pas exclure que ces quantités soient déjà comptées dans celles retrouvées lors des perquisitions et qu'il aurait fallu soustraire ces quantités. Au demeurant, la quantité de 66,6 grammes de cocaïne pure a bien été retrouvée dans le dépôt de l'entreprise du père du recourant; dès lors, on ne voit pas comment elle aurait pu être comptée à double avec d'autres quantités perquisitionnées. En outre, il est exclu que la quantité de 140 grammes de cocaïne pure retenue ait été comptée à double avec les quantités retrouvées lors des perquisitions. En effet, il ressort du jugement attaqué que la quantité de 140 grammes de cocaïne pure avait été vendue, comme en attestait les sommes importantes d'argent retrouvées lors de la perquisition du domicile du recourant. De plus, O._ avait expliqué avoir conditionné de la drogue " à deux autres reprises " durant l'hiver 2018, à chaque fois 200 grammes de cocaïne, de sorte qu'il n'était pas manifestement insoutenable de retenir, comme l'a fait la cour cantonale, que ces quantités n'avaient pas été comptabilisées à double. Les critiques du recourant doivent être rejetées dans la mesure où elles sont recevables.
6.3.5. Ainsi, contrairement à ce que prétend le recourant, sa condamnation en raison de la vente à O._ de 52,5 grammes de cocaïne pure, la vente d'au moins 140 grammes de cocaïne et le conditionnement de 66,6 grammes de cocaïne destinés à la vente ne viole pas la présomption d'innocence. En effet, au regard de ce qui précède, la cour cantonale n'a pas versé dans l'arbitraire en retenant que le recourant avait commis les faits qui lui sont reprochés.
6.3.6. Le recourant reproche à la cour cantonale d'avoir retenu que la quantité de 113,2 grammes de cocaïne pure retrouvée dans le dépôt de l'entreprise de son père n'avait pas déjà été comptabilisée dans les autres quantités retenues. Son argumentation consiste à remettre en doute la crédibilité des déclarations de O._ s'agissant du conditionnement de la drogue sur lesquelles la cour cantonale s'est fondée. Or, la cour cantonale a retenu, sans arbitraire, que les déclarations de celle-ci étaient crédibles (cf. supra consid. 6.3.2). En outre, dans la mesure où le recourant invoque également, à cet égard, la présomption d'innocence, celle-ci n'a pas de portée plus large que l'interdiction de l'arbitraire.
6.4.
6.4.1. La cour cantonale retenu que le recourant avait vendu 300 pilules d'ecstasy à O._.
6.4.2. Invoquant une violation de la présomption d'innocence le recourant conteste avoir vendu de la MDMA et de l'ecstasy à O._. A nouveau, pour seul argument, il s'attaque à la crédibilité des déclarations de O._ sur lesquelles la cour cantonale s'est fondée, sans toutefois avoir démontré qu'elle aurait fait preuve d'arbitraire (cf. consid. 6.3.2). En outre, il ne ressort nullement du jugement attaqué qu'il aurait vendu de la MDMA à O._, de sorte qu'il n'a pas été condamné pour ces faits. Le recourant semble avoir perdu de vue que cet élément n'avait pas été retenu à son encontre, dans le bénéfice du doute, dans le jugement de première instance (cf. Jugement du tribunal criminel du 18 août 2020, p. 38). Partant, les critiques du recourant sont irrecevables.
6.5.
6.5.1. La cour cantonale a retenu que les deux pilules d'ecstasy et les 0,7 gramme de MDMA retrouvés sur lui étaient destinés à la vente.
6.5.2. Invoquant une violation de la présomption d'innocence et l'arbitraire, le recourant conteste avoir eu l'intention de vendre la MDMA et l'ecstasy retrouvées en sa possession lors de son interpellation. Pour toute argumentation, il se limite à dire qu'au regard des très faibles quantités concernées la cour cantonale aurait dû retenir qu'il n'avait pas l'intention de les vendre et qu'il n'aurait jamais admis ces faits. Purement appellatoire son argumentation est irrecevable.
7.
Invoquant la présomption d'innocence garantie par les <ref-law>, 32 al. 1 Cst., 6 par. 2 CEDH et 14 par. 2 Pacte ONU II, le recourant conteste sa condamnation pour infraction à la loi fédérale sur les produits thérapeutiques.
En substance, la cour cantonale a retenu que le recourant avait détenu 1'000 pilules de Tadalafil pour la vente. Le recourant prétend que la cour cantonale ne se serait fondée sur aucun élément matériel. Il critique le fait que, contrairement à l'Aténolol et Clenbutérol retrouvés chez lui, il n'aurait pas été acquitté s'agissant des pilules de Tadalafil uniquement en raison de l'endroit où elles avaient été retrouvées. La cour cantonale a retenu que les 1'000 pilules de Tadalafil avaient été retrouvées avec les sachets de cocaïne et le matériel de conditionnement lors de la perquisition de l'entrepôt du père du recourant, contrairement aux deux autres substances, qui avaient été retrouvées dans son logement, ce qui pouvait laisser présumer leur détention pour sa consommation personnelle, ce d'autant plus qu'il avait toujours soutenu avoir consommé du Clenbutérol pendant des périodes de sèche, parfois jusqu'à huit pièces par jour. La cour cantonale a retenu qu'en raison de l'endroit où les pilules étaient entreposées, mais également, sur la base du nombre de pilules détenues, il était exclu qu'elles aient pu avoir été destinées à sa consommation personnelle. Au vu des explications données, il n'était pas manifestement insoutenable de retenir, comme l'a fait la cour cantonale, que le recourant en faisait le commerce quand bien même il ne disposait d'aucune autorisation à cet effet. Ce faisant, la cour cantonale n'a pas versé dans l'arbitraire, ni violé la présomption d'innocence. Les critiques du recourant doivent être rejetées dans la mesure où elles sont recevables.
8.
Le recourant invoque une réduction de la peine fondée sur son acquittement " des chefs de prévention nos 1, 4, 5, 6 et 8 de l'acte d'accusation ". Dès lors qu'il ne l'obtient pas, cette argumentation est irrecevable.
9.
Le recourant conclut à l'octroi d'indemnités fondées sur l'art. 429 al. 1 let. a et c CPP en lien avec l'acquittement qu'il réclame. Comme le prénommé n'obtient pas celui-ci, sa conclusion est sans objet.
10.
Le recours doit être rejeté dans la mesure où il est recevable. Comme il était dénué de chance de succès, la demande d'assistance judiciaire doit être rejetée (<ref-law>). Le recourant, qui succombe, supporte les frais judiciaires, dont le montant sera fixé en tenant compte de sa situation financière, laquelle n'apparaît pas favorable (art. 65 al. 2 et 66 al. 1 LTF).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté, dans le mesure où il est recevable.
2.
La demande d'assistance judiciaire est rejetée.
3.
Les frais judiciaires, arrêtés à 1'200 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 24 novembre 2021
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
La Présidente : Jacquemoud-Rossari
La Greffière : Meriboute