🎶 SYMFONY & LE CACHE : ON ACCELERE 🚀

Поделиться
HTML-код
  • Опубликовано: 6 янв 2025

Комментарии • 76

  • @coton8413
    @coton8413 5 лет назад +5

    Merci Lior.
    Content de voir que tu te mets à faire un format de vidéo plus "court" des petits sujets comme celui-ci !

    • @LiorCHAMLA
      @LiorCHAMLA  5 лет назад

      Merci à toi de me suivre !

  • @gregoirebourdin8285
    @gregoirebourdin8285 4 года назад

    Merci pour ce tutoriel très simple et très instructif, mais j'aimerais savoir quel sont les tutoriels permettant d'avoir un cache qui se met à jour comme tu le dis à 18:10 min, parce qu'après avoir fouillé un peu partout j'ai pas trouvé grand chose de très concluant mis à part le HTTP Etag et sa methode LastModified() que je ne vois pas comment appliquer avec ton tutoriel. Pour toi, quelle serai la solution la plus appropriée ?

    • @LiorCHAMLA
      @LiorCHAMLA  4 года назад

      Bah imaginons tu mets à jour un article. Tu le trouves dans le cache et tu l'invalides ou carrément tu le remet en cache :)

  • @miraouiabderrahim695
    @miraouiabderrahim695 5 лет назад

    Grand Merci @Lior pour les tutos.
    J'attends avec impatience la nouvelle série de symfony, exactement j'attend une vidéo sur l'intégration admin template dans un projet symfony
    une autre fois Grand merci :)

  • @jony_b
    @jony_b 3 года назад

    Merci Lior pour cette vidéo instructive. Toujours au top ;)
    Je me demandais comment tu arrivais à n'avoir que les 2 méthodes de l'objet $cache à savoir get() et delete() ? Il me semblait que php intelephense faisait le travail mais de mon côté j'ai toutes les fonctions de php à la place qui s'affichent...

    • @LiorCHAMLA
      @LiorCHAMLA  3 года назад

      Dans les options de VSCode (CTRL + virgule), tu cherches "suggest basic" et tu désactives l'option "PHP Suggest Basic" ;)

    • @jony_b
      @jony_b 3 года назад

      @@LiorCHAMLA Merci beaucoup Lior ;)

  • @marinemathurin3634
    @marinemathurin3634 5 лет назад +1

    Toujours des explications au top ! Merci encore !

    • @LiorCHAMLA
      @LiorCHAMLA  5 лет назад

      Merci beaucoup ! Faut partager

  • @nos30ans
    @nos30ans 5 лет назад +1

    Salut Lior ! Merci infiniment pour toutes tes vidéos que je suis assidûment. Un petit cours sur la préparation de la mise en ligne en production d'une application symfony ça serait possible ? Ou un cours sur l'utilisation du composant symfony Http Client ? Merci encore pour ton travail et ta bonne humeur, ça fait bien plaisir !

    • @LiorCHAMLA
      @LiorCHAMLA  5 лет назад

      Pour la mise en prod d'une application Symfony tu as un bon tuto chez Grafikart (cherche "grafikart hébergement symfony") ou à la fin de mes deux formations, on met toujours en ligne :)

    • @nos30ans
      @nos30ans 5 лет назад

      @@LiorCHAMLA Merci bien Lior !! Et continue à nous régaler :-)

  • @brunodogbase9416
    @brunodogbase9416 5 лет назад

    Salut Lior, c'est peut-être pas le bon endroit pour poster ça mais j'ai un soucis avec l'upload de fichier. J'ai un message du genre " the file is too large. allowed maximum size is 2 mib " . J'ai fait des recherches, on dit que ça vient du php.ini mais aucun changement quand j'ai modifié ce fichier. Merci !

    • @LiorCHAMLA
      @LiorCHAMLA  5 лет назад +1

      Il est possible que tu modifies le mauvais php.ini.
      Essaye de taper ça dans ta console (si tu es sous Windows) : php -i|find/i"configuration file"
      Et il va te dire où est ton vrai php.ini

    • @brunodogbase9416
      @brunodogbase9416 5 лет назад

      @@LiorCHAMLA Thank you so much Lior. Tu es le meilleur, ça marche 😁

  • @yanndeo9501
    @yanndeo9501 5 лет назад

    Bonjour Lior .
    A quoi ça sert d'avoir un cache en base de donnée ?. du point de vu performance çà donne quoi ?. Merci encore pour tes vidéos et ta bonne humeur

  • @ibanson
    @ibanson 3 года назад

    Super bien expliqué ! Merci pour le partage =)

  • @Pierstoval
    @Pierstoval 5 лет назад +1

    Omg, comparer le cache avec un frigo, c'était très audacieux ! Mais c'est une super présentation :)

    • @LiorCHAMLA
      @LiorCHAMLA  5 лет назад +1

      Attend, c'était un commentaire positif ou je vois flou là ?! :D

    • @Pierstoval
      @Pierstoval 5 лет назад

      @@LiorCHAMLA C'est bon, je ne suis pas "si" méchant que ça quand même ? :p

  • @remialbanperso
    @remialbanperso 4 года назад

    Merci beaucoup pour tes tutoriels !!!!
    Je sais pas si c'est en rapport avec l'accélération des pages mais si on va sur le site de grafikart, la page ne s'actualise pas mais change d'url et le temps de chargement est rapide. Comment cela est-il possible ?

    • @LiorCHAMLA
      @LiorCHAMLA  4 года назад

      Il utilise Turbolinks :)

    • @remialbanperso
      @remialbanperso 4 года назад

      @@LiorCHAMLA merci beaucoup Lior ! Continu comme ça !

  • @rafiousitou
    @rafiousitou 5 лет назад

    Bonjour Bro.
    Merci pour cette superbe nouvelle vidéo. 👏👏👏❤

  • @webdev723
    @webdev723 4 года назад

    Super M. Lior Chamla, tu m'aide beaucoup

    • @LiorCHAMLA
      @LiorCHAMLA  4 года назад +1

      Tant mieux c'est fait pour ça !

  • @choco-code
    @choco-code 5 лет назад

    Lior, une vidéo dans laquelle on fait des appel API-REST déjà fonctionel avec symfony. Par exemple en node avec la fetch methode qui permet de faire un appel API-REST
    .Merci

    • @LiorCHAMLA
      @LiorCHAMLA  5 лет назад

      J'ai une formation entière de 15 heures sur ce sujet sur ma plateforme learn.web-develop.me ! :)

  • @adamkenton2585
    @adamkenton2585 5 лет назад +1

    Pense tu faire des tutos sur Golang ? Vu que ton site est visiblement codé en Go.

    • @LiorCHAMLA
      @LiorCHAMLA  5 лет назад +1

      Je n'ai jamais tapé une seule ligne de Go :)

  • @bambasita6958
    @bambasita6958 5 лет назад

    Salut; j'aimerais savoir comment déployer son application symfony. j'ai déjà mis mon projet sur le serveur , ainsi que ma base de données, mais je rencontre des problèmes

    • @LiorCHAMLA
      @LiorCHAMLA  5 лет назад +1

      Regarde cette belle vidéo de Grafikart sur le sujet : ruclips.net/video/AAap9qRHgIk/видео.html

  • @devcrown
    @devcrown 5 лет назад +1

    Super merci beaucoup pour tes vidéos ! Ça marche aussi avec le repository ?

    • @LiorCHAMLA
      @LiorCHAMLA  5 лет назад

      Je ne comprend pas bien la question ? Tu veux mettre le résultat d'un "findAll" dans le cache ? Tu peux mettre CE QUE TU VEUX dans le cache :)

    • @Pierstoval
      @Pierstoval 5 лет назад +1

      Pour info, Doctrine a ses propres outils pour le cache, donc n'utilisez pas le "cache.app" avec Doctrine, utilisez plutôt les fonctionnalités de "Result Cache" de Doctrine. RTFM :D

    • @fredericmalard8236
      @fredericmalard8236 4 года назад

      ​@@LiorCHAMLA Merci pour la vidéo ! J'ai la même question, je comprend pas comment faire avec un repository (ou tout autre paramètre). J'ai toujours un "undefined variable repository" lorsque j'essaie de l'appeler dans la fonction invoquée par l'objet $cache. J'ai essayé d'ajouter le repository (ainsi qu'un serializer) aux paramètres après $item, mais j'ai une erreur qui me dit que je n'ai renseigné qu'un paramètre sur 3 lors de l'appel de la fonction ("j'ai renseigné" l'item par injection de dépendances mais pas le repo ni le serializer). J'ai réussi à passer le repository et le serializer en paramètre comme suit, mais cette fois ci, c'est l'item, que symfony me réclame :
      $usersJson = $cache->get(
      "usersJsonCache",
      (function ($repo, $serializer, ItemInterface $item){
      $item->expiresAfter(10);
      $usersEntity = $repo->findByCustomer($this->getUser());
      ... // (plein de calculs)
      return $usersJson;
      })($repo, $serializer) // passage du repo et du serializer en paramètre, mais pas possible de passer l'item puisque renseigné par injection de dépendance
      );
      J'ai l'impression que l'injection de dépendances ne se fait que si je ne renseigne aucun paramètre manuellement. J'ai essayé de récupérer l'item en amont et de le passer en paramètre aussi, mais j'ai une autre erreur relative a l'item lui même donc je suppose que c'est pas la solution
      Une idée de la solution SVP ?

    • @LiorCHAMLA
      @LiorCHAMLA  4 года назад +1

      @@fredericmalard8236 Bah oui, ça vient de ta méconnaissance de comment marchent les fonctions anonymes :D
      La fonction que tu créés ne peut recevoir qu'un seul paramètre : l'ItemInterface $item. Par contre, tu peux faire ça :
      $usersJson = $cache->get('usersJsonCache', function(ItemInterface $item) use ($repo, $serializer) {
      ....
      });

    • @fredericmalard8236
      @fredericmalard8236 4 года назад

      @@LiorCHAMLA ah d'accord super :D
      Merci beaucoup !

  • @luvima671
    @luvima671 5 лет назад +1

    Bonne vidéo comme d'hab' !
    Mais du coup quand on travaille beaucoup avec la BDD, mieux vaut ne pas utiliser le cache pour afficher une liste d'enregistrement ( qui met pas mal de temps ) puisque l'utilisateur peut ajouter/modifier/supprimer, enfin faire des changements dans la BDD à ce niveau. Donc le cache serait pas utile dans ce cas non ?
    Et sinon tu redeviens actif sur ta chaîne ! J'espère que ça va continuer 😁

    • @TheDougeman
      @TheDougeman 5 лет назад

      Tu peux invalider le cache lorsqu’il y a des modifications.

    • @luvima671
      @luvima671 5 лет назад

      @@TheDougeman Ouais mais du coup pour voir si il y a des modifications il faut bien lancer la fonction et comparer les résultats non ?

    • @TheDougeman
      @TheDougeman 5 лет назад

      Non si tu invalides le cache, lorsqu’une personne va essayer d’obtenir la liste ça va faire à nouveau 2 secondes avec la nouvelle liste mise à jour et ainsi de suite pour chaque mise à jour.

    • @LiorCHAMLA
      @LiorCHAMLA  5 лет назад

      @@TheDougeman On pourrait imaginer qu'on mette la liste en cache quand on l'affiche et qu'on la garde telle quelle dans le cache avec le nom "liste-enregistrements", et au moment où l'admin (ou un utilisateur) créé ou modifie ou supprime un enregistrement, on peut invalider l'item qui porte le nom "liste-enregistrements" dans le cache :)

    • @luvima671
      @luvima671 5 лет назад

      @@LiorCHAMLA Aaah ouais je vois ! Donc ça signifie que dans tous les contrôleurs ( et fonctions de service ) qui touchent à la BDD je dois m'occuper d'invalider le cache ? 😅

  • @ko-jiro5971
    @ko-jiro5971 5 лет назад

    Merci Mr LIOR !! Encore une fois vous nous gâter !! Petite question ( ou petit spoil ) , vous nous préparez un prochain cours ?? Je demande ça, je demande rien :)
    Au passage, la présentation de vos vidéos sont top !

    • @LiorCHAMLA
      @LiorCHAMLA  5 лет назад

      Y'a un cours très "petit" qui va sortir sur ma plateforme et qui concerne les principes SOLID. Merci pour ton commentaire en tout cas :)

  • @ziat1988
    @ziat1988 2 года назад

    Salut Lior. Les données de caches de Symfony sont stocké où? C'est différent par rapport à Redis ? Merçi

    • @LiorCHAMLA
      @LiorCHAMLA  2 года назад

      Par défaut c'est dans un fichier mais tu peux configurer pour que ça stock sur Redis ou dans d'autre systèmes de stockage :

  • @tambakolani5150
    @tambakolani5150 5 лет назад

    Thanks you Lior

  • @disneldel
    @disneldel 5 лет назад

    Merci beaucoup chef pour cette vidéo.

    • @LiorCHAMLA
      @LiorCHAMLA  5 лет назад

      De rien, n'hésites pas à partager ! Merci à toi pour ton visionnage ;)

  • @mentalresistance174
    @mentalresistance174 4 года назад

    Merci :)
    Je sais pas si tu connais sylius qui fonctionne avec symfony ?

    • @LiorCHAMLA
      @LiorCHAMLA  4 года назад +1

      J'ai regardé genre 1h :D

    • @mentalresistance174
      @mentalresistance174 4 года назад

      @@LiorCHAMLA tu en penses quoi ?

    • @LiorCHAMLA
      @LiorCHAMLA  4 года назад

      @@mentalresistance174 absolument rien j'ai pas du tout étudié le truc

    • @mentalresistance174
      @mentalresistance174 4 года назад

      @@LiorCHAMLA ok 😂, de toutes façons je continue à te suivre je verrai bien si tu aborde le sujet un jour 😉.
      Merci et bonne continuation.

  • @martinbafoli470
    @martinbafoli470 5 лет назад

    Merci encore bro pour tes vidéos enrichissantes. est-il possible de nous faire une vidéo sur les voters ?
    Merci d'avance.

    • @LiorCHAMLA
      @LiorCHAMLA  5 лет назад +1

      Pourquoi pas, ça pourrait être intéressant :)

  • @amzobeau
    @amzobeau 3 года назад

    Je m'abonne

  • @hammamihassine4
    @hammamihassine4 5 лет назад

    bravo

  • @lakoudrania1661
    @lakoudrania1661 5 лет назад

    Svp les classe en c++😞

    • @LiorCHAMLA
      @LiorCHAMLA  5 лет назад

      J'ai pas fait de C++ depuis ma deuxième année en cours y a 10 ans :D

    • @fredericmalard8236
      @fredericmalard8236 4 года назад

      @Duo Kal si ça t'intéresse, t'as plein de cours, comme le cours de mathieu nebra sur openclassrooms gratuit mais textuel, ou des cours de C++ sur udemy, vidéo mais payants

  • @naspy971
    @naspy971 4 года назад

    Hello, si je peux me permettre, c'est quand même dommage que le nom de ta plateforme ne soit pas intuitif, pour s'en rappeler c'est compliqué

    • @LiorCHAMLA
      @LiorCHAMLA  4 года назад

      Merci pour le retour, je vais y réfléchir

  • @zellmat1
    @zellmat1 3 года назад

    Si toi aussi tu veux indeter son putin de crochet ligne 16.... :'D

  • @choco-code
    @choco-code 5 лет назад +1

    Si toi aussi tu es là, laisse un pouce bleu