<?xml version="1.0"?>
<rss version="2.0">
   <channel>
      <title>DevOWFS by younes bayane</title>
      <link>https://padlet.com/bayane523/bpw93p2hy1brvom2</link>
      <description></description>
      <language>en-us</language>
      <pubDate>2023-05-09 14:25:27 UTC</pubDate>
      <lastBuildDate>2026-06-25 19:50:36 UTC</lastBuildDate>
      <webMaster>hello@padlet.com</webMaster>
      <image>
         <url></url>
      </image>
      <item>
         <title></title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2583915938</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/dfe59d2b4baff1fcfbacbd95f6f814a4/Rappel_PHP_pour_DevOWFS.rar" />
         <pubDate>2023-05-09 14:26:41 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2583915938</guid>
      </item>
      <item>
         <title></title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2864058872</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/75eec6e96b90dc7411a75131de14c201/c13_developper_en_back_end_resume_theorique_partie1_2_632068407e3eb.pdf" />
         <pubDate>2024-01-28 10:49:06 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2864058872</guid>
      </item>
      <item>
         <title></title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2864067744</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/7231ea0c55b6addf2a27c7a639b4af8c/7_2_MVC.rar" />
         <pubDate>2024-01-28 11:10:14 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2864067744</guid>
      </item>
      <item>
         <title></title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2864067864</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/9ac5dc910cf44809ccc8eb10744138d8/API_2.rar" />
         <pubDate>2024-01-28 11:10:33 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2864067864</guid>
      </item>
      <item>
         <title>projet todolist (laravel)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2864874026</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/894c2a1d4d3c4cf5eef7e6b1820e4df0/projet_todolist.rar" />
         <pubDate>2024-01-29 08:03:08 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2864874026</guid>
      </item>
      <item>
         <title>readme (API_2)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2868618816</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/678d679798c4d66f527fc3e92d44302f/readme.txt" />
         <pubDate>2024-01-31 16:13:40 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2868618816</guid>
      </item>
      <item>
         <title>projet_BD_ResourceController</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2873935736</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/e00aeeb5806c74d117dfdca2b83eff83/projet_BD_ResourceController__2_.rar" />
         <pubDate>2024-02-05 17:48:34 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2873935736</guid>
      </item>
      <item>
         <title>Fonctions Manipulation Chaines Caractères</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2874017556</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/3e242f4796679d0cafaa908eefd101d4/memento_Fonctions_Chaines.pdf" />
         <pubDate>2024-02-05 18:50:20 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2874017556</guid>
      </item>
      <item>
         <title>bases Laravel 1</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2876668769</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/4a06a9c71329bdbe051a0fe57a81587a/bases_Laravel_1.docx" />
         <pubDate>2024-02-07 14:34:53 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2876668769</guid>
      </item>
      <item>
         <title>concepts liés à Laravel</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2878878002</link>
         <description><![CDATA[<p>9/2/2024</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/bac4ac456aa0e11134704e9ffc3b4869/concepts_li_s___Laraval.pdf" />
         <pubDate>2024-02-09 08:20:14 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2878878002</guid>
      </item>
      <item>
         <title>projet Routes</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2887848273</link>
         <description><![CDATA[<p>19/2/2024</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/316ff765e0bc3bf17700ce6c3e60a97f/projet_routes.rar" />
         <pubDate>2024-02-19 08:36:38 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2887848273</guid>
      </item>
      <item>
         <title>exercices gestion des routes</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2894382436</link>
         <description><![CDATA[<p>FAD</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/cf997f8cde754a73f162820947055597/exercice_gestion_des_routes.pdf" />
         <pubDate>2024-02-24 13:38:28 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2894382436</guid>
      </item>
      <item>
         <title>à propos du mécanisme CORS</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2894814698</link>
         <description><![CDATA[<p>26/02/2024</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/bf47966644d51c12f5dc68452e236770/__propos_de_CORS.txt" />
         <pubDate>2024-02-25 12:39:53 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2894814698</guid>
      </item>
      <item>
         <title>CORS (api + client)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2895578765</link>
         <description><![CDATA[<p>26/02/2024</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/162fd30c5fec38b14571c3c911dafd82/CORS_padlet.rar" />
         <pubDate>2024-02-26 08:03:35 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2895578765</guid>
      </item>
      <item>
         <title>todo-api laravel</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2900388869</link>
         <description><![CDATA[<p>29/02//2024</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/f3f25839ee811bc42d4e348c5c6c16d8/todo_api_0.rar" />
         <pubDate>2024-02-29 10:16:18 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2900388869</guid>
      </item>
      <item>
         <title>Laravel_&amp;_React=&gt;{Gestion des Stagiaire}</title>
         <author>djunyalain</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2901219309</link>
         <description><![CDATA[<p>Découvrez de manière très détaillée la liaison entre un projet Laravel et React grâce aux API</p><p>2024-02-29</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2345203839/f617a73103911b0b5d4c466f7f2a8eb2/Laravel___React.zip" />
         <pubDate>2024-02-29 21:54:51 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2901219309</guid>
      </item>
      <item>
         <title>Eloquent (projet + manipulations sur l&#39;interface Tinker)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2906617056</link>
         <description><![CDATA[<p>5/3/2024</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/1d2b7233214c0d5c152a21b6d51ef83d/Eloquent__projet___manipulations_sur_Tinker_.rar" />
         <pubDate>2024-03-05 17:16:05 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2906617056</guid>
      </item>
      <item>
         <title>Eléments projet_middlewares =&gt;middleware : VerifierAge</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2908328546</link>
         <description><![CDATA[<p>6/3/2024</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/2a0e876d5508eed060b54a87b2ec9fd4/padlet_projet_middlewares.rar" />
         <pubDate>2024-03-06 15:55:48 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2908328546</guid>
      </item>
      <item>
         <title>Laravel : video-1 Gestion des Relationships (video)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2910046176</link>
         <description><![CDATA[<p>s7/3/2024</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/f8ba5108abd23cb6bc0c528472226dbb/vid_os_1_gestion_des_relationships_dans_Laravel.mp4" />
         <pubDate>2024-03-07 15:53:10 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2910046176</guid>
      </item>
      <item>
         <title>Laravel : vidéo_1 CSRF (video)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2912135430</link>
         <description><![CDATA[<p>9/3/2024</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/6d5497ed857c1aef27e8477c5c8b811d/vid_o_1_CSRF.mp4" />
         <pubDate>2024-03-09 12:27:01 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2912135430</guid>
      </item>
      <item>
         <title>Laravel : video_2 CSRF (X-CSRF)  (video)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2912135632</link>
         <description><![CDATA[<p>9/3/2024</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/06c2bba64e91d3884259eba7ebb592e5/vid_o_2_CSRF__X_CSRF_.mp4" />
         <pubDate>2024-03-09 12:27:34 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2912135632</guid>
      </item>
      <item>
         <title>à propos du X-XSRF</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2912138845</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/3e9f5160ffede1f2b90ca6ff5168126f/__propos_du_X_XSRF.pdf" />
         <pubDate>2024-03-09 12:36:07 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2912138845</guid>
      </item>
      <item>
         <title>projet X-CSRF</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2912140222</link>
         <description><![CDATA[<p>9/3/2024</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/aa57fe400287ad1673f2b5a809037e21/projet_CSRF.rar" />
         <pubDate>2024-03-09 12:39:54 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2912140222</guid>
      </item>
      <item>
         <title>titre</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2921906722</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/c9c08ad9bffd5c681540b38dbe3dda70/mongodb_3.py" />
         <pubDate>2024-03-17 14:18:15 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2921906722</guid>
      </item>
      <item>
         <title>Exercice Eloquent</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2928672448</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/e4aad504eea0ee2d0d038c1605967fb1/Exercice_Eloquent.pdf" />
         <pubDate>2024-03-21 14:13:36 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2928672448</guid>
      </item>
      <item>
         <title>travail_à_faire gestion_controleurs</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2929839282</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/e2e0dff2df8a1e5bc8b1f61451971783/travail___faire_gestion_controleurs.pdf" />
         <pubDate>2024-03-22 08:07:13 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2929839282</guid>
      </item>
      <item>
         <title>manipulations tinker DEVOWFS2</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2929902293</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/8b347fb4be813d2278f0e09b96bc7311/manipulations_tinker_2.txt" />
         <pubDate>2024-03-22 09:18:39 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2929902293</guid>
      </item>
      <item>
         <title>projet : gestion des vues</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2930926271</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/3a4f11e86246bad1431d1493e3249a69/projet_views_3.rar" />
         <pubDate>2024-03-23 13:44:56 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2930926271</guid>
      </item>
      <item>
         <title></title>
         <author></author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2940214440</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2404470123/25cd29f704a42e61e64154601893db07/Laravel_exemple_acc_s_CSS_JS.txt" />
         <pubDate>2024-04-02 09:25:14 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2940214440</guid>
      </item>
      <item>
         <title></title>
         <author></author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2940214787</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2404470123/d5d7b1ad2ce48061f3f5e7b06d23b3e3/Laravel_exemple_acc_s_image.txt" />
         <pubDate>2024-04-02 09:25:45 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2940214787</guid>
      </item>
      <item>
         <title>projet gestion de controlleur+video+documentation(Walid Hamadi)</title>
         <author></author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2943809001</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2309871872/5250e42085f1ea7e8907c20c6d791b9c/projet_gestion_des_controlleur.rar" />
         <pubDate>2024-04-05 00:10:40 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2943809001</guid>
      </item>
      <item>
         <title>api_express_mongoDB.js</title>
         <author></author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2954843326</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2427684109/4bf4b7781f353eb9e0a23019ef7f440d/api.js" />
         <pubDate>2024-04-15 09:59:14 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2954843326</guid>
      </item>
      <item>
         <title>index_express js</title>
         <author></author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2954846664</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2427684109/d3a0c1704130586c75460bd0cbe4cdc8/index.js" />
         <pubDate>2024-04-15 10:02:45 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2954846664</guid>
      </item>
      <item>
         <title></title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2958290539</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/c0874302528608bc032145272be1980a/projet2_API___Client_.rar" />
         <pubDate>2024-04-17 09:06:22 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2958290539</guid>
      </item>
      <item>
         <title></title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2958292930</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/ffd2417b5fa06e40016acec7f62e61f6/projet_MongoDB.rar" />
         <pubDate>2024-04-17 09:08:22 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2958292930</guid>
      </item>
      <item>
         <title></title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2958293273</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/850f28315d829fd3858e01f78dbc066c/app_mongodb.js" />
         <pubDate>2024-04-17 09:08:41 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2958293273</guid>
      </item>
      <item>
         <title></title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2958293645</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/21d99622985ee329b264d6d618dc2232/app_MySQL.js" />
         <pubDate>2024-04-17 09:08:58 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2958293645</guid>
      </item>
      <item>
         <title></title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2958294354</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/5f9d59037272e1e7c470e02fe31d5c76/app_files.js" />
         <pubDate>2024-04-17 09:09:35 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2958294354</guid>
      </item>
      <item>
         <title></title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2958294417</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/05242154be23e2c71890385a08b8b2e6/books.js" />
         <pubDate>2024-04-17 09:09:39 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2958294417</guid>
      </item>
      <item>
         <title></title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2958294499</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/0fe8fd98696bc3a032342685bcb18314/books2.json" />
         <pubDate>2024-04-17 09:09:42 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2958294499</guid>
      </item>
      <item>
         <title></title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2958294550</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/d1f87d54e5368f79664f9f77e7950ee4/index.js" />
         <pubDate>2024-04-17 09:09:45 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2958294550</guid>
      </item>
      <item>
         <title></title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2958294621</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/4de2345dff689de625fd7b63954cdcbe/authentication_middleware_dataBD.js" />
         <pubDate>2024-04-17 09:09:48 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2958294621</guid>
      </item>
      <item>
         <title>Microservices</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2962671654</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/71b32638621e4a5d3167815a75604b52/Microservices.rar" />
         <pubDate>2024-04-20 10:26:57 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2962671654</guid>
      </item>
      <item>
         <title></title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2962672317</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/876c5f36c505162b857534e868a48a7f/fichiers_divers_App_Cloud_Native.rar" />
         <pubDate>2024-04-20 10:28:37 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2962672317</guid>
      </item>
      <item>
         <title></title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2964393805</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/57254ca2806200a505d5fbf162f5cb0a/projet_auth.rar" />
         <pubDate>2024-04-22 09:14:17 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2964393805</guid>
      </item>
      <item>
         <title>projet_middlewares</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2968238139</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/f1430bf705508483cf206251f16993d3/projet_middlewares.rar" />
         <pubDate>2024-04-24 14:45:00 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2968238139</guid>
      </item>
      <item>
         <title>microservices_ok</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2968357943</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/8122956e4598050101cb1d36667de2f1/Microservices_ok.rar" />
         <pubDate>2024-04-24 16:14:56 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2968357943</guid>
      </item>
      <item>
         <title>API_EXPRESSjs_Tableau_Books</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2985259463</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/672eee9082b101aec479f89351ece78a/index_tableau_books.js" />
         <pubDate>2024-05-08 15:14:57 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2985259463</guid>
      </item>
      <item>
         <title>App Cloud Natives :projet_communication_asynchrone</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2997316279</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/0068528bfaad867ec2750c731ef727fc/projet_communication_asynchrone.rar" />
         <pubDate>2024-05-17 08:22:17 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/2997316279</guid>
      </item>
      <item>
         <title>WSL (avant installation &#39;Docker Desktop&#39;)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3001469688</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/3a32b5bfb31039d722e62bf46a20705c/WSL_commands__avant_installation_Docker_Desktop_.docx" />
         <pubDate>2024-05-21 08:22:58 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3001469688</guid>
      </item>
      <item>
         <title>config_phpmyadmin</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3003503548</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/9b87643a77cf9b9f6b0cca41e163bf14/config_phpmyadmin.inc" />
         <pubDate>2024-05-22 15:03:47 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3003503548</guid>
      </item>
      <item>
         <title>projet conteneurisation_microservice</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3005404309</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/4aa77f58d0185a9edd8a7a6a60707a24/projet_conteneurisation_microservice.rar" />
         <pubDate>2024-05-23 19:24:10 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3005404309</guid>
      </item>
      <item>
         <title>Cloud : RabbitMQ (video)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3023153089</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/907ae8484b8e05cbe6fd0475884c8290/Rabbit_MQ__Arabe_.mp4" />
         <pubDate>2024-06-10 11:08:03 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3023153089</guid>
      </item>
      <item>
         <title>dev_frontend_presentations_Doc_Ref</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3168129310</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/ab27a30253517b2d8b439883f713023b/dev_frontend_presentationsDocRef.pdf" />
         <pubDate>2024-10-14 11:43:12 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3168129310</guid>
      </item>
      <item>
         <title>JS-ES6 scripts - V1.0</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3194126394</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/3657574f9f2ef9605f7f067dc67b8e9c/JS_ES6_scripts.rar" />
         <pubDate>2024-10-30 09:07:59 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3194126394</guid>
      </item>
      <item>
         <title>arrowFunctions</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3197449993</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/c1f05b9db7c16dda680f8601087ad102/arrowFunctions.js" />
         <pubDate>2024-11-01 07:58:26 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3197449993</guid>
      </item>
      <item>
         <title>Modules ES6</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3197479094</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/95287d2aeb30d1e30a7f08124f83ed79/modules.rar" />
         <pubDate>2024-11-01 08:38:00 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3197479094</guid>
      </item>
      <item>
         <title>destructing_ES6</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3200121824</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/47428f280e0d5c04321340a915dd9cf6/destructuring.js" />
         <pubDate>2024-11-04 08:42:27 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3200121824</guid>
      </item>
      <item>
         <title>spread operator (ES6)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3200330815</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/d61c415d5e8622896f3e84b0fbd513d0/spreadOperator.js" />
         <pubDate>2024-11-04 11:24:40 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3200330815</guid>
      </item>
      <item>
         <title>JS-TAF-Methodes-Array</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3200343835</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/4bae316de1ad08cc447467ce65013625/TAF_m_thodes_array_JS.txt" />
         <pubDate>2024-11-04 11:34:45 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3200343835</guid>
      </item>
      <item>
         <title>frontend: src App React &#39;app_props_manyComponents&#39;</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3228014594</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/3a34a11155632baec55e70ce1c272018/src_app_props_manyComponents.rar" />
         <pubDate>2024-11-21 10:49:05 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3228014594</guid>
      </item>
      <item>
         <title>application react avec CDN(s)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3229752927</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/029473c2aa64befaa39bd6a5574541b2/app_2.html" />
         <pubDate>2024-11-22 09:48:13 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3229752927</guid>
      </item>
      <item>
         <title>React App src-app_classComponent</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3232660333</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/cc46ea86e85ed2d0d45aca2856cf310a/src_app_classComponent.rar" />
         <pubDate>2024-11-25 08:35:52 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3232660333</guid>
      </item>
      <item>
         <title>app_stateHandling_withClassComponent</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3238138249</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/29e913ddcfe0697800e5a30dae19d008/app_stateHandling_withClassComponent.html" />
         <pubDate>2024-11-28 09:30:25 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3238138249</guid>
      </item>
      <item>
         <title>app_stateHandling_withFunctionComponent</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3238283211</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/1f788e3e95ed82ee9fc505a21b5630d5/app_stateHandling_withFunctionComponent.html" />
         <pubDate>2024-11-28 11:33:29 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3238283211</guid>
      </item>
      <item>
         <title>react_conditions_codeSource</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3243028641</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/e53e103504371c3d5b0aca84c75d6141/6_app_conditions.html" />
         <pubDate>2024-12-02 16:14:12 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3243028641</guid>
      </item>
      <item>
         <title>react_conditions_exercise</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3243054421</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/1d8d460f369f5bd7719d5e5521509295/react_conditions_exercise.pdf" />
         <pubDate>2024-12-02 16:29:46 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3243054421</guid>
      </item>
      <item>
         <title>react_controlled_forms</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3247005240</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/1339cb05aa3b7e0639c14c05db972b41/3_app_controlledForms.html" />
         <pubDate>2024-12-04 19:29:20 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3247005240</guid>
      </item>
      <item>
         <title>react_uncontrolled_forms</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3248014162</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/0239a965d58f3cb4d8b6a2b33be86b45/4_app_uncontrolledForms.html" />
         <pubDate>2024-12-05 10:52:47 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3248014162</guid>
      </item>
      <item>
         <title>react-styles_assets</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3264154305</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/50bc7e4db0b488ecaac604045e2b1a06/react_src_styles_assets.rar" />
         <pubDate>2024-12-17 08:21:04 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3264154305</guid>
      </item>
      <item>
         <title>react_component_communication</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3264405717</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/f4b2259201ec4eb874945592cec253e9/src_component_communication.rar" />
         <pubDate>2024-12-17 09:20:29 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3264405717</guid>
      </item>
      <item>
         <title>react-API (0)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3268756809</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/6f697a4d0a819690089146c54e30445d/src_api_0.rar" />
         <pubDate>2024-12-20 08:59:29 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3268756809</guid>
      </item>
      <item>
         <title>react-API (1)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3269624752</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/c0309c3355a7dba466759cab4107055b/src_api_axios.rar" />
         <pubDate>2024-12-21 20:17:46 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3269624752</guid>
      </item>
      <item>
         <title>json-server</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3270478571</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/76983d6fe4c84f9e7e430edc467ffc20/json_server_set_up.pdf" />
         <pubDate>2024-12-23 08:21:39 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3270478571</guid>
      </item>
      <item>
         <title>react-API (2)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3270506189</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/87bdfe6d1a449a324bd43204cf67056a/src_api_2.rar" />
         <pubDate>2024-12-23 09:20:47 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3270506189</guid>
      </item>
      <item>
         <title>Windows ExecutionPolicy</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3270539906</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/0d42fedf8270da6f02c2b99bff04f07f/remarks__executionPolicy_.txt" />
         <pubDate>2024-12-23 10:56:10 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3270539906</guid>
      </item>
      <item>
         <title>frontend: Routing</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3271180728</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/d5e62736604df91ac86039b721759f30/src_routing.rar" />
         <pubDate>2024-12-24 08:56:34 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3271180728</guid>
      </item>
      <item>
         <title>react_redux-1</title>
         <author></author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3272631401</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/3214495203/266e75032d48b5b97148b6dbbd86bb2a/src_redux_1.rar" />
         <pubDate>2024-12-27 08:50:22 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3272631401</guid>
      </item>
      <item>
         <title>react_component-lifecycle</title>
         <author></author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3273041128</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/3216740808/6249c5bfd7718af7468e0e7ee796bdb5/src_component_lifecycle.rar" />
         <pubDate>2024-12-28 13:56:00 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3273041128</guid>
      </item>
      <item>
         <title>react_Immer</title>
         <author></author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3274958880</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/3220276244/85c6ec43ce87030f5e2a799d111abde7/src_immer.rar" />
         <pubDate>2024-12-30 08:25:27 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3274958880</guid>
      </item>
      <item>
         <title>react_redux-2 (slices)</title>
         <author></author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3274964804</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/3220276244/94e9408313de0a30d9c986eec946cd97/src_redux_2.rar" />
         <pubDate>2024-12-30 08:27:39 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3274964804</guid>
      </item>
      <item>
         <title>Développer_en_backend_1</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3316620951</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/da8eb3016d2ede9295d1aa760da39001/developper_en_back_end_resume_theorique_partie1_2_632068407e3eb.pdf" />
         <pubDate>2025-02-05 09:06:37 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3316620951</guid>
      </item>
      <item>
         <title>PHP MVC</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3319691155</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/f51a4b72e3cef4ed66809ac5502b7b71/PHP_MVC.rar" />
         <pubDate>2025-02-07 09:00:15 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3319691155</guid>
      </item>
      <item>
         <title>routing_project_devowfs</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3327270669</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/91fa360097bbed667206b78d24a94d0a/routing_project_devowfs.rar" />
         <pubDate>2025-02-13 11:27:28 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3327270669</guid>
      </item>
      <item>
         <title>Exercice : Routage dans Laravel</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3331117341</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/70c294bd640fd095c01b0ca073ad8a04/exercice_gestion_routes.pdf" />
         <pubDate>2025-02-17 09:22:45 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3331117341</guid>
      </item>
      <item>
         <title>Laravel : projet_views</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3332444769</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/f3cf3a6424a608da78c405038894f099/projet_views_padlet.rar" />
         <pubDate>2025-02-18 08:14:45 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3332444769</guid>
      </item>
      <item>
         <title>Exercice : Gestion des vues dans Laravel

</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3334040754</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/026be17e973c86f021226a400a559170/exercice_views_laravel.pdf" />
         <pubDate>2025-02-19 08:55:55 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3334040754</guid>
      </item>
      <item>
         <title>Laravel : Utilisation de @foreach dans des blade</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3334045403</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/ad59628ff0680a64b866aea55300c4ea/annexe_utilisation__foreach.pdf" />
         <pubDate>2025-02-19 09:00:17 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3334045403</guid>
      </item>
      <item>
         <title>Laravel: projet_middlewares</title>
         <author></author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3337508000</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/3436862369/bc309c5d4882baff4f12054ec515f2b7/Laravel_middlewares.rar" />
         <pubDate>2025-02-21 10:12:40 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3337508000</guid>
      </item>
      <item>
         <title>Laravel:CORS</title>
         <author></author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3340106492</link>
         <description><![CDATA[<p><strong>Full Implementation (Laravel API + React App)</strong></p><p><strong>1. Laravel API Setup</strong></p><p><strong>Step 1: Create a New Laravel Project</strong></p><p>Run the following command in your terminal to create a new Laravel project:</p><p>composer create-project --prefer-dist laravel/laravel TaskManager cd TaskManager</p><p><strong>Step 2: Set Up Database &amp; Migrations</strong></p><p>Edit the .env file and configure your database settings:</p><p>DB_CONNECTION=mysql </p><p>DB_HOST=127.0.0.1 </p><p>DB_PORT=3306 </p><p>DB_DATABASE=task_manager </p><p>DB_USERNAME=root </p><p>DB_PASSWORD=</p><p>Then, create a migration for the tasks table:</p><p>php artisan make:migration create_tasks_table</p><p>Edit the migration file in database/migrations/xxxx_xx_xx_xxxxxx_create_tasks_table.php:</p><pre><code>‌</code></pre><p>public function up() { Schema::create('tasks', function (Blueprint $table) { $table-&gt;id(); $table-&gt;string('title'); $table-&gt;boolean('completed')-&gt;default(false); $table-&gt;timestamps(); }); }</p><p>Run the migration:</p><p>php artisan migrate</p><p><strong>Step 3: Create Task Model &amp; Controller</strong></p><p>Generate the model and controller:</p><p>php artisan make:model Task -mcr</p><p>Edit app/Models/Task.php:</p><p>namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; </p><p>class Task extends Model { use HasFactory; protected $fillable = ['title', 'completed']; }</p><p>Edit app/Http/Controllers/TaskController.php:</p><p>namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\Task; </p><p>class TaskController extends Controller { public function index() { return response()-&gt;json(Task::all()); } public function store(Request $request) { $request-&gt;validate([ 'title' =&gt; 'required|string|max:255', 'completed' =&gt; 'boolean' ]); $task = Task::create($request-&gt;all()); return response()-&gt;json($task, 201); } public function show($id) { return response()-&gt;json(Task::findOrFail($id)); } public function update(Request $request, $id) { $task = Task::findOrFail($id); $task-&gt;update($request-&gt;all()); return response()-&gt;json($task); } public function destroy($id) { Task::destroy($id); return response()-&gt;json(['message' =&gt; 'Task deleted']); } }</p><p><strong>Step 4: Set Up API Routes</strong></p><p>enable API routing using the install:api Artisan command: (see <a rel="noopener noreferrer nofollow" href="https://laravel.com/docs/11.x/routing">https://laravel.com/docs/11.x/routing</a> )</p><pre><code>php artisan install:api</code></pre><p>Edit routes/api.php:</p><p>use App\Http\Controllers\TaskController; </p><p>Route::apiResource('tasks', TaskController::class);</p><p><strong>Step 5: Configure CORS in Laravel</strong></p><ul><li><p><strong>Configuration File</strong>: To customize CORS settings, you must publish the CORS configuration file using the Artisan command: (see <a rel="noopener noreferrer nofollow" href="https://codingmall.com/knowledge-base/25-global/14123-laravel-11-cors">https://codingmall.com/knowledge-base/25-global/14123-laravel-11-cors</a> )</p></li></ul><pre><code>php artisan config:publish cors</code></pre><p>This command creates a `cors.php` file in the `config` directory of your application.</p><ul><li><p><strong>Setting CORS Options</strong>: In the `cors.php` file, you can define various settings:</p><pre><code>&lt;?php
&nbsp;return [
&nbsp; &nbsp; 'paths' =&gt; ['api/*', 'sanctum/csrf-cookie'],
&nbsp; &nbsp; 'allowed_methods' =&gt; ['GET', 'POST', 'PUT', 'OPTIONS'],
&nbsp; &nbsp; 'allowed_origins' =&gt; ['http://localhost:3000'],
&nbsp; &nbsp; 'allowed_origins_patterns' =&gt; [],
&nbsp; &nbsp; 'allowed_headers' =&gt; ['Origin', 'Content-Type', 'X-Auth-Token', 'Cookie'],
&nbsp; &nbsp; 'exposed_headers' =&gt; [],
&nbsp; &nbsp; 'max_age' =&gt; 0,
&nbsp; &nbsp; 'supports_credentials' =&gt; true,
];</code></pre></li><li><p>Clear the configuration cache:</p></li></ul><p>php artisan config:clear </p><p>php artisan cache:clear</p><p><strong>Step 6: Start Laravel Server</strong></p><p>php artisan serve</p><p>Your Laravel API is now ready! 🎉</p><p><strong>2. React App Setup</strong></p><p><strong>Step 1: Create a React Project</strong></p><p>Navigate to your workspace and create a React app:</p><p>npx create-react-app task-manager cd task-manager </p><p>npm install axios bootstrap</p><p><strong>Step 2: Configure Environment Variables</strong></p><p>Create a .env file in the React project root and define the API URL:</p><p>REACT_APP_API_URL=http://127.0.0.1:8000/api</p><p><strong>Step 3: Update React</strong> App.js</p><p>Edit src/App.js:</p><p>import React, { useState, useEffect } from 'react'; import axios from 'axios'; import 'bootstrap/dist/css/bootstrap.min.css'; </p><p>function App() { const [tasks, setTasks] = useState([]); const [newTask, setNewTask] = useState(''); const [newTaskCompleted, setNewTaskCompleted] = useState(false); useEffect(() =&gt; { fetchTasks(); }, []); const fetchTasks = async () =&gt; { try { const response = await axios.get(${process.env.REACT_APP_API_URL}/tasks); setTasks(response.data); } catch (error) { console.error('Error fetching tasks:', error); } }; const handleAddTask = async () =&gt; { try { const response = await axios.post(${process.env.REACT_APP_API_URL}/tasks, { title: newTask, completed: newTaskCompleted, }); setTasks([...tasks, response.data]); setNewTask(''); setNewTaskCompleted(false); } catch (error) { console.error('Error adding task:', error); } }; return ( &lt;div className="container"&gt; &lt;h3&gt;Add Task&lt;/h3&gt; &lt;div className="row"&gt; &lt;div className="col-md-6"&gt; &lt;form&gt; &lt;div className="form-group"&gt; &lt;label&gt;Task Title:&lt;/label&gt; &lt;input type="text" className="form-control" value={newTask} onChange={(e) =&gt; setNewTask(e.target.value)} /&gt; &lt;/div&gt; &lt;div className="form-group form-check"&gt; &lt;input type="checkbox" className="form-check-input" checked={newTaskCompleted} onChange={(e) =&gt; setNewTaskCompleted(e.target.checked)} /&gt; &lt;label className="form-check-label"&gt;Completed&lt;/label&gt; &lt;/div&gt; &lt;button type="button" className="btn btn-primary" onClick={handleAddTask}&gt; Add Task &lt;/button&gt; &lt;/form&gt; &lt;/div&gt; &lt;/div&gt; &lt;hr /&gt; &lt;div className="row"&gt; &lt;div className="col-md-12"&gt; &lt;h3&gt;Task List&lt;/h3&gt; &lt;table className="table table-hover"&gt; &lt;thead&gt; &lt;tr&gt; &lt;th&gt;ID&lt;/th&gt; &lt;th&gt;Title&lt;/th&gt; &lt;th&gt;Completed&lt;/th&gt; &lt;/tr&gt; &lt;/thead&gt; &lt;tbody&gt; {tasks.map((task) =&gt; ( &lt;tr key={task.id}&gt; &lt;td&gt;{task.id}&lt;/td&gt; &lt;td&gt;{task.title}&lt;/td&gt; &lt;td&gt;{task.completed ? 'Yes' : 'No'}&lt;/td&gt; &lt;/tr&gt; ))} &lt;/tbody&gt; &lt;/table&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; ); } export default App;</p><p><strong>Step 4: Run the React App</strong></p><p>npm start</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-02-24 11:42:44 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3340106492</guid>
      </item>
      <item>
         <title>Laravel: Controllers-CRUD operations</title>
         <author></author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3346461093</link>
         <description><![CDATA[<p>✅ Migrations (types, constraints)</p><p>✅ Validation using Requests</p><p>✅ Resource controller</p><p>✅ Middleware for logging requests (inside a controller)</p><p>✅ Views for displaying, adding, deleting, and editing students</p><p>✅ Session flashed messages</p><p>(✅ Bootstrap for styling)</p><p>---------------------------------------------</p><p><strong>Step 1: Install Laravel</strong></p><p>composer create-project laravel/laravel student-management</p><p><strong>Step 2: Set Up the Database</strong></p><p>Modify .env:</p><p>DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=student_management DB_USERNAME=root DB_PASSWORD=</p><p>Create the database:</p><p>CREATE DATABASE student_management;</p><p><strong>Step 3: Create the Model, Migration,</strong></p><p>php artisan make:model Student -m</p><p>Modify <strong>migration file</strong> =(database/migrations/YYYY_MM_DD_create_students_table.php):</p><p>public function up() { Schema::create('students', function (Blueprint $table) { $table-&gt;id(); $table-&gt;string('cin', 10)-&gt;unique(); $table-&gt;string('first_name', 50); $table-&gt;string('last_name', 50); $table-&gt;date('date_of_birth'); $table-&gt;string('address'); $table-&gt;string('phone', 10)-&gt;unique(); $table-&gt;string('email')-&gt;unique(); $table-&gt;timestamps(); }); }</p><p>Run migrations:</p><p>php artisan migrate</p><p><strong>Step 4: Create the Controller with Request Validation</strong></p><p>php artisan make:controller StudentController --resource --requests</p><p>To generate form requests, instead of --requests:</p><p>=&gt; php artisan make:request StoreStudentRequest</p><p>=&gt; php artisan make:request UpdateStudentRequest</p><p>Modify StoreStudentRequest.php (app/Http/Requests/StoreStudentRequest.php):</p><p>public function rules(): array { return [ 'cin' =&gt; ['required', 'regex:/^[A-Za-z]{0,2}[0-9]+$/', 'unique:students,cin'], 'first_name' =&gt; ['required', 'alpha', 'min:2'], 'last_name' =&gt; ['required', 'alpha', 'min:2'], 'date_of_birth' =&gt; ['required', 'date', 'before_or_equal:' . now()-&gt;subYears(18)-&gt;toDateString(), 'after:' . now()-&gt;subYears(26)-&gt;toDateString()], 'address' =&gt; ['required', 'string'], 'phone' =&gt; ['required', 'regex:/^0[0-9]{9}$/', 'unique:students,phone'], 'email' =&gt; ['required', 'email', 'unique:students,email'], ]; }</p><p>Modify StudentController.php:</p><p>use App\Models\Student; use App\Http\Requests\StoreStudentRequest; use App\Http\Requests\UpdateStudentRequest; use Illuminate\Http\Request; class StudentController extends Controller { public function index() { $students = Student::all(); return view('students.index', compact('students')); } public function create() { return view('students.create'); } public function store(StoreStudentRequest $request) { Student::create($request-&gt;validated()); return redirect()-&gt;route('students.index')-&gt;with('success', 'Student added successfully!'); } public function edit(Student $student) { return view('students.edit', compact('student')); } public function update(UpdateStudentRequest $request, Student $student) { $student-&gt;update($request-&gt;validated()); return redirect()-&gt;route('students.index')-&gt;with('success', 'Student updated successfully!'); } public function destroy(Student $student) { $student-&gt;delete(); return redirect()-&gt;route('students.index')-&gt;with('success', 'Student deleted successfully!'); } }</p><p><strong>Step 5: Create Middleware</strong></p><p>php artisan make:middleware LogMiddleware</p><p>Modify LogMiddleware.php:</p><p>use Closure; use Illuminate\Http\Request; use Illuminate\Support\Facades\Log; class LogMiddleware { public function handle(Request $request, Closure $next) { Log::info('Request Data:', $request-&gt;all()); return $next($request); } }</p><p>Register it in app/Http/Kernel.php:</p><p>protected $middleware = [ \App\Http\Middleware\LogMiddleware::class, ];</p><p>Use it in StudentController.php:</p><p>public function __construct() { $this-&gt;middleware(LogMiddleware::class); }</p><p><strong>Step 6: Define Routes</strong></p><p>Modify routes/web.php:</p><p>use App\Http\Controllers\StudentController; Route::get('/', [StudentController::class, 'index']); Route::resource('students', StudentController::class);</p><p><strong>Step 7: Create Views</strong></p><p>Inside resources/views/students, create these files:</p><p><strong>1️⃣</strong> index.blade.php <strong>(List Students)</strong></p><p>@extends('layouts.app') @section('content') &lt;div class="container"&gt; &lt;h2&gt;Student List&lt;/h2&gt; &lt;a href="{{ route('students.create') }}" class="btn btn-primary mb-3"&gt;Add Student&lt;/a&gt; @if(session('success')) &lt;div class="alert alert-success"&gt;{{ session('success') }}&lt;/div&gt; @endif &lt;table class="table table-bordered"&gt; &lt;thead&gt; &lt;tr&gt; &lt;th&gt;CIN&lt;/th&gt;&lt;th&gt;First Name&lt;/th&gt;&lt;th&gt;Last Name&lt;/th&gt;&lt;th&gt;DOB&lt;/th&gt;&lt;th&gt;Address&lt;/th&gt;&lt;th&gt;Phone&lt;/th&gt;&lt;th&gt;Email&lt;/th&gt;&lt;th&gt;Actions&lt;/th&gt; &lt;/tr&gt; &lt;/thead&gt; &lt;tbody&gt; @foreach ($students as $student) &lt;tr&gt; &lt;td&gt;{{ $student-&gt;cin }}&lt;/td&gt; &lt;td&gt;{{ $student-&gt;first_name }}&lt;/td&gt; &lt;td&gt;{{ $student-&gt;last_name }}&lt;/td&gt; &lt;td&gt;{{ $student-&gt;date_of_birth }}&lt;/td&gt; &lt;td&gt;{{ $student-&gt;address }}&lt;/td&gt; &lt;td&gt;{{ $student-&gt;phone }}&lt;/td&gt; &lt;td&gt;{{ $student-&gt;email }}&lt;/td&gt; &lt;td&gt; &lt;a href="{{ route('students.edit', $student) }}" class="btn btn-warning"&gt;Edit&lt;/a&gt; &lt;form action="{{ route('students.destroy', $student) }}" method="POST" style="display:inline;"&gt; @csrf @method('DELETE') &lt;button type="submit" class="btn btn-danger" onclick="return confirm('Delete this student?')"&gt;Delete&lt;/button&gt; &lt;/form&gt; &lt;/td&gt; &lt;/tr&gt; @endforeach &lt;/tbody&gt; &lt;/table&gt; &lt;/div&gt; @endsection</p><p><strong>2️⃣</strong> create.blade.php <strong>(Add Student Form)</strong></p><p>@extends('layouts.app') @section('content') &lt;div class="container"&gt; &lt;h2&gt;Add Student&lt;/h2&gt; &lt;form action="{{ route('students.store') }}" method="POST"&gt; @csrf @include('students.form') &lt;button type="submit" class="btn btn-success"&gt;Save&lt;/button&gt; &lt;/form&gt; &lt;/div&gt; @endsection</p><p><strong>3️⃣</strong> edit.blade.php <strong>(Edit Student Form)</strong></p><p>@extends('layouts.app') @section('content') &lt;div class="container"&gt; &lt;h2&gt;Edit Student&lt;/h2&gt; &lt;form action="{{ route('students.update', $student) }}" method="POST"&gt; @csrf @method('PUT') @include('students.form') &lt;button type="submit" class="btn btn-primary"&gt;Update&lt;/button&gt; &lt;/form&gt; &lt;/div&gt; @endsection</p><p><strong>4️⃣</strong> form.blade.php <strong>(Reusable Form Fields)</strong></p><p>&lt;div class="mb-3"&gt; &lt;label&gt;CIN&lt;/label&gt; &lt;input type="text" name="cin" class="form-control" value="{{ old('cin', $student-&gt;cin ?? '') }}"&gt; &lt;/div&gt; &lt;div class="mb-3"&gt; &lt;label&gt;First Name&lt;/label&gt; &lt;input type="text" name="first_name" class="form-control" value="{{ old('first_name', $student-&gt;first_name ?? '') }}"&gt; &lt;/div&gt; &lt;!-- Add other fields similarly --&gt;</p><p><strong>Step 8: Run the Application</strong></p><p>php artisan serve</p><p>Now visit http://127.0.0.1:8000/ 🎉</p><p><br/></p><p><br/></p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/3468696356/6092ebff18a1265395d081fbe2217161/projet_controllers_padlet.rar" />
         <pubDate>2025-02-28 10:39:09 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3346461093</guid>
      </item>
      <item>
         <title>Laravel: extensions to enable in php.ini</title>
         <author></author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3355767886</link>
         <description><![CDATA[<p>PHP extensions to enable for Laravel:</p><ol><li><p><strong>PDO (PHP Data Objects)</strong></p><ul><li><p>Provides a <strong>consistent database access layer</strong> that allows you to interact with different databases (MySQL, PostgreSQL, SQLite, etc.) using the same API.</p></li><li><p>Supports <strong>prepared statements</strong>, which improve security by preventing SQL injection.</p></li><li><p>Allows easier <strong>database switching</strong> without rewriting code.</p></li></ul></li><li><p><strong>Tokenizer</strong></p><ul><li><p>Enables <strong>lexical analysis</strong> by breaking PHP source code into tokens.</p></li><li><p>Used internally by PHP for parsing code and by tools like <strong>static analyzers, syntax highlighters, and code linters</strong>.</p></li><li><p>Useful for <strong>developing custom PHP parsers</strong> or code-related tools.</p></li></ul></li><li><p><strong>OpenSSL</strong></p><ul><li><p>Provides <strong>cryptographic functions</strong> for secure communication.</p></li><li><p>Enables <strong>data encryption, decryption, and SSL/TLS connections</strong>.</p></li><li><p>Used for <strong>generating secure hashes</strong>, signing/verifying data, and working with certificates.</p></li></ul></li><li><p><strong>Mbstring (Multibyte String)</strong></p><ul><li><p>Handles <strong>multibyte character encoding</strong>, which is essential for non-ASCII languages like Arabic, Chinese, and Japanese.</p></li><li><p>Provides <strong>string manipulation functions</strong> that properly handle multibyte characters (e.g., mb_strlen(), mb_substr()).</p></li><li><p>Prevents issues when working with <strong>UTF-8 encoded text</strong>.</p></li></ul></li></ol>]]></description>
         <enclosure url="" />
         <pubDate>2025-03-07 10:27:44 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3355767886</guid>
      </item>
      <item>
         <title>Laravel: routing comments</title>
         <author></author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3358761770</link>
         <description><![CDATA[<p>-generate provider =&gt;</p><p>php artisan make:provider RouteServiceProvider</p><p>-in boot() mothod of RouteServiceProvider</p><p>=&gt; ex: </p><pre><code class="language-php">route::pattern('id', '[0-9]+');</code></pre>]]></description>
         <enclosure url="" />
         <pubDate>2025-03-10 12:25:33 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3358761770</guid>
      </item>
      <item>
         <title>Laravel: Routage</title>
         <author></author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3360560379</link>
         <description><![CDATA[<p>-to create a provider =&gt; ex:</p><p>php artisan make:provider RouteServiceProvider</p><p>-to define a global pattern =&gt; ex:</p><p>in boot() method -&gt;</p><p>route::pattern('id', '[0-9]+')</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/3518652960/89cef258740e091d1f28008802b9ec1a/projet_routes_padlet.rar" />
         <pubDate>2025-03-11 09:42:43 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3360560379</guid>
      </item>
      <item>
         <title>Laravel: Tests Eloquent</title>
         <author></author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3394445705</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/3638228384/5888b048fa38c4490907e8c939f8fd13/Tests_Eloquent.pdf" />
         <pubDate>2025-04-03 12:55:29 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3394445705</guid>
      </item>
      <item>
         <title>Laravel: Gestion des contrôleurs</title>
         <author></author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3400353806</link>
         <description><![CDATA[<p>Points à traiter:</p><ol><li><p>Contrôleurs à simple action (p114-115)</p></li><li><p>Contrôleur Middleware (p117-118)</p></li><li><p>Contrôleur de ressources (quelques points à ajouter aux p121-124, p126-128, p132, p137)</p><p>---</p><p>devowfs201 =&gt; 8/4</p><p>devowfs202 =&gt; 10/4</p></li></ol>]]></description>
         <enclosure url="" />
         <pubDate>2025-04-08 07:50:45 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3400353806</guid>
      </item>
      <item>
         <title>Laravel: Model relationships with controllers</title>
         <author></author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3402285767</link>
         <description><![CDATA[<p>devowfs202 -&gt; 9/4</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/3667112279/9358c5bd68fcc518b071eca43192e3e4/projet_Eloquent_avec_controller___padlet.rar" />
         <pubDate>2025-04-09 08:16:04 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3402285767</guid>
      </item>
      <item>
         <title>Laravel: data handling methods (modified)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3408742584</link>
         <description><![CDATA[<p>modified part:</p><p>collections =&gt; groupby() </p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/9df51263e44d25cc6c36f245a6f4686e/web.php" />
         <pubDate>2025-04-14 08:13:17 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3408742584</guid>
      </item>
      <item>
         <title>Laravel: Protection CSRF (projet)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3415031547</link>
         <description><![CDATA[<p>sujet:</p><p>Implémentation du mécanisme de la protection CSRF à travers le mix AJAX/JQUERY sur une application LARAVEL</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/bc35258dc8765a0eacdf3d92d1162d98/projet_CSRF___padlet.rar" />
         <pubDate>2025-04-18 10:16:03 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3415031547</guid>
      </item>
      <item>
         <title>Laravel: Request handling (project)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3417477859</link>
         <description><![CDATA[<p>201 =&gt; 22/04/2025</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/92dfb300797541a00cfafe18bd9a8420/projet_requests_3_1___with_comments___padlet.rar" />
         <pubDate>2025-04-21 09:22:18 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3417477859</guid>
      </item>
      <item>
         <title>Cloud: Doc OFPPT (pdf)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3419343524</link>
         <description><![CDATA[<p>Travail à faire:</p><p>=&gt; Etudier les axes suivants:</p><p>-Concept du cloud et ses avantages</p><p>-Exemples des fournisseurs cloud </p><p>-Différence entre cloud privé, public et hybride</p><p>-Services du cloud (IAAS, PAAS, SAAS)</p><p>-Approche cloud natif</p><p>-API REST</p><p>-Méthodes du protocole HTTP</p><p>==================================</p><p>201 =&gt; 08/01/2026</p><p>202 =&gt; 09/01/2026</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/6858b33c790953cafdbc3c29d4b486fc/c13_creer_une_application_cloud_native_resume_theorique_v30_03_2023_6426a74e38757_modifi_.pdf" />
         <pubDate>2025-04-22 09:13:31 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3419343524</guid>
      </item>
      <item>
         <title>Cloud: app1 V1.1 (project)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3428444199</link>
         <description><![CDATA[<p>devowfs201 =&gt; 29/04/2025</p><p>-------------------------------------------------------------</p><p><strong>N.B. / Goal of the Application</strong></p><p>This Express application demonstrates the basic principles of creating a RESTful API that allows you to perform CRUD (Create, Read, Update, Delete) operations on a list of teams. The application is structured to help you understand how to:</p><p>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>Create</strong> new teams using the POST method.</p><p>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>Retrieve</strong> all teams using the GET method.</p><p>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>Update</strong> an existing team's details using the PUT method.</p><p>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>Delete</strong> a team using the DELETE method.</p><p>By using this app, you'll learn how to handle HTTP requests, manipulate data in arrays, and interact with JSON data in a server environment using Express.js. The app serves as a foundation for building more complex applications that require data management via API endpoints.</p><p><br></p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/b15b90f7fe97d5eeae3bdb1d5216b531/app1.rar" />
         <pubDate>2025-04-28 17:45:14 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3428444199</guid>
      </item>
      <item>
         <title>Cloud: app1 V1.2 (project)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3434027750</link>
         <description><![CDATA[<p>DEVOWFS201 =&gt; 02/05/2025</p><p>N.B:</p><p>=&gt; + read/write in files </p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/6a3f42a10178eaaccd1487a7fd8cc923/app1.rar" />
         <pubDate>2025-05-02 08:43:23 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3434027750</guid>
      </item>
      <item>
         <title>Cloud-MongoDB : MongoDB Shell</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3446101847</link>
         <description><![CDATA[<p>Travail à faire:</p><p>Exécuter les commandes 'MongoDB Shell' sur une base de données MongoDB</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/0ef69b2a3735e8c802ad6684481be970/tuto_mongosh.pdf" />
         <pubDate>2025-05-12 07:47:11 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3446101847</guid>
      </item>
      <item>
         <title>Cloud-MongoDB : API</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3446261566</link>
         <description><![CDATA[<p>----------- Partie 1</p><p>.installations :</p><p>=&gt; npm install express mongodb </p><p>.Tests:</p><p>-fonctionnalités présentes</p><p>-insertion, mise à jour, suppression en masse</p><p>-autres opérateurs MQL (MongoDB Query Language) : $eq, $exits, ...</p><p>----------- Partie 2 :extension (optionnelle)</p><p>=&gt; complexifier les documents -&gt; ajouter des champs tableau et objet</p><p><br/></p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/0435ed4bdfed6ff0f3def26f819a7ee8/app_mongoDB.js" />
         <pubDate>2025-05-12 09:56:24 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3446261566</guid>
      </item>
      <item>
         <title>MongoDB : pymongo-index</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3455870400</link>
         <description><![CDATA[<p>NEW</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/0d57b7044d875c2cc315caf714f0212b/tuto_pymongo_indexes.pdf" />
         <pubDate>2025-05-18 17:32:59 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3455870400</guid>
      </item>
      <item>
         <title>MongoDB : authentication</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3455870614</link>
         <description><![CDATA[<p>NEW</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/b60a71799804a9e956e713c6bc958967/tuto_mongodb_authentication.pdf" />
         <pubDate>2025-05-18 17:33:23 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3455870614</guid>
      </item>
      <item>
         <title>MongoDB : JavaScript/Operators</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3455871017</link>
         <description><![CDATA[<p>NEW</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/d88c739bbdbc3071e77aa4b8f188c53c/tuto_mongodb_JS.pdf" />
         <pubDate>2025-05-18 17:34:01 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3455871017</guid>
      </item>
      <item>
         <title>MongoDB : mongoexport-mongoimport</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3455871352</link>
         <description><![CDATA[<p>NEW</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/8b4c5065693380514ce2508cd833ca7f/tuto_mongodb_mongoexport_mongoimport.pdf" />
         <pubDate>2025-05-18 17:34:24 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3455871352</guid>
      </item>
      <item>
         <title>MySQL : Gestion des index</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3455879929</link>
         <description><![CDATA[<p>NEW</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/7b2c0723b22efd3683314f779c6f5902/tuto_indexes.pdf" />
         <pubDate>2025-05-18 17:49:31 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3455879929</guid>
      </item>
      <item>
         <title>MySQL : Gestion de la sécurité (utilisateurs/privilèges)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3455880451</link>
         <description><![CDATA[<p>NEW</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/6e3af46b4df999ebd454f091d97044db/tuto_securite_MySQL.pdf" />
         <pubDate>2025-05-18 17:50:29 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3455880451</guid>
      </item>
      <item>
         <title>MySQL : Sauvegarde et Restauration des BD</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3455880883</link>
         <description><![CDATA[<p>NEW</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/896c62272f757fb1c7c1c8259061d686/tuto_sauvegarde_restauration_BD_MySQL.pdf" />
         <pubDate>2025-05-18 17:51:15 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3455880883</guid>
      </item>
      <item>
         <title>MongoDB : mongosh (mongodb shell)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3455898396</link>
         <description><![CDATA[<p>NEW</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/cfa22a8933f8e7ed4edda29c0ec89695/tuto_mongosh.pdf" />
         <pubDate>2025-05-18 18:21:47 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3455898396</guid>
      </item>
      <item>
         <title>ReactJS : Selectors</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3457690706</link>
         <description><![CDATA[<p>NEW</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/dd99651e1f748158ecbd66ec45ddfea1/tuto_selectors_reactjs.pdf" />
         <pubDate>2025-05-19 17:51:07 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3457690706</guid>
      </item>
      <item>
         <title>ReactJS : Combine Many Reducers in Redux</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3457691413</link>
         <description><![CDATA[<p>NEW</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/4881a0d26f697701d8a9b7b289ec72f8/tuto_combineReducers_reactjs.pdf" />
         <pubDate>2025-05-19 17:51:42 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3457691413</guid>
      </item>
      <item>
         <title>ReactJS : Handle Asynchronous Events with Redux Toolkit</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3457693003</link>
         <description><![CDATA[<p>NEW</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/cd488ba633fb677e44b31f1af6442399/tuto_asynchronous_redux_reactjs.pdf" />
         <pubDate>2025-05-19 17:53:10 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3457693003</guid>
      </item>
      <item>
         <title>Cloud : expressJS_mongodb_1 (video)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3461719935</link>
         <description><![CDATA[<p>To download the script (API) discussed in the videos  =&gt; </p><p>see the padlet named 'Cloud : expressJS_mongodb (script)'</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/9761d9226e2082a27f1098e2219750f6/express_mongodb_1.mp4" />
         <pubDate>2025-05-21 18:40:22 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3461719935</guid>
      </item>
      <item>
         <title>Cloud : expressJS_mongodb_2 (video)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3461720388</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/3bb977e4078f8cb035c16ab40e49ea24/express_mongodb_2_conect_to_MongoDB_server.mp4" />
         <pubDate>2025-05-21 18:40:42 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3461720388</guid>
      </item>
      <item>
         <title>Cloud : expressJS_mongodb_3 (video)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3461720719</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/547643690df6371bd2e44e3faa1837ac/express_mongodb_3_get.mp4" />
         <pubDate>2025-05-21 18:41:02 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3461720719</guid>
      </item>
      <item>
         <title>Cloud : expressJS_mongodb (project)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3461722832</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/b9cedeb2341be6b6c471c557eef382dd/app_mongoDB.js" />
         <pubDate>2025-05-21 18:42:47 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3461722832</guid>
      </item>
      <item>
         <title>Cloud-MySQL : API (project)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3462993965</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/d438e308ddb718604745371723da9842/app_mySQL.js" />
         <pubDate>2025-05-22 09:31:01 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3462993965</guid>
      </item>
      <item>
         <title>Cloud : Authentication - JWT Generation (project)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3467377656</link>
         <description><![CDATA[<p>DEVOWFS 201 =&gt; 26/05/2025</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/7b21739bf807fd4042ae556ff5eed100/projet_auth___padlet.rar" />
         <pubDate>2025-05-26 09:28:49 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3467377656</guid>
      </item>
      <item>
         <title>Cloud : Authentication middleware</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3467538681</link>
         <description><![CDATA[<p>DEVOWFS 201 =&gt; 26/05/2025</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1985558397/c852f91f5ba29d5dd1e80e41c0f6f0d0/app_authentication_middleware.js" />
         <pubDate>2025-05-26 12:24:22 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3467538681</guid>
      </item>
      <item>
         <title>Cloud : Configuring Server Port in Node.js with dotenv and .env Files</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3474026456</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://docs.google.com/document/d/e/2PACX-1vQoy773xKCew4rw7-AQ6oARB9S_eW2XgMLcBtZEOWob5cNlEA9taioCyRDoUmnmo0MCK7FgKrE7UOL5/pub" />
         <pubDate>2025-05-30 15:39:10 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3474026456</guid>
      </item>
      <item>
         <title>Cloud : RabbitMQ (projet)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3474923941</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/efd7de5065fafa393b3b36e5849923fa/projet_communication_asynchrone.rar" />
         <pubDate>2025-06-01 11:21:42 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3474923941</guid>
      </item>
      <item>
         <title>Laravel : Laravel Sanctum</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3507215746</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://docs.google.com/document/d/e/2PACX-1vQspeCX8xHMigHr3FbmDfydQ9o-Qq53k5oknNyo1_QNHj_xCAajmKeWpIM4gJwZGYRTLkB1Vf4eMd2f/pub" />
         <pubDate>2025-07-01 09:51:35 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3507215746</guid>
      </item>
      <item>
         <title>Compétition World Skills : Lien Figma</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3507421188</link>
         <description><![CDATA[<p><a rel="noopener noreferrer nofollow" href="https://www.figma.com/design/CC4r03L3R9gBOw5LNrsXpD/mini-projet-wow?node-id=0-1&amp;p=f&amp;t=INqM9bjIvZflYaiV-0">https://www.figma.com/design/CC4r03L3R9gBOw5LNrsXpD/mini-projet-wow?node-id=0-1&amp;p=f&amp;t=INqM9bjIvZflYaiV-0</a></p><p>=======================================</p><p>Page 5/6</p><p><br/></p><p>Page login: <a rel="noopener noreferrer nofollow" href="https://www.figma.com/proto/CC4r03L3R9gBOw5LNrsXpD/mini-projet-">https://www.figma.com/proto/CC4r03L3R9gBOw5LNrsXpD/mini-projet-</a><br>wow?node-id=1-5735&amp;t=pylmPsqmsy175Nri-0&amp;scaling-min-zoom&amp;content-<br>scaling fixed&amp;page-id=0%3A1 (2 points)<br>Page S'inscrire: <a rel="noopener noreferrer nofollow" href="https://www.figma.com/proto/CC4r03L3R9gBOw5LNrsXpD/mini-projet-">https://www.figma.com/proto/CC4r03L3R9gBOw5LNrsXpD/mini-projet-</a><br>wow?node-id-1-5546&amp;t=pylmPsqmsy175Nrj-0&amp;scaling-min-zoom&amp;content- scaling-fixed&amp;page-id=0%3A1 (2 points)<br>4- Créer une interface minimale en utilisant React pour ajouter une anecdote à l'aide d'un formulaire affiché dans une fenêtre modale (popup), tout en consommant l'API de création<br>d'anecdote (3 points)<br>Page de création anecdote :<br><a rel="noopener noreferrer nofollow" href="https://www.figma.com/proto/CC4r03L3R9gBOw5LNrsXpD/mini-projet-wow?node-id=1-">https://www.figma.com/proto/CC4r03L3R9gBOw5LNrsXpD/mini-projet-wow?node-id=1-</a><br>8009&amp;t=n4MvJJBHU5B1DXQP-0&amp;scaling-min-zoom &amp;content-scaling-fixed&amp;page-id=0%3A1<br>5- Créer un composant fonctionnel en React "anecdote" qui permet d'afficher une anecdote. Le composant doit recevoir ses données via les props et afficher le titre et le contenu de l'anecdote. (3 points)<br>Lien du component Figma : <a rel="noopener noreferrer nofollow" href="https://www.figma.com/proto/CC4r03L3R9gBOw5LNrsXpD/mini-">https://www.figma.com/proto/CC4r03L3R9gBOw5LNrsXpD/mini-</a><br>projet-wow?node-id=25-270&amp;t=pylmPsqmsy17SNrj-0&amp;scaling-min-zoom&amp;content-<br>scaling-fixed&amp;page-id=0%3A1<br>6- Créer une page d'index qui affiche la liste des anecdotes en utilisant une boucle sur le composant Anecdote. Implémentez un système de scroll infini (infinite scroll) à la fois côté backend (pagination API) et côté frontend (chargement progressif lors du scroll). (4 points)<br>Lien de la page sur figma : <a rel="noopener noreferrer nofollow" href="https://www.figma.com/proto/CC4r03L3R9gBOw5LNrsXpD/mini-">https://www.figma.com/proto/CC4r03L3R9gBOw5LNrsXpD/mini-</a><br>projet-wow?node-id=1-2006&amp;t=RzEu2i3GWqSnYR5N-0&amp;scaling-min-zoom&amp;content-<br>scaling-fixed&amp;page-id=0%3A1</p>]]></description>
         <enclosure url="https://www.figma.com/design/CC4r03L3R9gBOw5LNrsXpD/mini-projet-wow?node-id=0-1&amp;p=f&amp;t=INqM9bjIvZflYaiV-0" />
         <pubDate>2025-07-01 14:40:37 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3507421188</guid>
      </item>
      <item>
         <title>JS-ES6 scripts - V1.1</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3601523689</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/46ddd9124b117988f7642edf7aa6f1ad/JS_ES6_scripts.rar" />
         <pubDate>2025-09-24 09:51:23 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3601523689</guid>
      </item>
      <item>
         <title>JS- Destructuring</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3603658734</link>
         <description><![CDATA[<p>devowfs201 =&gt; 25/09/2025</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/821fdd51e0419ad2a67b8c371bedc530/destructing.js" />
         <pubDate>2025-09-25 09:27:37 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3603658734</guid>
      </item>
      <item>
         <title>JS-Arrow Functions</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3603659692</link>
         <description><![CDATA[<p>devowfs201 =&gt; 25/09/2025</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/d44fbee0f38dc96d2eff6a44ab3d2cbd/arrowFunctions.js" />
         <pubDate>2025-09-25 09:28:13 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3603659692</guid>
      </item>
      <item>
         <title>JS-Spread Operator</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3605504198</link>
         <description><![CDATA[<p>devowfs201 =&gt; 26/09/2025</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/ed69e772910acac941c5f3a3bb575311/spreadOperator.js" />
         <pubDate>2025-09-26 08:24:53 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3605504198</guid>
      </item>
      <item>
         <title>JS-Modules</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3605662982</link>
         <description><![CDATA[<p>devowfs202 =&gt; 26/09/2025</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/ed24766fbd14b7b57b5911f8698db1bc/modules.rar" />
         <pubDate>2025-09-26 10:39:13 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3605662982</guid>
      </item>
      <item>
         <title>frontend : Liens Programmation Fonctionnelle </title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3615097096</link>
         <description><![CDATA[<p><a rel="noopener noreferrer nofollow" href="https://www.canva.com/design/DAGV0EUhTDE/M6bnKHFSBkSvttseuPXb0w/edit?utm_content=DAGV0EUhTDE&amp;utm_campaign=designshare&amp;utm_medium=link2&amp;utm_source=sharebutton">-https://www.canva.com/design/DAGV0EUhTDE/M6bnKHFSBkSvttseuPXb0w/edit?utm_content=DAGV0EUhTDE&amp;utm_campaign=designshare&amp;utm_medium=link2&amp;utm_source=sharebutton</a></p><p><a rel="noopener noreferrer nofollow" href="https://www.canva.com/design/DAGV-_qGYOs/Y_r3DVQjKrlhe_QXYXU41g/edit?utm_content=DAGV-_qGYOs&amp;utm_campaign=designshare&amp;utm_medium=link2&amp;utm_source=sharebutton">-https://www.canva.com/design/DAGV-_qGYOs/Y_r3DVQjKrlhe_QXYXU41g/edit?utm_content=DAGV-_qGYOs&amp;utm_campaign=designshare&amp;utm_medium=link2&amp;utm_source=sharebutton</a></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-10-02 09:32:46 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3615097096</guid>
      </item>
      <item>
         <title>frontend : doc-1</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3616572076</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/54453ba0e1c82fc9b21689043e988360/frontend_doc_1.pdf" />
         <pubDate>2025-10-03 09:05:04 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3616572076</guid>
      </item>
      <item>
         <title>frontend : doc-2</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3616572276</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/4a1d66f1050b704670170ec68f6cf182/frontend_doc_2.pdf" />
         <pubDate>2025-10-03 09:05:15 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3616572276</guid>
      </item>
      <item>
         <title>emails devowfs 201</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3626397135</link>
         <description><![CDATA[<p><br></p><p>alimedelmiloudi<a rel="noopener noreferrer nofollow" href="mailto:mounirsaididimaraja@gmail.com">@gmail.com</a></p><p><a rel="noopener noreferrer nofollow" href="mailto:mounirsaididimaraja@gmail.com">mounirsaididimaraja@gmail.com</a></p><p><a rel="noopener noreferrer nofollow" href="mailto:aithammiabdelali@gmail.com">aithammiabdelali@gmail.com</a></p><p><a rel="noopener noreferrer nofollow" href="mailto:abdelilahdam27@gmail.com">abdelilahdam27@gmail.com</a></p><p><a rel="noopener noreferrer nofollow" href="mailto:badramraoui94@gmail.com">badramraoui94@gmail.com</a></p><p><a rel="noopener noreferrer nofollow" href="mailto:ayoubchakiri105@gmail.com"><strong>ayoubchakiri105@gmail.com</strong></a></p><p>aminedouz439@gmail.com</p><p><a rel="noopener noreferrer nofollow" href="mailto:kaoutarguennouni38@gmail.com">kaoutarguennouni38@gmail.com</a></p><p>aymaneamn123@gmail.com</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-10-10 08:02:23 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3626397135</guid>
      </item>
      <item>
         <title>emails devowfs 202</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3633515765</link>
         <description><![CDATA[<p>oustanifatimaezzahra06@gmail.com</p><p><a rel="noopener noreferrer nofollow" href="mailto:alabdelouafi@gmail.com"><strong>alabdelouafi@gmail.com</strong></a></p><p><a rel="noopener noreferrer nofollow" href="mailto:alioulahcen272@gmail.com"><strong>alioulahcen272@gmail.com</strong></a></p><p><a rel="noopener noreferrer nofollow" href="mailto:imanebaali268@gmail.com">imanebaali268@gmail.com</a></p><p><a rel="noopener noreferrer nofollow" href="mailto:lmoudenoussama10@gmail.com">lmoudenoussama10@gmail.com</a></p><p><a rel="noopener noreferrer nofollow" href="mailto:hafasatalibi@gmail.com">hafasatalibi@gmail.com</a></p><p><a rel="noopener noreferrer nofollow" href="mailto:oumoulasalahdine@gmail.com">oumoulasalahdine@gmail.com</a></p><p><a rel="noopener noreferrer nofollow" href="mailto:elkhadirwalid23@gmail.com">elkhadirwalid23@gmail.com</a></p><p><br></p><p><br></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-10-15 10:23:41 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3633515765</guid>
      </item>
      <item>
         <title>frontend : doc-3</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3635472207</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/6d0e613404210d9c4004ea340a6e26e8/seance3_1_cours.pdf" />
         <pubDate>2025-10-16 08:26:37 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3635472207</guid>
      </item>
      <item>
         <title>frontend: react JSX + exemple 1 w3schools</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3637305128</link>
         <description><![CDATA[<pre><code class="language-javascript">import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';

const myElement = &lt;h1&gt;I Love JSX!&lt;/h1&gt;;

ReactDOM.createRoot(document.getElementById('root')).render(
  myElement
);


// const root = ReactDOM.createRoot(document.getElementById('root'));
// root.render(
  
//     &lt;App /&gt;
  
// );

// If you want to start measuring performance in your app, pass a function
// to log results (for example: reportWebVitals(console.log))
// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
reportWebVitals();
</code></pre>]]></description>
         <enclosure url="https://www.w3schools.com/REACT/react_jsx.asp" />
         <pubDate>2025-10-17 08:21:42 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3637305128</guid>
      </item>
      <item>
         <title>Frontend: Composants Classe</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3647119064</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/9e2dd77496090d95a30aebbb02110e86/src_app_classComponent.rar" />
         <pubDate>2025-10-23 09:16:20 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3647119064</guid>
      </item>
      <item>
         <title>frontend: React With CDN + Various Examples</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3648912351</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/1ad3275a90f87033f98f53de2ef04484/00_app_basics.html" />
         <pubDate>2025-10-24 08:49:35 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3648912351</guid>
      </item>
      <item>
         <title>frontend: State Handling With Class Components</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3648939560</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/5fb22ddc39960ee555dab136545970b4/1_app_stateHandling_withClassComponent__without_exercises_.html" />
         <pubDate>2025-10-24 09:15:59 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3648939560</guid>
      </item>
      <item>
         <title>frontend: Gestion des états d&#39;un composant - Cas des composants de type Classe (Vidéo)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3650288733</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/630024ee2fc7251e74823ed1d39fcac6/ReactJS_Class_State.mp4" />
         <pubDate>2025-10-25 16:05:15 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3650288733</guid>
      </item>
      <item>
         <title>frontend: Exercice &#39;State Handling With Class Components&#39;</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3656984910</link>
         <description><![CDATA[<p>Travail à faire:</p><p>1- Ecrire un composant qui Affiche un bouton labelisé 'Jour suivant',  et un label qui affiche un message </p><p>contenant le jour actuel sous format 'Jour actuel: Lundi'; Le jour est mis à jour (on passe au jour suivant) à chaque clic sur le bouton; Le jour affiché au début est 'Lundi'. </p><p><br></p><p>2- Ecrire un composant qui Affiche un bouton, et un label qui contient l'heure actuelle (heures, minutes, et secondes); </p><p>L'heure doit être mise à jour à chaque clic sur le bouton.  </p><p>N.B : Il affiche un message dans le format suivant: 'Il est : 13:02:39'.</p><p><br></p><p>3- Ecrire un composant qui permet d'afficher un chronomètre avec un pas d'une seconde; Le chronomètre doit commencer à l'heure actuelle.</p><p>N.B : Il affiche un message dans le format suivant: 'Il est : 13:02:39'</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-10-29 16:43:40 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3656984910</guid>
      </item>
      <item>
         <title>frontend: State Handling With Function Components</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3658410710</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/72f7f561bcab26932c73be578ed5e20c/2_app_stateHandling_withFunctionComponent__without_exercises_.html" />
         <pubDate>2025-10-30 10:31:45 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3658410710</guid>
      </item>
      <item>
         <title>frontend: Conditions</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3660088532</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/2a42164f56f86c70338fed426e98110b/app_conditions.html" />
         <pubDate>2025-10-31 09:13:32 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3660088532</guid>
      </item>
      <item>
         <title>frontend: Class Component Lifecycle</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3660088971</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/834907a7a7fd77f17334f6fb7031f702/src_component_lifecycle.rar" />
         <pubDate>2025-10-31 09:14:04 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3660088971</guid>
      </item>
      <item>
         <title>frontend: Controlled Forms (using  states)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3671567947</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/f921cd8071da83acb1fbd6a390136a2b/3_app_controlledForms.html" />
         <pubDate>2025-11-07 08:35:32 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3671567947</guid>
      </item>
      <item>
         <title>frontend: Uncontrolled Forms (using  references)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3680889965</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/e76ba0d28b3bdebe82deba3e8f03aafe/4_app_uncontrolledForms.html" />
         <pubDate>2025-11-13 09:23:00 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3680889965</guid>
      </item>
      <item>
         <title>frontend: CSS</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3693378879</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/944c0928b1807d8eec137f7d513b7bca/app_css_padlet.rar" />
         <pubDate>2025-11-21 08:46:12 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3693378879</guid>
      </item>
      <item>
         <title>frontend: Exercice</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3693397580</link>
         <description><![CDATA[<p>Travail à faire: (ref: <a rel="noopener noreferrer nofollow" href="https://mobbin.com/">https://mobbin.com/</a>)</p><p>Implémenter l'interface en pièce jointe</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/06121e56b4a072ed969f312397b3ed7f/The_New_Yorker_iOS_1.png" />
         <pubDate>2025-11-21 09:06:44 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3693397580</guid>
      </item>
      <item>
         <title>fronend: Hooks Supplement</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3702231695</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/0498797d0978ab6805be92d3e2a6cd2e/src_hooks_padlet.rar" />
         <pubDate>2025-11-28 09:26:13 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3702231695</guid>
      </item>
      <item>
         <title>frontend: APIs</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3711635511</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/4b239196eb112f445fac8f5e70e773d9/src_API_padlet.rar" />
         <pubDate>2025-12-05 09:15:21 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3711635511</guid>
      </item>
      <item>
         <title>frontend: Routing (with props)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3711734556</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/02668c027ba91caa635667966a24f267/src_routing_with_props.rar" />
         <pubDate>2025-12-05 11:04:08 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3711734556</guid>
      </item>
      <item>
         <title>frontend: Exercice (18/12/2025)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3727145999</link>
         <description><![CDATA[<p><strong>Objectif</strong></p><p>Développer une application React complète nommée <strong>Mini-Store</strong>, permettant de gérer un petit catalogue de produits.</p><p>L’application doit offrir une navigation fluide entre plusieurs pages, afficher des produits récupérés via une API, permettre l’ajout manuel de nouveaux produits, afficher le détail d’un article , et gérer un panier grâce à Redux.<br><br>&nbsp;L’application doit exposer les pages suivantes :</p><p>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>Accueil </strong>: page d’accueil</p><p>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>Produits</strong>: lister les produits</p><p>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>DetailsProduit</strong>: afficher les détails d’un produit</p><p>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>Panier</strong>: afficher les produits ajoutés dans le panier</p><p>Vous trouverez ci-dessous les tâches à faire.</p><p><strong>Travail à faire</strong></p><p><strong>1. Mise en place &amp; Routage </strong></p><ol><li><p>Configurez les routes suivantes : <strong>&nbsp;</strong></p></li></ol><p>●&nbsp;&nbsp;&nbsp;&nbsp; / → Accueil</p><p>●&nbsp;&nbsp;&nbsp;&nbsp; /produits → Liste les produits</p><p>●&nbsp;&nbsp;&nbsp;&nbsp; /produits/:id → Détails d’un produit</p><p>●&nbsp;&nbsp;&nbsp;&nbsp; /panier → Panier</p><ol start="2"><li><p>Et créez un menu contenant des liens vers les pages suivantes : <strong>&nbsp;</strong></p></li></ol><p>●&nbsp;&nbsp;&nbsp;&nbsp; Accueil</p><p>●&nbsp;&nbsp;&nbsp;&nbsp; Produits</p><p>●&nbsp;&nbsp;&nbsp;&nbsp; Panier</p><p><strong>2. Page Produits</strong></p><ol><li><p>Dans la page <strong>Produits</strong>,&nbsp; <strong>&nbsp;</strong></p></li></ol><p>Récupérez une liste de produits depuis <a rel="noopener noreferrer nofollow" href="https://fakestoreapi.com/products">https://fakestoreapi.com/products</a>.</p><ol start="2"><li><p>Affichez les produits sous le format indiqué dans la section&nbsp; ‘<strong>Annexes</strong>’ (Voir Ref au dessous).<br>&nbsp;Chaque produit doit être rendu via un composant &lt;ProduitCard /&gt; recevant des <strong>propriétés</strong>. </p></li><li><p>Si les produits ne sont pas encore chargés → affichez <em>"Chargement…"</em>.<br>&nbsp;Si erreur → affichez <em>"Erreur lors du chargement"</em>.&nbsp; </p></li><li><p>Créez un petit formulaire "Ajouter un produit", </p></li></ol><p>●&nbsp;&nbsp;&nbsp;&nbsp; champ texte : titre</p><p>●&nbsp;&nbsp;&nbsp;&nbsp; champ number: prix</p><p>●&nbsp;&nbsp;&nbsp;&nbsp; bouton submit</p><ol start="5"><li><p>À la soumission du formulaire,</p></li></ol><p>●&nbsp;&nbsp;&nbsp;&nbsp; Envoyer la requête d’ajout à l’API. </p><p>●&nbsp;&nbsp;&nbsp;&nbsp; Afficher l’objet créé dans la console. </p><p><strong>3. Détail d’un produit </strong></p><p>Dans la page <strong>DetailsProduit </strong>(accessible via le clic sur le bouton ‘<strong>Voir</strong> <strong>Details</strong>’),</p><p>Affichez les informations suivantes (sous le format indiqué dans la section&nbsp; ‘<strong>Annexes</strong>’) :<br></p><p>○&nbsp;&nbsp;&nbsp;&nbsp; image</p><p>○&nbsp;&nbsp;&nbsp;&nbsp; titre</p><p>○&nbsp;&nbsp;&nbsp;&nbsp; prix</p><p>○&nbsp;&nbsp;&nbsp;&nbsp; description</p><p>○&nbsp;&nbsp;&nbsp;&nbsp; un bouton <strong>"Ajouter au panier"</strong> (Géré par Redux, plus loin)</p><p>------------------------</p><p><strong>4. Redux — Panier </strong></p><ol><li><p>Créez un store Redux qui gère un panier :</p></li></ol><p>●&nbsp;&nbsp;&nbsp;&nbsp; state initial : { items: [] }</p><p>●&nbsp;&nbsp;&nbsp;&nbsp; reducer :</p><p>○&nbsp;&nbsp;&nbsp;&nbsp; AJOUTER: ajoute un produit au panier</p><p>○&nbsp;&nbsp;&nbsp;&nbsp; SUPPRIMER: supprime un produit</p><ol start="2"><li><p>Dans la page <strong>DetailsProduit</strong>,</p></li></ol><p>Le bouton "Ajouter au panier" doit envoyer l’action AJOUTER. </p><p>Dans la page <strong>Panier </strong>(Voir la section&nbsp; ‘<strong>Annexes</strong>’),</p><ol start="3"><li><p>Affichez la liste des produits présents dans Redux </p></li></ol><p>Le bouton "Supprimer" pour chaque élément, qui doit envoyer l’action SUPPRIMER. </p><p>-----------------------------------------------------------</p><p>Ref Annexes:</p><p><a rel="noopener noreferrer nofollow" href="https://docs.google.com/document/d/e/2PACX-1vSPNI2uTzHppADoQ24IuphnZdWxWZPXbANgaElq1xsWO03kWKUQlpx7SLajTMedGbJfqRSq-wy0umt9/pub">https://docs.google.com/document/d/e/2PACX-1vSPNI2uTzHppADoQ24IuphnZdWxWZPXbANgaElq1xsWO03kWKUQlpx7SLajTMedGbJfqRSq-wy0umt9/pub</a></p>]]></description>
         <enclosure url="https://docs.google.com/document/d/e/2PACX-1vSPNI2uTzHppADoQ24IuphnZdWxWZPXbANgaElq1xsWO03kWKUQlpx7SLajTMedGbJfqRSq-wy0umt9/pub" />
         <pubDate>2025-12-18 07:58:23 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3727145999</guid>
      </item>
      <item>
         <title>frontend: Redux_1</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3727265701</link>
         <description><![CDATA[<p>N.B:</p><p>+fichier 'explanations.pdf' </p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/1c4767dbb8850bafaab0a10554628ad1/src_redux_1.rar" />
         <pubDate>2025-12-18 10:15:25 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3727265701</guid>
      </item>
      <item>
         <title>frontend: Librairie Immer</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3732418690</link>
         <description><![CDATA[<p>+fichier 'Immer - React js.pdf' =&gt; concepts de base sur la théorie derrière Immer</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/b5ee4e42e0303d7b7e3641261408b3e2/src___Immer___Padlet.rar" />
         <pubDate>2025-12-25 08:38:30 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3732418690</guid>
      </item>
      <item>
         <title>frontend: Librairie Immer (Vidéo)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3733099648</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/561e8884608fa5bb68714b5dacf7be27/1_react_js_librairie_Immer.webm" />
         <pubDate>2025-12-26 20:49:17 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3733099648</guid>
      </item>
      <item>
         <title>frontend: Slices</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3733100148</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/0e9775bf618a950d86d90fbe7a9a5ff8/src.rar" />
         <pubDate>2025-12-26 20:54:12 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3733100148</guid>
      </item>
      <item>
         <title>frontend: Slices (Vidéo)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3733100325</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/759c50fe22358a4e1f067410d3195d62/2_react_js_slices.webm" />
         <pubDate>2025-12-26 20:55:37 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3733100325</guid>
      </item>
      <item>
         <title>frontend: Exercice Slices</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3735194670</link>
         <description><![CDATA[<p><strong>Travail à faire: (DEVOWFS202 =&gt; 31/12/2025)</strong></p><p>===============================</p><p><strong>Contexte</strong></p><p>Vous développez une petite application <em>React + Redux Toolkit</em> qui démontre comment<em> combiner plusieurs slices dans un store unique.</em></p><p><strong>Objectifs</strong></p><ol><li><p>Mettre en place <strong>un store Redux</strong> configuré avec configureStore.</p></li><li><p>Créer <strong>deux slices</strong> :</p><ul><li><p><strong>userSlice</strong> : gère l’authentification (connexion/déconnexion).</p></li><li><p><strong>tasksSlice</strong> : gère une liste de tâches (CRUD minimal).</p></li></ul></li><li><p>Dans l’UI :</p><ul><li><p>Tant que l’utilisateur n’est pas connecté, afficher un écran <strong>Login</strong>.</p></li><li><p>Une fois connecté, afficher l’écran <strong>Tasks</strong> :</p><ul><li><p>lister les tâches,</p></li><li><p>ajouter une tâche,</p></li><li><p>supprimer une tâche,</p></li><li><p>basculer l’état completed (terminée / non terminée).</p></li></ul></li></ul></li><li><p>Utiliser :</p><ul><li><p>useSelector pour lire state.user et state.tasks,</p></li><li><p>useDispatch pour déclencher login, logout, addTask, toggleTask, removeTask.</p></li></ul></li></ol><p><strong>Règles fonctionnelles</strong></p><ul><li><p>Un utilisateur se connecte en fournissant un nom (ex: “John”).</p></li><li><p>Une tâche est un objet : { id, text, completed }.</p></li><li><p>L’ajout refuse les textes vides.</p></li><li><p>Le toggle inverse completed.</p></li><li><p>La suppression retire la tâche du tableau.</p></li><li><p>Le store global doit ressembler à :</p><pre><code>{
  user: { name: "Guest", isLoggedIn: false },
  tasks: [ { id: 1, text: "...", completed: false }, ... ]
}
</code></pre></li></ul><p><br></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-12-31 09:10:09 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3735194670</guid>
      </item>
      <item>
         <title>frontend: Exercice Slices (Proposition de Solution)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3735239071</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/2afa4ad72af11217c4dc7bc42cb2aaf6/app_exercice_slices_padlet.rar" />
         <pubDate>2025-12-31 12:11:36 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3735239071</guid>
      </item>
      <item>
         <title>frontend: combineReducers (app src)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3736415782</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/552bdfc422c56a1257b963be7b3bc9b7/src___combineReducers___padlet.rar" />
         <pubDate>2026-01-02 09:02:24 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3736415782</guid>
      </item>
      <item>
         <title>frontend: combineReducers (vidéo)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3736416115</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/3083cfa6d9ab2878aa559229ad95ea4f/react_js_combineReducers.webm" />
         <pubDate>2026-01-02 09:03:33 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3736416115</guid>
      </item>
      <item>
         <title>fontend: Redux Selectors (Tutorial)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3736421295</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/0872b2758718da3326f19b60242a11db/tuto_selectors_reactjs.pdf" />
         <pubDate>2026-01-02 09:24:13 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3736421295</guid>
      </item>
      <item>
         <title>frontend: Redux Selectors (Vidéo)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3736422735</link>
         <description><![CDATA[<p>ref =&gt; <a rel="noopener noreferrer nofollow" href="https://drive.google.com/file/d/1xWIVjbyfaMTdbmJ3Yz4u9WR0M9hO1qIQ/view?usp=sharing">https://drive.google.com/file/d/1xWIVjbyfaMTdbmJ3Yz4u9WR0M9hO1qIQ/view?usp=sharing</a></p>]]></description>
         <enclosure url="https://drive.google.com/file/d/1xWIVjbyfaMTdbmJ3Yz4u9WR0M9hO1qIQ/view?usp=sharing" />
         <pubDate>2026-01-02 09:29:59 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3736422735</guid>
      </item>
      <item>
         <title>frontend: Redux Selectors (app src)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3736423350</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/c8a5fff64be72d6ac8ab7fed35ecf254/app_selectors___sources.rar" />
         <pubDate>2026-01-02 09:31:57 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3736423350</guid>
      </item>
      <item>
         <title>frontend: Redux Selectors (Exercise)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3736449352</link>
         <description><![CDATA[<p>ref =&gt;</p><p><a rel="noopener noreferrer nofollow" href="https://docs.google.com/document/d/1gtnj3-a-_Gbcv02y7rFa0EQy37jjTpuIDw9wbM6wMfI/edit?usp=sharing">https://docs.google.com/document/d/1gtnj3-a-_Gbcv02y7rFa0EQy37jjTpuIDw9wbM6wMfI/edit?usp=sharing</a></p>]]></description>
         <enclosure url="https://docs.google.com/document/d/1gtnj3-a-_Gbcv02y7rFa0EQy37jjTpuIDw9wbM6wMfI/edit?usp=sharing" />
         <pubDate>2026-01-02 11:04:06 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3736449352</guid>
      </item>
      <item>
         <title>frontend: Redux Asynchronous Actions (app src)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3743113946</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/2d383dbf81ca3c32fff6f6460d02ee74/app_redux_asynchronous___sources.rar" />
         <pubDate>2026-01-07 16:03:28 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3743113946</guid>
      </item>
      <item>
         <title>frontend: Redux Asynchronous Actions (Vidéo)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3743115491</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/dc6eede114e9d1ae6cd9faff06a474d5/react_redux_asynchronous_actions_padlet.mp4" />
         <pubDate>2026-01-07 16:04:39 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3743115491</guid>
      </item>
      <item>
         <title>frontend: Redux Asynchronous Actions (Exercice)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3743130048</link>
         <description><![CDATA[<p><strong>Objectif:</strong></p><p><strong>Compléter </strong>une mini-application React + Redux permettant de <strong>charger des posts depuis une API distante</strong> en utilisant des <strong>actions asynchrones (thunk)</strong>.</p><p>API fournie :</p><pre><code>https://jsonplaceholder.typicode.com/posts?_limit=5
</code></pre><p>1️⃣ redux/postsSlice.js (à compléter)</p><pre><code>import { createSlice } from "@reduxjs/toolkit";
import axios from "axios";

/* =========
   ÉTAT INITIAL
   ========= */
const initialState = {
  posts: ____________,     // tableau vide
  loading: ____________,   // false
  error: ____________      // null
};

/* =========
   SLICE
   ========= */
const postsSlice = createSlice({
  name: "posts",
  initialState,
  reducers: {
    fetchPostsStart: (state) =&gt; {
      state.loading = ____________;
      state.error = ____________;
    },

    fetchPostsSuccess: (state, action) =&gt; {
      state.posts = ____________;
      state.loading = ____________;
    },

    fetchPostsError: (state, action) =&gt; {
      state.error = ____________;
      state.loading = ____________;
    }
  }
});

/* =========
   EXPORT DES ACTIONS
   ========= */
export const {
  ____________________,
  ____________________,
  ____________________
} = postsSlice.actions;

/* =========
   ACTION ASYNCHRONE (THUNK)
   ========= */
export const fetchPostsAsync = () =&gt; async (dispatch) =&gt; {
  dispatch(____________________());

  try {
    const response = await axios.get(
      "https://jsonplaceholder.typicode.com/posts?_limit=5"
    );

    dispatch(____________________(response.data));
  } catch (error) {
    dispatch(____________________(error.message));
  }
};

export default postsSlice.reducer;
</code></pre><p>2️⃣ redux/store.js (à compléter)</p><pre><code>import { configureStore } from "@reduxjs/toolkit";
import postsReducer from "./postsSlice";

const store = configureStore({
  reducer: {
    ____________: postsReducer
  }
});

export default store;
</code></pre><p>3️⃣ components/PostsList.js (à compléter)</p><pre><code>import React from "react";
import { useDispatch, useSelector } from "react-redux";
import { ____________________ } from "../redux/postsSlice";

const PostsList = () =&gt; {
  const dispatch = ____________________();

  const { posts, loading, error } = useSelector(
    (state) =&gt; state.____________
  );

  const handleFetch = () =&gt; {
    dispatch(____________________());
  };

  return (
    &lt;div style={{ textAlign: "center" }}&gt;
      &lt;button onClick={handleFetch} disabled={loading}&gt;
        {loading ? "Chargement..." : "Charger les posts"}
      &lt;/button&gt;

      {loading &amp;&amp; &lt;p&gt;Chargement en cours...&lt;/p&gt;}

      {error &amp;&amp; (
        &lt;p style={{ color: "red" }}&gt;
          Erreur : {error}
        &lt;/p&gt;
      )}

      &lt;ul&gt;
        {posts.map((post) =&gt; (
          &lt;li key={post.____}&gt;
            {post.____}
          &lt;/li&gt;
        ))}
      &lt;/ul&gt;
    &lt;/div&gt;
  );
};

export default PostsList;
</code></pre><p>4️⃣ App.js (à compléter)</p><pre><code>import React from "react";
import PostsList from "./components/PostsList";

const App = () =&gt; {
  return (
    &lt;div&gt;
      &lt;h1 style={{ textAlign: "center" }}&gt;
        ______________________________
      &lt;/h1&gt;

      &lt;PostsList /&gt;
    &lt;/div&gt;
  );
};

export default App;
</code></pre><p>5️⃣ index.js (à compléter)</p><pre><code>import React from "react";
import ReactDOM from "react-dom";
import { ____________ } from "react-redux";
import store from "./redux/store";
import App from "./App";

ReactDOM.render(
  &lt;____________ store={store}&gt;
    &lt;App /&gt;
  &lt;/____________&gt;,
  document.getElementById("root")
);</code></pre>]]></description>
         <enclosure url="" />
         <pubDate>2026-01-07 16:16:44 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3743130048</guid>
      </item>
      <item>
         <title>frontend:Q &amp; A (FAD)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3744075608</link>
         <description><![CDATA[<p>question 1 (video compineReducers): les cas quand en besoins vraiment d'utiliser plusieurs reducers au lieu de un seul reducer dans notre app ?</p><p>question 2 (video useSelectors) :  est ce que en peut accede au donnee de store sans utiliser useSelectors ?</p><p>question 3 (video Asynchronous) : la difference entre asynchrone implicite et asynchrone explicite ?</p><p>question 4 : cette question a propos sur la solution de l'exercice des slices : est ce que "useMemo" est obligatoire dans cet exercice, ou est-ce seulement une optimisation ?</p><p>Merci d’avance (EL KHADIR)</p><p>=====<strong><mark>Réponses</mark></strong>===========================</p><p><strong>Réponse 1 (Plusieurs Reducers) :</strong> quand on a un <strong>état complexe</strong> =&gt; <strong>diviser </strong>en modules indépendants (ex: users, projets, tasks) pour éviter d'avoir un fichier géant illisible et difficile à déboguer.</p><p><strong>Réponse 2 (Accès sans useSelector) :</strong> <strong>Oui</strong>, via store.getState(). Cependant, contrairement à useSelector, cela ne déclenche pas de <strong>re-render</strong> automatique quand les données changent.</p><p><strong>Réponse 3 (Asynchrone Implicite vs Explicite) :</strong></p><ul><li><p><strong>Implicite (Thunk classique) :</strong> Tu crées manuellement une fonction qui contient ta logique async/await et tu <strong>dispatch</strong> toi-même chaque étape (start, success, error) pour mettre à jour le store.</p></li><li><p><strong>Explicite (createAsyncThunk) :</strong> Tu utilises la fonction native de Redux Toolkit qui gère <strong>automatiquement</strong> le cycle de vie de la promesse en générant les actions pending, fulfilled et rejected sans dispatch manuel.</p></li></ul><p><strong>Réponse 4 (useMemo dans l'exercice) :</strong> C'est une <strong>optimisation</strong>. Ce <strong>n'est pas</strong> obligatoire pour que le code fonctionne, mais c'est recommandé pour éviter de recalculer des données lourdes à chaque rendu si ce n'est pas nécessaire.</p><p><br/></p>]]></description>
         <enclosure url="" />
         <pubDate>2026-01-08 09:34:21 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3744075608</guid>
      </item>
      <item>
         <title>Groupes DEVOWFS202- 2025/2026 - Répartition TAF</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3745283920</link>
         <description><![CDATA[<p>Le Padlet de référence: <a rel="noopener noreferrer nofollow" href="https://padlet.com/bayane523/devowfs-bpw93p2hy1brvom2/wish/pRxDZ4qVo133W183">https://padlet.com/bayane523/devowfs-bpw93p2hy1brvom2/wish/pRxDZ4qVo133W183</a></p>]]></description>
         <enclosure url="https://docs.google.com/spreadsheets/d/1XARn3gAk3y0Xb_JyXtaQaCnsC1GvRdCGQd535Gh1vVk/edit?usp=sharing" />
         <pubDate>2026-01-09 08:07:12 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3745283920</guid>
      </item>
      <item>
         <title>Groupes DEVOWFS201- 2025/2026 - Répartition TAF</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3745328246</link>
         <description><![CDATA[<p>Le Padlet de référence: <a rel="noopener noreferrer nofollow" href="https://padlet.com/bayane523/devowfs-bpw93p2hy1brvom2/wish/pRxDZ4qVo133W183">https://padlet.com/bayane523/devowfs-bpw93p2hy1brvom2/wish/pRxDZ4qVo133W183</a></p>]]></description>
         <enclosure url="https://docs.google.com/spreadsheets/d/1fb9CaECGJacV006nUvwyJHFxoEY41EsFu0GQV5EbQ6I/edit?usp=sharing" />
         <pubDate>2026-01-09 09:07:14 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3745328246</guid>
      </item>
      <item>
         <title>Cloud: Lien Dépôt Présentations DEVOWFS201</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3752102922</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://classroom.google.com/c/ODM5NjUzMDI5OTQ5?cjc=dz5shtus" />
         <pubDate>2026-01-15 10:38:13 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3752102922</guid>
      </item>
      <item>
         <title>Cloud: Lien Dépôt Présentations DEVOWFS202</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3753405196</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://classroom.google.com/c/ODM5NjUzMDI5OTQ5/a/ODM5ODc2MzIxMzk4/details" />
         <pubDate>2026-01-16 11:01:36 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3753405196</guid>
      </item>
      <item>
         <title>Cloud: Synthèse Séance 1 DEVOWFS201 </title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3760061199</link>
         <description><![CDATA[<p><a rel="noopener noreferrer nofollow" href="mailto:ayoubchakiri83@gmail.com">abdelilahdam27@gmail.com</a></p><p>medjemmakh078@hmail.com</p><p><a rel="noopener noreferrer nofollow" href="mailto:ayoubchakiri83@gmail.com">ayoubchakiri105@gmail.com</a></p><p>hajar2006hahioui@gmail.com</p>]]></description>
         <enclosure url="https://classroom.google.com/c/ODM5NjUzMDI5OTQ5/a/ODQwNzI2MzY1Mjc5/details" />
         <pubDate>2026-01-22 08:18:50 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3760061199</guid>
      </item>
      <item>
         <title>Cloud: Cloud Prové/Publique/Hybride</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3760124980</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://coggle.it/diagram/aXHp1EFdTlz6dUP1/t/cloud-priv%C3%A9-publique-hybride/66YG9_s8zE4RMo335sHgfiynz12vaVnKX7l4RBu4G2A" />
         <pubDate>2026-01-22 09:17:51 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3760124980</guid>
      </item>
      <item>
         <title>Cloud: Questions Présentations (23/01/2026)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3761656258</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://coggle.it/diagram/aXMrdVyoj1ZxVEST/t/-/Ym3Y6FFyIYmvsldFY9u3m0aA5uPyLPpeKhybPzo5R_w" />
         <pubDate>2026-01-23 08:05:57 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3761656258</guid>
      </item>
      <item>
         <title>Cloud: Plan Séances</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3776740593</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://trello.com/c/11lRTXPA" />
         <pubDate>2026-02-04 09:28:42 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3776740593</guid>
      </item>
      <item>
         <title>Cloud: Création d&#39;une application Express basique - vidéo 1</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3785235925</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/4501df6b007892b66d568444615304f4/Cloud__Cr_ation_d_une_app_Express_basique____video_1.mp4" />
         <pubDate>2026-02-10 16:41:37 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3785235925</guid>
      </item>
      <item>
         <title>Cloud: Création d&#39;une API REST Basique - Vidéo 2</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3785237218</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/262b95c5c3901407fc0b0849b1e74578/Cloud__Cr_ation_API_REST_Basique____video_2.mp4" />
         <pubDate>2026-02-10 16:42:28 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3785237218</guid>
      </item>
      <item>
         <title>Cloud: Test d&#39;une API REST avec Postman - vidéo 3</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3785240335</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/b20a3f3d0713f73dd2ffc8840a80f874/Cloud__Test_API_avec_Postman____video_3.mp4" />
         <pubDate>2026-02-10 16:44:21 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3785240335</guid>
      </item>
      <item>
         <title>Cloud: Etat Avancement TPs - DEVOWFS201</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3787935569</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://docs.google.com/spreadsheets/d/1fRbxc03x_FyHXrUPJN3MhD7ZtqixrWCHvRl8RIjr0CU/edit?usp=sharing" />
         <pubDate>2026-02-12 12:06:52 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3787935569</guid>
      </item>
      <item>
         <title>Cloud: API MySQL</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3789077279</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/a29e611bdc1d665135e9cf6b187ab82d/app_mySQL.js" />
         <pubDate>2026-02-13 08:44:22 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3789077279</guid>
      </item>
      <item>
         <title>Cloud: API MySQL - Collection</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3789100008</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/e38af1e12318baeefc43b441b9dad76f/MySQL_Collection_postman_collection.json" />
         <pubDate>2026-02-13 09:14:48 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3789100008</guid>
      </item>
      <item>
         <title>Cloud: Etat Avancement TPs - DEVOWFS202</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3789162448</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://docs.google.com/spreadsheets/d/1jiGggwWMxTKEs94svp0biDIOu4PkVULcReoNsxQcpLk/edit?usp=sharing" />
         <pubDate>2026-02-13 10:33:14 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3789162448</guid>
      </item>
      <item>
         <title>Cloud: API MongoDB</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3793392833</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/e656cd60d9d4cc0ac4f89becae7b2525/app_mongoDB.js" />
         <pubDate>2026-02-18 10:09:31 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3793392833</guid>
      </item>
      <item>
         <title>Cloud: Exercice API MySQL </title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3793442282</link>
         <description><![CDATA[<p><strong><mark>C</mark></strong></p><p><strong><mark>Enoncé:</mark></strong></p><p>On veut développer une application multi-service qui permet :<br>- La gestion des suites de l’hôtel<br>- La gestion des réservations des suites<br>On commencera par développer le service Service-suite, qui permet de :<br> + Vérifier la disponibilité d’une suite<br> + Mettre à jour la disponibilité d’une suite<br>  + Ajouter une suite<br>  + Supprimer une suite </p><p><strong><mark>Travail à Faire:</mark></strong></p><p>-Implémenter l'API REST correspondante.</p><p>-Procéder aux tests des différents 'endpoints'.</p><p><strong><mark>N.B:</mark></strong></p><p>On considérera les champs suivants: <br>-idSuite</p><p>-designation</p><p>-etage</p><p>-capacite</p><p>-disponibilite</p>]]></description>
         <enclosure url="" />
         <pubDate>2026-02-18 11:10:38 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3793442282</guid>
      </item>
      <item>
         <title>Cloud: Exercice API MongoDB (Microservices)</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3795959952</link>
         <description><![CDATA[<p><strong><mark>Enoncé:</mark></strong></p><p>On veut développer une application multi-service qui permet :<br>- La gestion des suites de l’hôtel<br>- La gestion des réservations des suites<br>On a décidé de développer les services suivants :<br>- Service-suite, qui permet de :<br> + Vérifier la disponibilité d’une suite<br> + Mettre à jour la disponibilité d’une suite<br> + Ajouter une suite<br> + Supprimer une suite<br>- Service-client, qui permet de :<br> + Ajouter une réservation :<br>             - <em>On doit vérifier la disponibilité de la suite, avant la<br>               réservation<br>             - </em>On doit mettre à jour la disponibilité de la suite,     </p><p>                après la réservation<br>  + Annuler une réservation<br>             - On doit mettre à jour la disponibilité de la suite,  </p><p>                après l’annulation </p><p><strong><mark>Travail à Faire:</mark></strong></p><p>-Implémenter les API REST correspondantes.</p><p>-Procéder aux tests des API.</p><p><strong><mark>N.B:</mark></strong></p><p>On considérera les champs suivants pour les <strong>suites</strong>: <br>-idSuite</p><p>-designation</p><p>-etage</p><p>-capacite</p><p>-disponibilite</p><p>On considérera les champs suivants pour les <strong>réservations</strong>: <br>-idReservation</p><p>-dateDebut</p><p>-dateFin</p><p>-état seulement si la suite est annulée, avec la valeur positionnée à 'annulée'</p><p>-idSuite</p>]]></description>
         <enclosure url="" />
         <pubDate>2026-02-20 11:33:03 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3795959952</guid>
      </item>
      <item>
         <title>Cloud: Authentification via JWT</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3803184831</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/4e2db5b492892cabe53529c2aeff3afb/projet_authentification_JWT_padlet.rar" />
         <pubDate>2026-02-26 09:12:07 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3803184831</guid>
      </item>
      <item>
         <title>Groupes du Stage en milieu professionnel - DEVOWFS201 - 2025/2026</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3804680417</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://docs.google.com/spreadsheets/d/1VAfCS3DITm0MtAsJ_a1lfGaOJwnNjDYfiZeXr2wwwOY/edit?usp=sharing" />
         <pubDate>2026-02-27 08:58:30 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3804680417</guid>
      </item>
      <item>
         <title>Cloud: Utiliser nodemon pour lancer une API</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3804726083</link>
         <description><![CDATA[<p>Etapes:</p><p>1-installation =&gt; npm install -g nodemon</p><p>2-configuration du 'package.json' =&gt; dans la clé 'scripts': ajouter -&gt; "dev": "nodemon index.js"</p><pre><code class="language-json">{
  "name": "projet_auth",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "dev": "nodemon index.js",
    "start": "node index.js"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "bcrypt": "^5.1.1",
    "express": "^4.19.2",
    "jsonwebtoken": "^9.0.2",
    "mongoose": "^8.3.2",
    "nodemon": "^3.1.14"
  }
}
</code></pre><p>3- Pour lancer l'API =&gt; nodemon index.js</p>]]></description>
         <enclosure url="" />
         <pubDate>2026-02-27 09:47:06 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3804726083</guid>
      </item>
      <item>
         <title>Cloud: Middleware d&#39;authentification via JWT</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3811486700</link>
         <description><![CDATA[<p>DEVOWFS202 =&gt; 04/03/2026</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/39cf5aae0ccd04aa95f52681776845c0/projet_middlewares.rar" />
         <pubDate>2026-03-04 11:55:55 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3811486700</guid>
      </item>
      <item>
         <title>Cloud: Tests Middleware d&#39;authentification via JWT</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3811502629</link>
         <description><![CDATA[<p><strong>Travail à faire:</strong></p><p><mark>1- Tests</mark></p><ul><li><p>authentifier un utilisateur et récupérer le JWT.</p></li><li><p>Ajouter un produit avec les scénarios suivants:</p><ul><li><p>JWT non envoyé</p></li><li><p>JWT envoyé, mais incorrect</p></li><li><p>JWT envoyé et correct</p></li></ul></li></ul><p><mark>2- Exercice:</mark></p><ul><li><p>Modifier l'endpoint d'ajout de produits afin d'include le code de produit en tant que donnée des produits.</p></li><li><p>Ajouter au microservice 'produit' les endpoints de 'suppression', mise à jour des <strong>prix</strong> des produits qui seront contrôlés par le middleware.</p></li><li><p>Ajouter au microservice 'produit' l'endpoint de 'listing' des produits non contrôlé par le middleware.</p></li><li><p>Modifier le middleware afin d'inclure la date de la requête dans la réponse.</p></li><li><p>Effectuer les tests adéquats via Postman. </p></li></ul><p>   </p><p><br></p>]]></description>
         <enclosure url="" />
         <pubDate>2026-03-04 12:11:15 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3811502629</guid>
      </item>
      <item>
         <title>Cloud: Suite Exercice Middleware d&#39;authentification via JWT</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3814760211</link>
         <description><![CDATA[<p><strong><mark>Exercice Middleware 'authentification-microservices' v2:</mark></strong></p><p>-Amender le microservice produi-service afin d'ajouter un endpoint qui permet de verifier l'existence d'un produit en se basant sur son id.</p><p>- Implémenter le microservice commande-service qui présente un endpoint de création de commandes sur les produits; une commande est identifiée par son id, l'id du produit commandé, sa date, sa quantité, et l'email de l'utilisateur qui l'a fait;</p><p>Avant de commander, on doit s'assurer de l'existence du produit.</p><p>N.B:</p><p>-Toutes les routes sont sécurisées par un middleware d'authentification JWT</p><p>-------------------------------------------</p><p><strong><mark>Exercice Middleware 'authentification-microservices' v3:</mark></strong></p><p>Adopter la structure du projet ci-joint pour votre projet</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/f824d9d7091433f33f5100bde1f74fdc/microservices_bonne_architecture_padlet.rar" />
         <pubDate>2026-03-06 10:37:57 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3814760211</guid>
      </item>
      <item>
         <title>Général: Lien du padlet des QUESTIONS</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3814814810</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet.com/bayane523/questions-g9zcy9jnclxplw0l" />
         <pubDate>2026-03-06 11:38:22 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3814814810</guid>
      </item>
      <item>
         <title>Cloud: Conteneuriser des microservices - 1</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3824377495</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://docs.google.com/document/d/1PZz9zZXHNfEwoAHDJumsSBOUSTWqGJiWNKBj8gRnT60/edit?usp=sharing" />
         <pubDate>2026-03-13 11:43:39 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3824377495</guid>
      </item>
      <item>
         <title>Cloud: Conteneuriser des microservices - 2</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3824381959</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://docs.google.com/document/d/17n2IH_HLu2La6NTi0i7_qRTzBCkoJKkuKigrXKuqmjk/edit?usp=sharing" />
         <pubDate>2026-03-13 11:48:07 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3824381959</guid>
      </item>
      <item>
         <title>Cloud: Conteneuriser Plusieurs Microservices</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3842627226</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/fd147028a043448d98b555761d5b2a91/projet_conteneurisation_plusieurs_microservices.rar" />
         <pubDate>2026-03-27 09:27:56 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3842627226</guid>
      </item>
      <item>
         <title>Cloud: Conteneuriser Un Seul Microservice</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3842627749</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/1985558397/d5c2475f3e04cdf7664777dbc561253c/projet_conteneurisation_un_microservice.rar" />
         <pubDate>2026-03-27 09:28:21 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3842627749</guid>
      </item>
      <item>
         <title>Cloud: Problème avec Docker Desktop ?</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3842706275</link>
         <description><![CDATA[<p><a rel="noopener noreferrer nofollow" href="http://shell.cloud.google.com/?cloudshell_safemode=true">shell.cloud.google.com/?cloudshell_safemode=true</a></p>]]></description>
         <enclosure url="" />
         <pubDate>2026-03-27 11:06:17 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3842706275</guid>
      </item>
      <item>
         <title>Cloud: Exercice/Rappel Développement d&#39;un Microservice Express js /Mongo DB</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3851754012</link>
         <description><![CDATA[<p>DEVOWFS201 =&gt; 03/04/2026 (Retour du stage)</p><p>==============================</p><p><strong><mark>Travail à faire:</mark></strong></p><p>Développer un microservice qui permet de:</p><ul><li><p>Enregister les utilisateurs à travers leurs Email et mots de passe</p></li><li><p>Authentifier les utilisateurs, et générer des tokens JWT pour les utilisateurs connectés; On effectue un contrôle sur le statut du compte de l'utilisateur (activé/désactivé)</p></li><li><p>Désactiver les comptes des utilisateurs</p></li><li><p>Activer les comptes des utilisateurs</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2026-04-03 08:07:16 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3851754012</guid>
      </item>
      <item>
         <title>Stage: Plan des présentations + Remise Livrables</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3851767560</link>
         <description><![CDATA[<p><br></p><p><strong><mark>Plan Présentation: Prévues le 10/04/2026</mark></strong></p><p>-Présentation du lieu du stage</p><p>-Présentation du contexte général</p><p>-Présentation du cahier de charges</p><p>-Présentation de la solution (Concption + Implémentation)</p><p>===========================================</p><p><br></p><p><strong><mark>Livrables: Date limite 03/04/2026</mark></strong></p><p>1-Rapport (pdf)</p><p>2-dump SQL (BD)</p><p>3-Application</p><p>=&gt; Dossier (fichier compréssé) nommé sous format: <mark>noms-des-personnes</mark>_stage_devowfs201 à partager à partir de <strong><mark>Goggle Drive</mark></strong></p><p><br></p><p><br></p>]]></description>
         <enclosure url="" />
         <pubDate>2026-04-03 08:30:06 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3851767560</guid>
      </item>
      <item>
         <title>Technologie de Stage </title>
         <author></author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3883025523</link>
         <description><![CDATA[<p>Haytham sbou, Jemakhe Mohammed, Chakiri ayoub : PHP miler</p>]]></description>
         <enclosure url="" />
         <pubDate>2026-04-24 09:29:23 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3883025523</guid>
      </item>
      <item>
         <title>Cloud: Guide pratique - Conteneurisation, NGINX et déploiement Azure</title>
         <author>bayane523</author>
         <link>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3924270268</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://docs.google.com/document/d/1sc_13tkcDl-bwLdy4XLDR0cyw1rBBXh1/edit?usp=sharing&amp;ouid=108601947855713438019&amp;rtpof=true&amp;sd=true" />
         <pubDate>2026-05-21 12:21:55 UTC</pubDate>
         <guid>https://padlet.com/bayane523/bpw93p2hy1brvom2/wish/3924270268</guid>
      </item>
   </channel>
</rss>
