Login / Sign up
Discover Bonzai
Terms of Use
Legal notice
Privacy
Region
Language
matyo91
matyo91
11
Subscribers
Facebook
X
Whatsapp
Telegram
👉 You must follow matyo91 to access chat.
Feed Shop About

đŸŽ™ïžHttpChunk avec Flow

Facebook
Twitter
Whatsapp
Telegram
2 months ago

Le traitement des réponses HTTP en chunks est un défi récurrent :

  • Plusieurs requĂȘtes doivent ĂȘtre lancĂ©es en parallĂšle.

  • Certaines Ă©chouent (404, timeouts) et nĂ©cessitent des retries.

  • Chaque utilisateur renvoie des donnĂ©es additionnelles (todos, posts), impliquant des requĂȘtes « fan-out ».

  • Le tout s’accumule rapidement en callback hell, gestion d’état manuelle, et tests difficiles.

Problématique :

HTTP chunk processing is complex when it should be fluid.

Le problĂšme

En PHP, la gestion de flux HTTP asynchrones a souvent été abordée de maniÚre impérative :

  • Callbacks imbriquĂ©s.

  • Variables d’état partagĂ©es.

  • DifficultĂ©s de test et de maintenance.

Ces approches rendent le code peu lisible, fragile et coûteux à faire évoluer.

La solution avec Flow

Le Flow Framework apporte une réponse fonctionnelle et élégante à cette complexité.

  • Jobs : des fonctions pures qui transforment des donnĂ©es.

  • Ips : des objets immuables qui transportent l’information entre les jobs.

  • Drivers : Amp, React, Swoole ou Fiber — abstraits derriĂšre Flow.

  • Y-Flow : l’intĂ©gration du Y-Combinator pour gĂ©rer la rĂ©cursion sans boucles explicites.

Résultat : un pipeline clair, composable et testable, qui orchestre naturellement les flux asynchrones.

La démo : httpchunkflow.php

L’exemple concret :

php examples/httpchunkflow.php

Déroulement :

  1. Trois requĂȘtes initiales (/users, /users/404, /todos).

  2. Gestion des erreurs : un 404 est automatiquement retry vers /users/1.

  3. Y-Combinator : chaque utilisateur dĂ©clenche automatiquement des requĂȘtes supplĂ©mentaires (/todos, /posts).

  4. ExĂ©cution concurrente : les requĂȘtes s’exĂ©cutent en parallĂšle.

  5. Merge final : consolidation des données en un résultat structuré.

Extrait de logs :

. #1 GET /users ... started . #2 GET /users/404 ... started . #3 GET /todos ... started . #2 404 -> retry /users/1 ..* #1 chunks: parsing via Y ...* #101 QUEUED /users/1/todos ...* #1101 QUEUED /users/1/posts .* #101 200 in 18ms .* #1101 200 in 16ms ....* merging data .....* finalizing results User #1: Leanne Graham ([email protected]) - Todos: 20 items - Posts: 10 items DONE driver=Flow\Driver\AmpDriver duration=7.99s users=200 retry=1 errors=0

Les bénéfices

  • ✅ LisibilitĂ© : plus de callback hell.

  • ✅ PuretĂ© : chaque job est une fonction testable isolĂ©ment.

  • ✅ ImmutabilitĂ© : flux de donnĂ©es clairs et prĂ©visibles.

  • ✅ RĂ©cursion Ă©lĂ©gante : Y-Combinator au lieu de boucles impĂ©ratives.

  • ✅ Async par design : Flow orchestre la concurrence naturellement.

Conclusion

Avec Flow et Y-Combinator, le traitement HTTP chunkĂ© passe d’un cauchemar impĂ©ratif Ă  une solution fluide et fonctionnelle. On obtient du code :

  • plus lisible,

  • plus testable,

  • plus maintenable.

Ressources

  • 🔗 Flow Framework – GitHub

  • 🔗 API de test – JSONPlaceholder

matyo91
matyo91
Free

Consulting Tech & Automation – Call DĂ©couverte Gratuit

Open
Follow matyo91 to comment
matyo91

matyo91

Je t'aide Ă  automatiser tes process
11
Visit this Bonzai
Follow matyo91 to get the latest updates.

đŸ§© Meetup AFUP Paris – Novembre 2025

6 days ago
9

đŸ€– L’IA CafĂ© Club #12 : CrĂ©ation, business, cinĂ©ma
 l’IA sous toutes ses formes Ă  la Monnaie de Paris

6 days ago
11

🎼 Comprendre l’ECS : la brique invisible derriùre les jeux modernes

1 month ago
49

🚀 Uniflow 1.1.18

1 month ago
53

🎹 Programmation rĂ©cursive de pipes

2 months ago
56

🚀 Veille tech semaine 39

2 months ago
55

🔹 API Platform Conference 2025 : retour de l’écosystĂšme Symfony et PHP

2 months ago
78

✹ Rencontre SQLI

2 months ago
66

🎹 Pipe Programming : linĂ©ariser la complexitĂ© des graphes

2 months ago
129

🚀 Symfony AI Hackathon – Mon retour d’expĂ©rience en ligne

2 months ago
68

🚀 Veille tech semaine 37

2 months ago
149

đŸŽČ Pierre-Papier-Ciseaux : un modĂšle minimal d’équilibre et de stratĂ©gie

2 months ago
67

⛓ Strong vs Weak References : maĂźtriser la mĂ©moire et Ă©viter les fuites

2 months ago
63

🔄 Inverser pour mieux rĂ©gner

2 months ago
68

🔐 Git : assurer l’intĂ©gritĂ© et l’authenticitĂ© de l’historique

2 months ago
69

🚀 Veille Tech – Semaine 36

3 months ago
86

🔊 2025-09-01 DJ Matyo Live - UK Hardcore / Happy Hardcore

3 months ago
146

✹ Uniflow v1.1.17 – Migration vers Symfony UX

3 months ago
67

đŸ€– Panorama 2025 des plateformes freelances : 128 solutions pour trouver vos missions

3 months ago
228

đŸ–Œïž Supprime automatiquement l’arriĂšre-plan de tes images avec Claude et RMBG

3 months ago
87
© 2025 Bonzai Privacy Legal notice Terms of Use