Live : Architecture Hexagonale en PHP

  Рет қаралды 21,333

Lior CHAMLA - Web Develop Me

Lior CHAMLA - Web Develop Me

Күн бұрын

Пікірлер: 81
@inosuke426
@inosuke426 2 жыл бұрын
Super vidéo, très instructif ! Ton humilité et ta façon de parler rendent le concept moins lourd , c’est vraiment top ! Merci pour le partage
@LiorCHAMLA
@LiorCHAMLA 2 жыл бұрын
Merci beaucoup à toi :)
@jackfuego
@jackfuego 2 жыл бұрын
Excellent pour comprendre ce concept. J'en entends parler de plus en plus, il me fallait un exemple concret, merci pour les travaux. Bsarthek l'accent du Sud, c'est du propre haha.
@mimibato
@mimibato 4 жыл бұрын
Bravo. Instructif, intéressant et suffisamment décalé pour ne pas être relou malgré les tâtonnements. Continue c'est top
@LiorCHAMLA
@LiorCHAMLA 4 жыл бұрын
Merci énormément :)
@alexjswill
@alexjswill Жыл бұрын
Super format merci d'avoir partagé tes progrès et expérimentations. Super boulot Lior.
@RogerKpego
@RogerKpego Жыл бұрын
Super frangin. Très précis et compréhensif,
@fildusfist
@fildusfist 4 жыл бұрын
Super vidéo. Je comprends bien l’intérêt de cette architecture hexagonale. Franchement beau boulot !
@LiorCHAMLA
@LiorCHAMLA 4 жыл бұрын
Merci beaucoup David :)
@yanndeo9501
@yanndeo9501 Жыл бұрын
Hello Lior ce serait bien d'avoir une suite ameliorer , avec une implementation framework sf ou laravel .sinon très bon contenu, très enrichissant
@LiorCHAMLA
@LiorCHAMLA Жыл бұрын
C'est noté💪
@benhadjyoussefzied9629
@benhadjyoussefzied9629 9 ай бұрын
Bravo, tu as bien expliqué l'architecture
@asenarlunin
@asenarlunin 4 жыл бұрын
Petit retour: non ça n'est pas trop déstructuré. Je trouve le format chouette. T'es pas en galère, tu tâtonnes sur un nouvelle techno, c'est plutôt sympa :) Peut être éditer la description avec des liens vers les références dont tu parles :)
@LiorCHAMLA
@LiorCHAMLA 4 жыл бұрын
Dès que j'ai le temps ! :p merci beaucoup !
@oub2402
@oub2402 4 жыл бұрын
Super intéressant. Merci. C'est cool d'avoir une vision de quelqu'un qui débute sur le sujet de l'hexagone. C'est pas un sujet forcément simple mais tu l'as rendu très accessible. Le format en live était cool ça change des vidéos "formaté" J'espère que tu fera d'autres vidéos sur le sujet :)
@LiorCHAMLA
@LiorCHAMLA 4 жыл бұрын
On verra dans le futur, merci en tout cas :)
@Favouille
@Favouille 4 жыл бұрын
Merci pour cette vidéo très instructive pour un débutant sur le sujet comme moi!
@LiorCHAMLA
@LiorCHAMLA 4 жыл бұрын
Merci à toi d'avoir regardé :)
@pierreclavequin3548
@pierreclavequin3548 2 жыл бұрын
Excellente vidéo merci! Mais j'ai une petite question bête :), en quoi l'entity Post à 50:10 n'est pas un DTO ?
@LiorCHAMLA
@LiorCHAMLA 2 жыл бұрын
Bonne question, je viens de revisionner et a priori, c'en est un vu qu'il ne porte aucune logique :D :D
@LinkingWorlds
@LinkingWorlds Жыл бұрын
Super pédagogie Lior, via la pratique + TDD super. Juste un point : ton répertoire domain, aurait dû s'appeler Core. En hexagonal Archi. : Core layer = Domain layer + Application layer, et c'est dans l'Application layer que doivent se trouver les UseCases, et dans la Domain layer que doivent se trouver les Entity(métiers et business logic de celles-ci). ;o). Soit Core/Domain/les entités,etc et Core/Application/les uses cases. Voici une vidéo très courte et synthétique qui peut éclaircir un peu : kzbin.info/www/bejne/gKbFlY1_mbGEaq8
@Jackson-Sean
@Jackson-Sean Жыл бұрын
Merci beaucoup ❤❤❤❤
@QuiEstJohnGalt
@QuiEstJohnGalt 4 жыл бұрын
Ouais c'est pas mal, j'aime bien le format, l'idée et le sujet
@LiorCHAMLA
@LiorCHAMLA 4 жыл бұрын
Merci :)
@toblamabor7072
@toblamabor7072 11 ай бұрын
c'est mieux qu'une vidéo préparée, car tout est naturel et toi-même tu ne sais pas ce que tu va faire par coeur, on comprend mieux. Il y a des nouvelles vidéos sur le sujet?
@birames.1154
@birames.1154 4 жыл бұрын
Merci a toi super pedagogie pour debuter dans la clean archi. J'ai enfin compris ce qu'est un "InMemory" :-)
@LiorCHAMLA
@LiorCHAMLA 4 жыл бұрын
Merci à toi d'avoir regardé :)
@LinkingWorlds
@LinkingWorlds Жыл бұрын
Attention :) Clean Archi Onion Archi. Hexagonal Archi., ça en parle un peu : kzbin.info/www/bejne/gKbFlY1_mbGEaq8
@franckagbokoudjo2542
@franckagbokoudjo2542 Жыл бұрын
comment créer les applications tels que le frontend et l'administration avec un seul noyau de symfony
@TheMrslimane
@TheMrslimane 4 жыл бұрын
salut Lior cest Bikach du slack Wealcome ;) Petites remarques amicale sur certain passage, j'écris le com en même temps que je regarde la vidéo, ces remarques ne tiennent qu'à moi je suis pas expert sur le sujet ;) [43:33] -> je pense pas que c'est utile de faire l'assert sur l'objet, c'est un détail d'implementation, c'est le usecase que tu tests pas les objets [59:36] -> Tu devais mettre en place un port avant de créer ta inmemory puisque celle-ci est censé l'implémenter ;) et ta méthode "save" ne devrait rien retourner. Pour vérifier que le post est bien inséré dans la Array, tu peux soit passer une Array dans le constructeur de ta InMemrory, soit ajouter une méthode pour récupérer un Post de ta Array dans la InMemory, il faudra juste faire attention à ne pas ajouter celle-ci dans le port si tu en as pas besoin en prod [1:07:00] -> Tu viens de créer le port (linterface) et tu as fait l'erreur que j'ai cité plus haut. Tu ajoutes findOne() à celle-ci mais en l'état, coté prod, tu en as pas besoin. Ton Usecase c'est de créer un Post, tu n'aura pas besoin pour le moment de le récupérer. Tdd c'est aussi écrire le minimum de code, celui que tu as besoin à l'instant T. c'est pour ça que je pense que c'est mieux de créer d'abord ton port et ensuite tu adapte ta Inmemory qui l'implemente pour tes tests. [1:12:40] -> tu a créé le vrai adapter dans le dossier concernant les tests, j'imagine que cette erreur est dù à live ;) dommage ça aurait été instructive de montrer le coté infra dans le dossier src avec infra/adapter et domain/port (tu le fais plus tard avec le controler ;) ) [1:39:20] -> Peros j'aurai mis le try/catch dans la méthode validate(), je pense que c'est de sa responsabilité, et ça laisserai ta méthode execute() moins chargée. Après je suis comme toi niveau exception je sais pas trop si c'est le repo, l'entity ou le usecase qui doit les gérer lol Toujours au top Lior, mes remarques ne sont peut être pas justes si quelqu'un à des corrections à apporter n'hesitez pas
@LiorCHAMLA
@LiorCHAMLA 4 жыл бұрын
Merci Bikach !
@pomaeb5958
@pomaeb5958 3 жыл бұрын
Très bonne vidéo, merci
@LiorCHAMLA
@LiorCHAMLA 3 жыл бұрын
De rien merci à toi :)
@claudefassinou7180
@claudefassinou7180 4 жыл бұрын
Merci beaucoup le pro Lior ! Une suggestion.. Et si tu nous faisait comme toujours un super cours sur la sécurisation des sites et particulièrement le chiffrement
@LiorCHAMLA
@LiorCHAMLA 4 жыл бұрын
Je suis très nul en sécurité :x
@hamzaabdessadki7927
@hamzaabdessadki7927 2 жыл бұрын
Excellente vidéo merci
@LiorCHAMLA
@LiorCHAMLA 2 жыл бұрын
Merci a toi ♥️
@joand.-immo-notes4309
@joand.-immo-notes4309 2 жыл бұрын
40:22 ça fait trop du bien aux oreilles ahahaha
@LiorCHAMLA
@LiorCHAMLA 2 жыл бұрын
:D
@brillantravenasy5874
@brillantravenasy5874 2 жыл бұрын
merci , super vidéo
@LiorCHAMLA
@LiorCHAMLA 2 жыл бұрын
Merci à toi :)
@lmz-dev
@lmz-dev 4 жыл бұрын
T'es pas dans le coup Lior, dans l’hexagone c'est le bordel justement à cause de la lutte des classes ! ;p
@LiorCHAMLA
@LiorCHAMLA 4 жыл бұрын
@sebastiendaireaux2794
@sebastiendaireaux2794 4 жыл бұрын
Salut,c est tres bienn ce que tu fais. Moi, actuellement, on m'embète avec le BDD (une application du TDD en prenant n compte les fonctionnalités ?) et le DDD, si un jour tu sais pas de quoi causer, ce serait chouette. Merci
@LiorCHAMLA
@LiorCHAMLA 4 жыл бұрын
Merci, je débute dans ces domaines, je me documente et j'essai d'appliquer mais c'est pas toujours simple x:
4 жыл бұрын
Salut Lior, merci pour la vidéo. Fred Pouchery ? C'est bien cela ? J'ai cherché des variantes mais je n'ai rien trouvé
@LiorCHAMLA
@LiorCHAMLA 4 жыл бұрын
Frédéric Bouchery, vas voir toutes ses conférences ici : kzbin.info/aero/PL1uti1wPH3hRDD_873WhrhDyz6XY-1JnU
@urbaniaknicolas2739
@urbaniaknicolas2739 4 жыл бұрын
Uuid c’est idem le guid en c# c’est une instance d’objets ?
@LiorCHAMLA
@LiorCHAMLA 4 жыл бұрын
Uuid c'est une chaine de caractères normalement :)
@ezaraffandiinzouddine1203
@ezaraffandiinzouddine1203 4 жыл бұрын
Merci Lior 😃
@LiorCHAMLA
@LiorCHAMLA 4 жыл бұрын
Merci à toi :)
@stephanebalasse8373
@stephanebalasse8373 4 жыл бұрын
Merci Lior comme d'habitude cette vidéo est extra. Petite question aurais tu des ressources ou des conseilles pour "brancher" Api Platform sur une clean architecture ?
@LiorCHAMLA
@LiorCHAMLA 4 жыл бұрын
Pas de ressources particulières hélas mais c'est un sujet intéressant que je vais creuser :)
@quentinl.6707
@quentinl.6707 3 жыл бұрын
Très bien !!!!
@LiorCHAMLA
@LiorCHAMLA 3 жыл бұрын
Merci !
@mouadnolstnm2907
@mouadnolstnm2907 4 жыл бұрын
ça commence à 10:05
@LiorCHAMLA
@LiorCHAMLA 4 жыл бұрын
Ca a été corrigé !
@emilie1977
@emilie1977 4 жыл бұрын
Merci Lior
@LiorCHAMLA
@LiorCHAMLA 4 жыл бұрын
Merci à toi :)
@christophebarrau7289
@christophebarrau7289 4 жыл бұрын
Salut Lior, juste une question qui me vient à la fin de la vidéo. Peut-on considérer que le dév Hexagonal est un peu le dév en couche un peu plus poussé ?? Merci pour tes vidéo, j'adore et j'adhère ;)
@LiorCHAMLA
@LiorCHAMLA 4 жыл бұрын
Merci à toi, comme je ne connais que trop peu le sujet pour répondre, j'ai trouvé ça sur Google : tpierrain.blogspot.com/2016/04/hexagonal-layers.html
@renarsdilevka6573
@renarsdilevka6573 3 жыл бұрын
Il y a aussi Jonathan Lefebvre sur OpenClassrooms
@LiorCHAMLA
@LiorCHAMLA 3 жыл бұрын
J'irai voir, merci :)
@LenaickCHARTRAIN
@LenaickCHARTRAIN 4 жыл бұрын
Super !!! Merci pour le retour d'expérience !!! Tu as plus avancé que moi. :-D
@LiorCHAMLA
@LiorCHAMLA 4 жыл бұрын
Merci à toi d'avoir regardé :)
@renarsdilevka6573
@renarsdilevka6573 3 жыл бұрын
Just do not forget SQL injection, so the input data should be verified, escaped, which we can easily to forget when we code from scratch :) even when we want ports->adapters architecture
@LiorCHAMLA
@LiorCHAMLA 3 жыл бұрын
Yes ofc, I was in a hurry right there :x
@trsiel8953
@trsiel8953 4 жыл бұрын
Pour les uuid, c'est bien de les utiliser quand on ne veut pas exposer publiquement un id mais en tant que champ simple, pas en PK. Par exemple, stocker l'avatar d'un user dans un dossier publique en ne pouvant utiliser son pseudo (possiblement pas unique). On utilise l'uuid pour nommer le dossier de manière unique et l'exposer (affichage de l'avatar). Cest bien aussi pour éviter de faire appel à la db pour récupérer l'id après insertion d'une donnée. Là aussi sans l'utiliser en PK. On insère la donnée et on fait les éventuelles liaisons via l'uuid. Par contre en PK c'est une mauvaise idée. C'est un type bien plus gros à stocker qu'une id. Ça n'offre pas les mêmes perf d'index qu'un int. Et à stocker en mémoire lors de process des grosses data, ça pique. Il faut aussi imaginer une db avec des centaines de milliers ou millions d'uuid en PK ou FK. L'horreur ! Je ne l'utilise donc que quand j'ai besoin d'un identifiant unique que je dois exposer publiquement, et pas en PK ni FK.
@trsiel8953
@trsiel8953 4 жыл бұрын
Petite update du commentaire vu qu'il est mis en avant. Histoire que tout le monde comprenne.
@LiorCHAMLA
@LiorCHAMLA 4 жыл бұрын
Très bonne précision :)
@ilnyaplusletemps-toutsecro2460
@ilnyaplusletemps-toutsecro2460 4 жыл бұрын
Ah thomas boileau c'est qui stp? ?
@LiorCHAMLA
@LiorCHAMLA 4 жыл бұрын
Google > Thomas Boileau
@SaifBrahim
@SaifBrahim 4 жыл бұрын
Pour la DDD voici un petit cours sur openclassroom : openclassrooms.com/fr/courses/5647281-concevez-le-domaine-metier-avec-uml
@LiorCHAMLA
@LiorCHAMLA 4 жыл бұрын
Merci Saif, j'ai vu ce cours en effet très sympa :)
@renarsdilevka6573
@renarsdilevka6573 3 жыл бұрын
Dedans, dehors, dedans, dehors :D :D :D, oui je le connait, le concept. Ça s'appelle "boundary line" :D
@LiorCHAMLA
@LiorCHAMLA 3 жыл бұрын
:) :)
@webdev723
@webdev723 4 жыл бұрын
Mon prof
@LiorCHAMLA
@LiorCHAMLA 4 жыл бұрын
@SteamDeckGameplay
@SteamDeckGameplay 4 жыл бұрын
C'est bien vos histoires de TDD, DDD, clean architecture et compagnie, pour faire un CRUD basique ça te prend juste deux semaines parce que tu veux que tout soit testé et respecte toutes les règles... Une vraie perte de temps, faites des tests uniquement pour les éléments métier complexe (pas sur du CRUD à la con). Foutez tous vos controllers dans le même dossier. Franchement on s'en fou, on a des IDE aujourd'hui. Qui va vraiment regarder dans les dossiers directement ? Tu fais ctrl-shift-n, tu tapes Blog et tu vas dans ton controller...
@LiorCHAMLA
@LiorCHAMLA 4 жыл бұрын
Evidemment, ça s'applique pour des applications très larges où tu as parfois des dizaines de Controllers, des centaines de Listeners/Subscriber, des dizaines et des dizaines de models et de services. Mais oui c'est une critique qui est souvent faite :) Et même un code basique a besoin de tests pour assurer sa propre qualité. Donc tant qu'à faire coder les tests directement :)
@trsiel8953
@trsiel8953 4 жыл бұрын
Le problème de mettre tout dans un même dossier, quand on a une grosse application ayant plusieurs briques distinctes, c'est que quand un nouveau dev arrive, il se retrouve devant un dossier avec des centaines de modèles, evenlistener, contrôleurs,... Il ne peut pas vraiment "juste taper Blog" pour avoir une vision globale du truc. Je ne parle même pas de construire quelque chose de conséquent sans tests. Le nouveau débarque, modifie un truc et ça pète ailleurs car aucun test n'a été mis en place. Surtout face à une app mono... Oui, c'est se prendre le chou pour pas grand chose pour une petite app et si on restera seul dessus, mais ça ne l'est pas quand on travaille en équipe sur un truc conséquent, avec des mises en prod rapides. J'en ai croisé des projets où tu arrives et dois te familiariser rapidement aux projets, avec zéro doc, zéro phpdoc (ou sommaire), zéro archi, zéro tests... Ton cauchemar commence quand on te demande de modifier ou ajouter quelque chose.
Où en est PHP en 2023 ? (Karim PINCHON)
50:22
Voxxed Days Luxembourg
Рет қаралды 1,2 М.
Хаги Ваги говорит разными голосами
0:22
Фани Хани
Рет қаралды 2,2 МЛН
SLIDE #shortssprintbrasil
0:31
Natan por Aí
Рет қаралды 49 МЛН
RECREER ANGULAR ? LET'S GO !
4:26:03
Lior CHAMLA - Web Develop Me
Рет қаралды 21 М.
[WEBINAR] Introduction à l’Architecture & la Clean Architecture
1:25:45
theTribe - Tech&Product Studio
Рет қаралды 14 М.
Symfony ou Laravel ? Comparaison par la pratique
1:46:16
Grafikart.fr
Рет қаралды 23 М.
Architecture - principes SOLID
48:57
FormationVidéo
Рет қаралды 8 М.
S00E31 - Symfony Création d'une API
3:10:30
Toham
Рет қаралды 15 М.
Хаги Ваги говорит разными голосами
0:22
Фани Хани
Рет қаралды 2,2 МЛН