From 45461677cfea3bc6ab34c2f84f494096237fc2bb Mon Sep 17 00:00:00 2001 From: MachinisteWeb Date: Fri, 22 Dec 2017 18:12:38 +0100 Subject: [PATCH 1/3] Video translation Signed-off-by: MachinisteWeb --- src/v2/video/What is Vue.js.srt | 381 ++++++++++++++++---------------- 1 file changed, 190 insertions(+), 191 deletions(-) diff --git a/src/v2/video/What is Vue.js.srt b/src/v2/video/What is Vue.js.srt index 086cd58c48..d6f883dec0 100644 --- a/src/v2/video/What is Vue.js.srt +++ b/src/v2/video/What is Vue.js.srt @@ -1,589 +1,588 @@ 1 00:00:00,000 --> 00:00:02,418 -- Over the last 10 years -our web pages have become +- Depuis ses 10 dernière années +nos pages web sont devenues 2 00:00:02,418 --> 00:00:05,600 -more dynamic and powerful -thanks to JavaScript. +plus dynamiques et puissantes +grâce au JavaScript. 3 00:00:05,600 --> 00:00:07,541 -We've moved a lot of -code that was normally on +Nous avons déplacé énormément +de code originalement sur 4 00:00:07,541 --> 00:00:10,120 -the server side into our browsers, +le serveur dans nos navigateurs, 5 00:00:10,120 --> 00:00:13,051 -leaving us with thousands -of lines of JavaScript code +leurs ajoutant des milliers de +lignes de code JavaScript 6 00:00:13,051 --> 00:00:15,691 -connecting to various HTML and CSS files +connectant divers fichiers HTML et CSS 7 00:00:15,691 --> 00:00:17,821 -with no formal organization. +avec une organisation non formalisée. 8 00:00:17,821 --> 00:00:19,781 -This is why more and -more developers are using +C'est pourquoi de plus en +plus de développeurs 9 00:00:19,781 --> 00:00:23,948 -JavaScript Frameworks like, -Angular, React, or Vue. +utilisent des frameworks JavaScript +comme Angular, React, ou Vue. 10 00:00:24,821 --> 00:00:27,829 -Vue is an approachable, -versatile, and performant +Vue est un framework JavaScript +performant et versatile 11 00:00:27,829 --> 00:00:29,860 -JavaScript framework -that helps you create +à la prise en main progressive +qui permet 12 00:00:29,860 --> 00:00:33,381 -a more maintainable, -and testable code base. +du code facilement +testable et maintenable. 13 00:00:33,381 --> 00:00:36,229 -Vue is a progressive JavaScript -Framework, which means, +Le fait que Vue ait une prise +en main progressive signifie que 14 00:00:36,229 --> 00:00:38,621 -if you have an existing -server-side application, +si vous avez une application +existante côté serveur, 15 00:00:38,621 --> 00:00:41,627 -you can plug Vue into just -one part of your application +vous pouvez y ajouter Vue +seulement sur certaines parties 16 00:00:41,627 --> 00:00:44,381 -that needs a richer, more -interactive experience. +pour une experience +interactive plus riche. 17 00:00:44,381 --> 00:00:46,269 -Or, if you want to build -more business logic +Ou, si vous voulez +construire une meilleure 18 00:00:46,269 --> 00:00:48,240 -into your front end from the get go, +logique métier côté client, 19 00:00:48,240 --> 00:00:50,611 -Vue has the core libraries -and the ecosystem +Vue possède la bibliothèque +et l'écosystème 20 00:00:50,611 --> 00:00:52,421 -you'll need to scale. +dont vous avez besoin. 21 00:00:52,421 --> 00:00:53,829 -Like other front end frameworks, +Comme les autres frameworks clients, 22 00:00:53,829 --> 00:00:55,960 -Vue allows you to take a -web page and split it up +Vue vous permet de découper +une page web 23 00:00:55,960 --> 00:01:00,000 -into reusable components, -each having its own HTML, +en composants réutilisables, +ayant chacun sa propre partie, 24 00:01:00,000 --> 00:01:02,291 -CSS, and JavaScript needed to render +HTML CSS, et JavaScript nécessaire 25 00:01:02,291 --> 00:01:04,269 -that piece of the page. +pour faire le rendu de la page. 26 00:01:04,269 --> 00:01:06,260 -Next, we'll take a look -at Vue in action by +Construisons maintemant +avec Vue 27 00:01:06,260 --> 00:01:08,301 -building a product inventory page, +une page d'inventaire de produits, 28 00:01:08,301 --> 00:01:10,187 -but stay tuned to the end of the video +mais restez jusqu'à la fin pour 29 00:01:10,187 --> 00:01:13,571 -for a message from -Vue's creator, Evan You. +un message du créateur +de Vue, Evan You. 30 00:01:13,571 --> 00:01:15,301 -We won't be teaching you how to use Vue, +Nous n'allons pas voir comment utiliser Vue, 31 00:01:15,301 --> 00:01:16,981 -but we'll introduce a couple key concepts +mais juste introduires quelques conceptes 32 00:01:16,981 --> 00:01:19,460 -that make Vue so useful. +rendant Vue tellement utile. 33 00:01:19,460 --> 00:01:21,200 -As with many JavaScript applications, +Comme pour beaucoup d'applications JavaScript, 34 00:01:21,200 --> 00:01:24,272 -we start from the need to -display data on to our web page. +nous commençons par l'affichage +d'information sur notre page. 35 00:01:24,272 --> 00:01:26,591 -With Vue, it starts out really simple. +Avec Vue, cela se fait simplement. 36 00:01:26,591 --> 00:01:29,745 -We include the Vue library, -create a Vue instance, +Nous incluons la bibliothèque Vue, +créons une instance de Vue, 37 00:01:29,745 --> 00:01:33,673 -and plug into our root -element with the ID of app. +et l'attachons à un élément +racine avec l'ID `app`. 38 00:01:33,673 --> 00:01:36,032 -E L stands for element. +`el:` attend un élément. 39 00:01:36,032 --> 00:01:39,505 -We'll also move our data inside an object +Nous bougeons nos données dans un objet 40 00:01:39,505 --> 00:01:41,993 -and change X into an expression +et changeons X en une expression 41 00:01:41,993 --> 00:01:44,544 -with the double curly braces. +avec des doubles accolades. 42 00:01:44,544 --> 00:01:46,945 -As you can see, it works. +Et comme prévu, ça marche. 43 00:01:46,945 --> 00:01:50,695 -Pretty cool, but the magic of -Vue starts when data changes. +Plutôt sympa, mais la magie de Vue +commence quand les données changes. 44 00:01:50,695 --> 00:01:51,975 -If we jump into the console, +Dans la console 45 00:01:51,975 --> 00:01:54,735 -we change the value of our product. +changons la valeur du produit. 46 00:01:54,735 --> 00:01:57,324 -Notice that as soon as the -value of product changed, +On s'aperçoit que dès que la +valeur du produit change 47 00:01:57,324 --> 00:01:59,953 -Vue automatically updated our HTML. +Vue met automatiquement à jour le HTML. 48 00:01:59,953 --> 00:02:01,745 -This is because Vue is reactive, +C'est parceque Vue est réactif, 49 00:02:01,745 --> 00:02:03,273 -meaning that when our data changes, +donc si nos données changes, 50 00:02:03,273 --> 00:02:05,193 -Vue takes care of updating all the places +Vue s'occupe de mettre à jour ces données 51 00:02:05,193 --> 00:02:07,255 -we're using it in our web page. +partout ou elles sont utilisées dans la page. 52 00:02:07,255 --> 00:02:10,305 -This works with any kind -of data, not just strings. +Cela fonctionne pour toutes sorte de données, +pas seulement pour les chaines de caractères. 53 00:02:10,305 --> 00:02:11,604 -So instead of a single product, +Au lieu d'un produit, 54 00:02:11,604 --> 00:02:14,604 -let's use an array of products. +essayons un tableau de produits. 55 00:02:14,604 --> 00:02:17,865 -Then we'll update our -H2 to an unordered list, +Ainsi changeons notre H2 +en une liste non ordonnée 56 00:02:17,865 --> 00:02:20,535 -and create a new list item -for each product in the array +et créons une nouvelle liste +d'élément pour chaque produit 57 00:02:20,535 --> 00:02:22,618 -using Vue's v-for directive. +avec la directive `v-for` de Vue. 58 00:02:24,353 --> 00:02:26,615 -This way, each product -gets its own list item +Ainsi, chaque produit +à sa propre liste d'éléments 59 00:02:26,615 --> 00:02:28,495 -as you see here. +comme vous pouvez le voir ici. 60 00:02:28,495 --> 00:02:30,352 -This is still a little contrived though. +Ceci est encore un peu artificiel. 61 00:02:30,352 --> 00:02:32,312 -So let's start with our list empty +Remplissons plutôt nos produits 62 00:02:32,312 --> 00:02:34,815 -and fetch our products from an actual API +en partant d'une liste vide 63 00:02:34,815 --> 00:02:37,433 -which could be coming -from a database somewhere. +alimentée depuis une base de donnée +avec un appel d'API. 64 00:02:37,433 --> 00:02:38,863 -When our app is created, +Quand notre app est crée, 65 00:02:38,863 --> 00:02:41,866 -we'll fetch the latest -products from this API. +Nous allons récupérer les derniers +produits en provenance de l'API. 66 00:02:41,866 --> 00:02:43,199 -All you need to take from it is that +Maintenant vous devez récupérer 67 00:02:43,199 --> 00:02:45,063 -we're fetching our list of products +la liste de produits et la mettre 68 00:02:45,063 --> 00:02:46,923 -and updating them in our data. +à jour dans vos données. 69 00:02:46,923 --> 00:02:48,281 -As you can see on our web page, +Vous pouvez voir sur la page 70 00:02:48,281 --> 00:02:51,435 -each list item is showing -the object it returned. +chaque élément de la liste +montre l'object retourné. 71 00:02:51,435 --> 00:02:53,474 -Well, it's not human readable yet, +Bien, c'est pas encore très lisible, 72 00:02:53,474 --> 00:02:56,265 -so let's change the way it's displayed. +donc affichons cela d'une autre manière. 73 00:02:56,265 --> 00:02:59,643 -We'll print out quantity and name. +On va afficher la quantité et le nom. 74 00:02:59,643 --> 00:03:02,265 -And there it is, printing out nicely. +et ici, l'afficher correctement. 75 00:03:02,265 --> 00:03:03,563 -We might want to call attention to the +Nous voudrions faire attention aux 76 00:03:03,563 --> 00:03:05,675 -items that have quantity zero. +éléments avec une quantité de zéro. 77 00:03:05,675 --> 00:03:09,595 -So let's add a little span -with the text, out of stock. +Donc ajoutons une petite zone +avec le texte `OUT OF STOCK`. 78 00:03:09,595 --> 00:03:13,334 -This should only appear if -our item quantity equals zero. +Ça ne devrait apparaitre que si +notre quantité est à zéro. 79 00:03:13,334 --> 00:03:16,134 -We're going to use the v-if directive. +Utilisons la directive `v-if`. 80 00:03:16,134 --> 00:03:20,362 -Because our jacket has quantity -of zero, it's out of stock. +Comme `jacket` a une quantité +à zéro, `OUT OF STOCK` apparait. 81 00:03:20,362 --> 00:03:22,081 -What if we wanted to -print out the total number +Et si nous voulions +afficher le nombre total 82 00:03:22,081 --> 00:03:24,641 -of products under our list? +de produits dans la liste ? 83 00:03:24,641 --> 00:03:26,468 -To make this work, we need to create +Pour mettre ça en place utilisons 84 00:03:26,468 --> 00:03:29,570 -a computed property called totalProducts +une propriété calculée `totalProducts` 85 00:03:29,570 --> 00:03:34,228 -which returns the total -quantity of our products. +qui retournera la quantité +total de produits. 86 00:03:34,228 --> 00:03:36,490 -If you're not familiar -with JavaScript reduce, +Si vous n'êtes pas habitué à +la fonction reduce de JavaScript 87 00:03:36,490 --> 00:03:40,468 -it's adding up all the -quantities from each product. +elle ajoute la quantité souhaitée +de chaque produit dans une valeur. 88 00:03:40,468 --> 00:03:41,851 -As you can see, over in our browser, +Et depuis le navigateur, on peut voir 89 00:03:41,851 --> 00:03:45,308 -it's properly adding -up all the quantities. +que toutes les quantités +sont correctements affichées. 90 00:03:45,308 --> 00:03:47,588 -Here in the browser, I -want to show you Vue's +Dans le navigateur, je +voudrais vous montrer le 91 00:03:47,588 --> 00:03:51,380 -Chrome plugin where we -can see our array of data +plugin Vue de Chrome ou l'on +peut voir notre tableau de données 92 00:03:51,380 --> 00:03:53,547 -and inspect it right here. +et l'inspecter directement. 93 00:03:55,108 --> 00:03:57,460 -Since we're in the console, just for fun, +Puisque nous sommes dans la console, 94 00:03:57,460 --> 00:03:59,850 -let's pop the last item out of the array +retirons le dernier élément du tableau 95 00:03:59,850 --> 00:04:01,828 -and see what happens. +et voyons ce qui arrive. 96 00:04:01,828 --> 00:04:04,359 -As you can see, not only -is our list updated, +Comme vous pouvez le constater +notre liste se met à jour, 97 00:04:04,359 --> 00:04:07,940 -but our total as well, as you would hope. +et notre total également, comme espéré. 98 00:04:07,940 --> 00:04:10,410 -Next, let's add some -interactivity to this page +Maintenant, ajoutons de +l'intéractivité sur la page 99 00:04:10,410 --> 00:04:12,346 -through the use of a button. +avec l'utilisation d'un bouton. 100 00:04:12,346 --> 00:04:14,490 -We'll create an add -button for each product +Nous allons ajouter un bouton +pour chaque produit 101 00:04:14,490 --> 00:04:15,850 -and when a click occurs, +et quand il va y avoir un clique, 102 00:04:15,850 --> 00:04:18,850 -we'll increment the quantity by one. +nous allons augmenter la quantité. 103 00:04:19,959 --> 00:04:22,279 -Back in the browser, notice -how when we add an item, +Dans le navigateur, il y a +l'élément qui a été ajouté, 104 00:04:22,279 --> 00:04:25,159 -not only does the total -inventory get updated, +il n'y a pas que le total +de l'inventaire mis à jour, 105 00:04:25,159 --> 00:04:27,780 -but also if we increment -our jacket product, +mais aussi notre produit +`jacket` est incrémenté, 106 00:04:27,780 --> 00:04:30,300 -our out of stock notice goes away. +et `OUT OF STOCK` disparait. 107 00:04:30,300 --> 00:04:31,860 -Clicking this button a million times +Cliquer sur ce bouton beaucoup 108 00:04:31,860 --> 00:04:33,890 -is going to get tiring, -so what if we wanted to +de fois risque d'être fatiguant, +nous préfererions mettre 109 00:04:33,890 --> 00:04:37,719 -write in the quantity of -jackets or hiking socks? +la quantité de `jacket` +directement à la main ? 110 00:04:37,719 --> 00:04:40,580 -We just create a new input -field and bind it to our +Créons donc un nouveau champ +et attachons y la quantité 111 00:04:40,580 --> 00:04:43,867 -product quantity field -with the v-model directive +de notrec produit avec +la directive `v-model` 112 00:04:43,867 --> 00:04:46,519 -specifying that it is always a number. +et spécifions que c'est un nombre. 113 00:04:46,519 --> 00:04:48,060 -You'll notice now, I can input the total +Maintenant je peux entrer 114 00:04:48,060 --> 00:04:52,450 -quantity of each item and -it gets updated immediately. +la quantité total et +voir sa mise à jour directement. 115 00:04:52,450 --> 00:04:54,500 -I can even set the quantity back to zero +Je peux même mettre la quantité à zéro 116 00:04:54,500 --> 00:04:57,899 -and I get my out of stock statement. +et voir notre `OUT OF STOCK` réapparaitre. 117 00:04:57,899 --> 00:05:01,232 -And my add buttons still work just fine. +Et mes boutons fonctionnent toujours. 118 00:05:02,259 --> 00:05:03,999 -If we were building a larger application, +En créant une grande application, 119 00:05:03,999 --> 00:05:05,839 -we might want to split -things up at this point +nous voudrions scinder les +choses et mettre les 120 00:05:05,839 --> 00:05:09,290 -into their own components and files. +composants dans leurs propres fichiers. 121 00:05:09,290 --> 00:05:11,827 -Vue even has a command line interface +Vue a même une ligne de commande 122 00:05:11,827 --> 00:05:15,828 -which makes it simple to -start real projects quickly. +qui rend le démarrage de +nouveau projet simple et rapide. 123 00:05:15,828 --> 00:05:18,879 -We might even use single -file Vue components +Nous pourions utiliser des +composants Vue monofichier 124 00:05:18,879 --> 00:05:21,770 -which contain their own HTML, JavaScript, +qui contiennent le HTML, le JavaScript, 125 00:05:21,770 --> 00:05:23,687 -and Scoped CSS, or SCSS. +et du CSS à portée limitée. 126 00:05:25,599 --> 00:05:28,926 -- Hi, I'm Evan You, the creator of Vue.js. +- Bonjour, c'est Evan You, createur de Vue.js. 127 00:05:28,926 --> 00:05:31,587 -What you've seen here -barely scratched the surface +Ce que vous venez de voir +est un maigre aperçu de ce 128 00:05:31,587 --> 00:05:33,065 -of what Vue can do. +que Vue peut faire. 129 00:05:33,065 --> 00:05:34,856 -There's so much more in the ecosystem +Il y a bien plus dans son écosystème 130 00:05:34,856 --> 00:05:36,555 -to help you build, organize, +pour vous aider à créer, organiser, 131 00:05:36,555 --> 00:05:39,076 -and scale your front-end applications. +et maintenir vos applications clientes. 132 00:05:39,076 --> 00:05:42,457 -To get a better taste, read -our documentation today. +Pour un meilleur aperçu, lisez +notre documentation aujourd'hui. 133 00:05:42,457 --> 00:05:44,708 -I think you'll enjoy the Vue. - +Je pense que vous allez aprécier Vue. From 7efd4231c6671e4c1fd43e7b172c9e098d31dd47 Mon Sep 17 00:00:00 2001 From: MachinisteWeb Date: Sat, 23 Dec 2017 10:54:11 +0100 Subject: [PATCH 2/3] rspt review Signed-off-by: MachinisteWeb --- src/v2/video/What is Vue.js.srt | 46 ++++++++++++++++----------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/src/v2/video/What is Vue.js.srt b/src/v2/video/What is Vue.js.srt index d6f883dec0..67c0c97f5a 100644 --- a/src/v2/video/What is Vue.js.srt +++ b/src/v2/video/What is Vue.js.srt @@ -1,6 +1,6 @@ 1 00:00:00,000 --> 00:00:02,418 -- Depuis ses 10 dernière années +- Depuis ses 10 dernières années nos pages web sont devenues 2 @@ -72,7 +72,7 @@ seulement sur certaines parties 16 00:00:41,627 --> 00:00:44,381 -pour une experience +pour une expérience interactive plus riche. 17 @@ -117,7 +117,7 @@ pour faire le rendu de la page. 26 00:01:04,269 --> 00:01:06,260 -Construisons maintemant +Construisons maintenant avec Vue 27 @@ -139,7 +139,7 @@ Nous n'allons pas voir comment utiliser Vue, 31 00:01:15,301 --> 00:01:16,981 -mais juste introduires quelques conceptes +mais juste introduire quelques concepts 32 00:01:16,981 --> 00:01:19,460 @@ -191,7 +191,7 @@ Et comme prévu, ça marche. 43 00:01:46,945 --> 00:01:50,695 Plutôt sympa, mais la magie de Vue -commence quand les données changes. +commence quand les données changent. 44 00:01:50,695 --> 00:01:51,975 @@ -199,7 +199,7 @@ Dans la console 45 00:01:51,975 --> 00:01:54,735 -changons la valeur du produit. +changeons la valeur du produit. 46 00:01:54,735 --> 00:01:57,324 @@ -212,11 +212,11 @@ Vue met automatiquement à jour le HTML. 48 00:01:59,953 --> 00:02:01,745 -C'est parceque Vue est réactif, +C'est parce que Vue est réactif, 49 00:02:01,745 --> 00:02:03,273 -donc si nos données changes, +donc si nos données changent, 50 00:02:03,273 --> 00:02:05,193 @@ -228,7 +228,7 @@ partout ou elles sont utilisées dans la page. 52 00:02:07,255 --> 00:02:10,305 -Cela fonctionne pour toutes sorte de données, +Cela fonctionne pour toute sorte de données, pas seulement pour les chaines de caractères. 53 @@ -276,16 +276,16 @@ en partant d'une liste vide 63 00:02:34,815 --> 00:02:37,433 -alimentée depuis une base de donnée +alimentée depuis une base de données avec un appel d'API. 64 00:02:37,433 --> 00:02:38,863 -Quand notre app est crée, +Quand notre app est créée, 65 00:02:38,863 --> 00:02:41,866 -Nous allons récupérer les derniers +nous allons récupérer les derniers produits en provenance de l'API. 66 @@ -307,7 +307,7 @@ Vous pouvez voir sur la page 70 00:02:48,281 --> 00:02:51,435 chaque élément de la liste -montre l'object retourné. +montre l'objet retourné. 71 00:02:51,435 --> 00:02:53,474 @@ -319,7 +319,7 @@ donc affichons cela d'une autre manière. 73 00:02:56,265 --> 00:02:59,643 -On va afficher la quantité et le nom. +On va afficher la quantité et le nom, 74 00:02:59,643 --> 00:03:02,265 @@ -391,7 +391,7 @@ Et depuis le navigateur, on peut voir 89 00:03:41,851 --> 00:03:45,308 que toutes les quantités -sont correctements affichées. +sont correctement affichées. 90 00:03:45,308 --> 00:03:47,588 @@ -431,7 +431,7 @@ et notre total également, comme espéré. 98 00:04:07,940 --> 00:04:10,410 Maintenant, ajoutons de -l'intéractivité sur la page +l'interactivité sur la page 99 00:04:10,410 --> 00:04:12,346 @@ -476,7 +476,7 @@ Cliquer sur ce bouton beaucoup 108 00:04:31,860 --> 00:04:33,890 de fois risque d'être fatiguant, -nous préfererions mettre +nous préfèrerions mettre 109 00:04:33,890 --> 00:04:37,719 @@ -486,11 +486,11 @@ directement à la main ? 110 00:04:37,719 --> 00:04:40,580 Créons donc un nouveau champ -et attachons y la quantité +et attachons-y la quantité 111 00:04:40,580 --> 00:04:43,867 -de notrec produit avec +de notre produit avec la directive `v-model` 112 @@ -503,7 +503,7 @@ Maintenant je peux entrer 114 00:04:48,060 --> 00:04:52,450 -la quantité total et +la quantité totale et voir sa mise à jour directement. 115 @@ -542,7 +542,7 @@ nouveau projet simple et rapide. 123 00:05:15,828 --> 00:05:18,879 -Nous pourions utiliser des +Nous pourrions utiliser des composants Vue monofichier 124 @@ -555,7 +555,7 @@ et du CSS à portée limitée. 126 00:05:25,599 --> 00:05:28,926 -- Bonjour, c'est Evan You, createur de Vue.js. +- Bonjour, c'est Evan You, créateur de Vue.js. 127 00:05:28,926 --> 00:05:31,587 @@ -585,4 +585,4 @@ notre documentation aujourd'hui. 133 00:05:42,457 --> 00:05:44,708 -Je pense que vous allez aprécier Vue. +Je pense que vous allez apprécier Vue. From eed4a1f59495836755b1e6ca5f651533e72fc69b Mon Sep 17 00:00:00 2001 From: MachinisteWeb Date: Sat, 23 Dec 2017 16:02:32 +0100 Subject: [PATCH 3/3] Review de Kocal Signed-off-by: MachinisteWeb --- src/v2/video/What is Vue.js.srt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/v2/video/What is Vue.js.srt b/src/v2/video/What is Vue.js.srt index 67c0c97f5a..0cef920da0 100644 --- a/src/v2/video/What is Vue.js.srt +++ b/src/v2/video/What is Vue.js.srt @@ -48,7 +48,7 @@ performant et versatile 11 00:00:27,829 --> 00:00:29,860 à la prise en main progressive -qui permet +qui permet d'écrire 12 00:00:29,860 --> 00:00:33,381 @@ -109,7 +109,7 @@ ayant chacun sa propre partie, 24 00:01:00,000 --> 00:01:02,291 -HTML CSS, et JavaScript nécessaire +HTML CSS, et JavaScript nécessaires 25 00:01:02,291 --> 00:01:04,269