


{"id":3882,"date":"2021-07-16T11:26:06","date_gmt":"2021-07-16T09:26:06","guid":{"rendered":"https:\/\/www.editions-eni.fr\/blog\/?p=3882"},"modified":"2021-09-08T12:12:18","modified_gmt":"2021-09-08T10:12:18","slug":"vue-js-en-4-questions","status":"publish","type":"post","link":"https:\/\/www.editions-eni.fr\/blog\/vue-js-en-4-questions\/","title":{"rendered":"Vue.js en 4 questions"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221;][et_pb_row column_structure=&#8221;1_4,3_4&#8243; _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;||0px||false|false&#8221;][et_pb_column type=&#8221;1_4&#8243; _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221;][et_pb_image src=&#8221;https:\/\/www.editions-eni.fr\/blog\/wp-content\/uploads\/2021\/07\/logoVuejs.png&#8221; alt=&#8221;logo Vue.js&#8221; title_text=&#8221;logoVuejs&#8221; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221;][\/et_pb_image][\/et_pb_column][et_pb_column type=&#8221;3_4&#8243; _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221;][et_pb_text _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;||||||||&#8221;]Vous souhaitez d\u00e9velopper rapidement des applications web ? Vous avez d\u00e9j\u00e0 entendu parler de <strong>Vue.js<\/strong> sans l\u2019avoir encore utilis\u00e9 et vous avez quelques notions de HTML et de Javascript&nbsp;?<\/p>\n<p>Alors d\u00e9couvrez cette technologie au travers de 4 questions pos\u00e9es pour vous \u00e0 notre expert Yoann GAUCHARD ![\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;20px||20px||false|false&#8221;][et_pb_row _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221;][et_pb_text _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; custom_margin=&#8221;0px||0px||false|false&#8221; custom_padding=&#8221;0px||0px||false|false&#8221;]<\/p>\n<h3>Qu\u2019est-ce que Vue.js&nbsp;?<\/h3>\n<p>[\/et_pb_text][et_pb_text quote_border_color=&#8221;#3BB6D5&#8243; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;||||||||&#8221;]<\/p>\n<p><strong>Yoann GAUCHARD<\/strong> : <strong>Vue.js est un framework \u00e9crit en Javascript<\/strong>, par Evan YOU, un ancien de Google Labs. Ce framework est une bo\u00eete \u00e0 outils qui va vous permettre de <strong>d\u00e9velopper plus rapidement vos applications web<\/strong>.<br \/>Vue.js s\u2019adresse \u00e0 tout d\u00e9veloppeur qui a quelques notions de HTML et Javascript et qui <strong>souhaite d\u00e9velopper le frontend d\u2019applications web pour d\u00e9velopper des interfaces fluides, dynamiques, riches<\/strong>, cela plus rapidement \u00e0 l\u2019aide d\u2019un framework.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;20px||20px||false|false&#8221;][et_pb_row _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221;][et_pb_text _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; custom_margin=&#8221;0px||0px||false|false&#8221; custom_padding=&#8221;0px||0px||false|false&#8221;]<\/p>\n<h3>Pourquoi utiliser le framework Vue.js ?<\/h3>\n<p>[\/et_pb_text][et_pb_text quote_border_color=&#8221;#3BB6D5&#8243; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;||||||||&#8221;]<\/p>\n<p><strong>Y.G.<\/strong> : <strong>Ce framework est l\u00e9ger<\/strong>, il est aussi modulable, flexible, et c\u2019est surtout son aspect <strong>progressif<\/strong> qui est aussi int\u00e9ressant, puisqu\u2019on va pouvoir, autant l\u2019utiliser pour <strong>prototyper rapidement des applications<\/strong>, mais aussi s\u2019en servir sur des sites web existants, pour rendre plus riches certaines pages. Tout comme on peut aussi <strong>d\u00e9velopper des applications web modernes<\/strong>, c\u2019est-\u00e0-dire des <strong>applications monopages<\/strong>, ou aussi dites \u00ab <strong>single page applications<\/strong> \u00bb dans leur int\u00e9gralit\u00e9.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;20px||20px||false|false&#8221;][et_pb_row _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221;][et_pb_text _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; custom_margin=&#8221;0px||0px||false|false&#8221; custom_padding=&#8221;0px||0px||false|false&#8221;]<\/p>\n<h3>Organiser son code en composant : quelles sont les bonnes pratiques&nbsp;?<\/h3>\n<p>[\/et_pb_text][et_pb_text quote_border_color=&#8221;#3BB6D5&#8243; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;||||||||&#8221;]<\/p>\n<p><strong>Y.G.<\/strong> : Il y a plusieurs approches. On peut partir d\u2019une <strong>approche \u00ab top down \u00bb<\/strong>, c\u2019est-\u00e0-dire, qu\u2019on va essayer de <strong>d\u00e9composer visuellement notre page web<\/strong>. Par exemple on va faire <strong>un composant pour l\u2019ent\u00eate<\/strong>, un autre pour le <strong>pied de page<\/strong>, un pour la <strong>barre lat\u00e9rale<\/strong> et un pour le <strong>corps de la page<\/strong>.<\/p>\n<p>Ensuite, on va regarder quels sont les <strong>blocs HTML<\/strong> qui peuvent <strong>se r\u00e9p\u00e9ter<\/strong>, qui peuvent \u00eatre <strong>r\u00e9utilisables sur plusieurs pages<\/strong>, et si on en identifie, on peut les rassembler dans des composants.<\/p>\n<p>L\u2019approche \u00ab top down \u00bb est une approche plut\u00f4t naturelle, r\u00e9serv\u00e9e \u00e0 du <strong>prototypage d\u2019application rapide<\/strong>. Si par contre apr\u00e8s on passe sur un projet beaucoup plus cons\u00e9quent, il existe l\u2019approche inverse \u00ab <strong>bottom up<\/strong> \u00bb, o\u00f9 on s\u2019inspire un peu plus de l\u2019atomic design. On va essayer de voir quels sont les \u00e9l\u00e9ments de notre page, du plus petit, au plus gros. On parle d\u2019atomic design pour faire r\u00e9f\u00e9rence \u00e0 la physique : atome, mol\u00e9cule, organisme\u2026 Puis on passe aux templates et aux pages.<\/p>\n<p>Il est int\u00e9ressant, lorsque l\u2019on a besoin d\u2019un m\u00eame \u00e9l\u00e9ment \u00e0 plusieurs reprises, de d\u00e9cider <strong>d\u2019en faire un composant<\/strong> et ainsi de suite.<\/p>\n<p>Cela d\u00e9pendra \u00e9galement de la complexit\u00e9 de votre code. Si vous vous rendez-compte que certains composants deviennent assez cons\u00e9quents, il peut \u00eatre recommand\u00e9 de les <strong>sous diviser en plusieurs composants<\/strong> afin d\u2019assurer une <strong>meilleure maintenabilit\u00e9 du code<\/strong>.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;20px||20px||false|false&#8221;][et_pb_row _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221;][et_pb_text _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; custom_margin=&#8221;0px||0px||false|false&#8221; custom_padding=&#8221;0px||0px||false|false&#8221;]<\/p>\n<h3>Quelles sont vos recommandations en termes de s\u00e9curit\u00e9 li\u00e9s aux applications web&nbsp;?<\/h3>\n<p>[\/et_pb_text][et_pb_text quote_border_color=&#8221;#3BB6D5&#8243; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;||||||||&#8221;]<\/p>\n<p><strong>Y.G.<\/strong> : Il y a un principe de base, qui est de ne jamais faire confiance aux saisies de l\u2019utilisateur, \u00e0 ce qu\u2019il va saisir dans votre application. Avec Vue.js, si vous utilisez les informations saisies dans votre interface et que vous voulez les r\u00e9injecter ailleurs dans vos pages, il faudra s\u2019assurer <strong>d\u2019\u00e9chapper tous les caract\u00e8res qui pourraient \u00eatre interpr\u00e9t\u00e9s dans le code HTML<\/strong>, pour <strong>\u00e9viter ainsi l\u2019injection de code malveillant<\/strong>, qu\u2019il soit CSS, Javascript ou HTML. Il y a notamment une directive dans Vue.js qui laisse la place \u00e0 ce type de risque. Il s\u2019agit de la <strong>directive VHTML<\/strong>, qui est inject\u00e9e directement \u00e0 un pav\u00e9 HTML dans votre page. Il est primordial de s\u2019assurer que les donn\u00e9es que vous allez injecter soient s\u00fbres et de confiance, et d\u2019avoir bien <strong>\u00e9chapp\u00e9 tous les caract\u00e8res interpr\u00e9tables<\/strong> par votre navigateur auparavant.<\/p>\n<p>Il faut tout de m\u00eame savoir, qu\u2019initialement, si vous utilisez <strong>l\u2019interpolation Vue.js<\/strong>, le framework \u00e9chappe naturellement les caract\u00e8res donc vous n\u2019avez pas \u00e0 vous soucier de ce probl\u00e8me.<\/p>\n<p>Un autre point li\u00e9 \u00e0 la s\u00e9curit\u00e9 va \u00eatre tout ce qui se rapporte \u00e0 <strong>l\u2019authentification<\/strong>. Si vous utilisez des <strong>API pour obtenir des sources de donn\u00e9es externes pour votre application web<\/strong>, il est toujours pr\u00e9f\u00e9rable d\u2019avoir un <strong>syst\u00e8me d\u2019authentification<\/strong>. Dans ce cas vous allez utiliser des <strong>cl\u00e9s API<\/strong>, avec des <strong>cha\u00eenes de caract\u00e8res<\/strong>, des <strong>jetons<\/strong>, des <strong>tokens crypt\u00e9s<\/strong>, que le fournisseur d\u2019API vous fournit. L\u2019un des principes de base avec ces cl\u00e9s est de <strong>ne jamais les garder dans votre code versionn\u00e9<\/strong> sur votre gestionnaire de version. Github par exemple propose Git Secrets, qui permet de <strong>crypter les fichiers<\/strong> o\u00f9 vous stockez les cl\u00e9s pour que les personnes qui utiliseront votre code ensuite puissent acc\u00e9der aux cl\u00e9s qui leur permettront de d\u00e9crypter ces fichiers. Le mieux \u00e9tant de les avoir ailleurs, \u00e0 savoir, ni dans votre code, ni dans votre navigateur. Essayez \u00e9galement de n<strong>e pas stocker de secrets ou de cl\u00e9s dans le cache longue dur\u00e9e de votre navigateur<\/strong> car un pirate pourrait les subtiliser. L\u2019id\u00e9al serait que ces cl\u00e9s soient stock\u00e9es sur un serveur \u00e0 part, s\u00e9curis\u00e9.<\/p>\n<p>Vous appelez ensuite votre API. Elle passe par ce serveur, qui injecte la cl\u00e9 dont il a besoin pour appeler le fournisseur de donn\u00e9es, puis qui r\u00e9cup\u00e8re les donn\u00e9es et les renvoie au navigateur. <strong>Utiliser un serveur proxy<\/strong> est ce qu\u2019il y a de plus sur. Il existe \u00e9galement, toutes les <strong>Plateformes as a Service (PaaS)<\/strong>, comme <a href=\"https:\/\/www.netlify.com\/\" target=\"_blank\" rel=\"noopener\">Netlify<\/a>, <a href=\"https:\/\/www.heroku.com\/\" target=\"_blank\" rel=\"noopener\">Heroku<\/a> etc. qui utilisent par exemple des <strong>syst\u00e8mes de fonctions<\/strong>, comme Netlify Function, et qui permettent de produire un peu de code, sans n\u00e9cessairement bien s\u2019y conna\u00eetre en code cot\u00e9 serveur, et qui permettent de faire ce code de bypass avec le serveur au milieu, entre le navigateur et le fournisseur de donn\u00e9es.<\/p>\n<p>D\u2019autre part, pour tout ce qui est relatif \u00e0 la <strong>soumission de formulaires<\/strong>, si vous utilisez Vue.js avec un rendu c\u00f4t\u00e9 serveur via d\u2019autres frameworks backend, il peut \u00eatre int\u00e9ressant de <strong>mettre en place des jetons CSRF<\/strong>, afin <strong>d\u2019\u00e9viter les attaques d\u2019hame\u00e7onnage<\/strong> que vous pouvez recevoir lorsque vous cliquez sur un lien ou une image dans un email malveillant.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;20px||20px||false|false&#8221;][et_pb_row _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;||||false|false&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221;][et_pb_text _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221; custom_margin=&#8221;0px||0px||false|false&#8221; custom_padding=&#8221;0px||0px||false|false&#8221;]<\/p>\n<h3>En conclusion<\/h3>\n<p>[\/et_pb_text][et_pb_text quote_border_color=&#8221;#3BB6D5&#8243; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;||||||||&#8221;]<\/p>\n<p>En esp\u00e9rant que ces quelques lignes en compagnie de notre expert vous auront permis d\u2019en apprendre plus sur Vue.js et vous auront convaincus de passer \u00e0 ce framework progressif pour vos projets d\u2019applications web !<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;20px||20px||false|false&#8221;][et_pb_row _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;||||false|false&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221;][et_pb_text _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; custom_margin=&#8221;0px||0px||false|false&#8221; custom_padding=&#8221;0px||0px||false|false&#8221;]<\/p>\n<h3>Vous souhaitez aller plus loin ?<\/h3>\n<p>[\/et_pb_text][et_pb_text quote_border_color=&#8221;#3BB6D5&#8243; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;||||||||&#8221;]Alors d\u00e9couvrez la pr\u00e9sentation du livre \u00e9crit par Yoann GAUCHARD sur Vue.js ![\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221;][et_pb_video src=&#8221;https:\/\/youtu.be\/8Fll6dbvbF0&#8243; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221;][\/et_pb_video][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221;][et_pb_row _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221;][et_pb_testimonial author=&#8221;Yoann GAUCHARD&#8221; job_title=&#8221;Notre expert Vue.js&#8221; portrait_url=&#8221;https:\/\/www.editions-eni.fr\/blog\/wp-content\/uploads\/2021\/07\/YoannGauchard_portrait.jpg&#8221; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; custom_margin=&#8221;||0px||false|false&#8221; custom_padding=&#8221;||||false|false&#8221;]Apr\u00e8s avoir d\u00e9but\u00e9 en SSII en tant que d\u00e9veloppeur et testeur, Yoann GAUCHARD s\u2019est ensuite tourn\u00e9 vers les technologies web et mobile. Aujourd\u2019hui d\u00e9veloppeur fullstack ind\u00e9pendant, passionn\u00e9 par les technologies web, il est sp\u00e9cialis\u00e9 dans la conception et la r\u00e9alisation de sites web avec Symfony ainsi que dans le d\u00e9veloppement d\u2019applications web mobiles et de Progressive Web Apps avec Vue.js. Son expertise et ses comp\u00e9tences profitent autant \u00e0 ses clients (start-up, PME\/TPE et grands groupes), qu\u2019aux stagiaires d\u2019une \u00e9cole d\u2019informatique \u00e0 qui il dispense des formations. Aujourd\u2019hui, il souhaite, avec l\u2019\u00e9criture de ce livre, partager ses connaissances au plus grand nombre.[\/et_pb_testimonial][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221; locked=&#8221;off&#8221;][et_pb_row _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221; locked=&#8221;off&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221;][et_pb_text _builder_version=&#8221;4.9.0&#8243; text_font=&#8221;||||||||&#8221; text_line_height=&#8221;1.8em&#8221; header_font=&#8221;||||||||&#8221; header_2_font=&#8221;Overpass|300|||||||&#8221; header_2_font_size=&#8221;35px&#8221; header_2_line_height=&#8221;1.5em&#8221; custom_margin=&#8221;||0px||false|false&#8221; header_2_font_size_tablet=&#8221;30px&#8221; header_2_font_size_phone=&#8221;20px&#8221; header_2_font_size_last_edited=&#8221;on|phone&#8221; border_color_all=&#8221;#1a0a38&#8243;]<\/p>\n<h2>Pour aller <span style=\"color: #3bb6d5;\">plus loin<\/span><\/h2>\n<p>[\/et_pb_text][et_pb_divider color=&#8221;#3BB6D5&#8243; divider_position=&#8221;center&#8221; divider_weight=&#8221;3px&#8221; _builder_version=&#8221;4.9.0&#8243; max_width=&#8221;90px&#8221; max_width_tablet=&#8221;13%&#8221; max_width_last_edited=&#8221;off|desktop&#8221; custom_margin=&#8221;5px||||false|false&#8221; custom_padding=&#8221;|||&#8221; locked=&#8221;off&#8221;][\/et_pb_divider][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=&#8221;1_4,1_4,1_4,1_4&#8243; _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;RGBA(0,0,0,0)&#8221; custom_margin=&#8221;||5px||false|false&#8221; custom_css_main_element_last_edited=&#8221;on|phone&#8221; custom_css_main_element_tablet=&#8221;display:flex;&#8221; custom_css_main_element_phone=&#8221;display:inherit;&#8221;][et_pb_column type=&#8221;1_4&#8243; _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221;][et_pb_image src=&#8221;https:\/\/www.editions-eni.fr\/livre\/vue-js-developpez-des-applications-web-modernes-en-javascript-avec-un-framework-progressif-9782409029424_XL.jpg&#8221; alt=&#8221;Scratch et Raspberry Pi Projets maker pour s&#8217;initier \u00e0 l&#8217;\u00e9lectronique et \u00e0 la robotique&#8221; title_text=&#8221;scratch-et-raspberry-pi-projets-maker-pour-s-initier-a-l-electronique-et-a-la-robotique-2e-edition-9782409027901_M&#8221; url=&#8221;https:\/\/www.editions-eni.fr\/livre\/vue-js-developpez-des-applications-web-modernes-en-javascript-avec-un-framework-progressif-9782409029424&#8243; url_new_window=&#8221;on&#8221; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; width_tablet=&#8221;85%&#8221; width_phone=&#8221;&#8221; width_last_edited=&#8221;on|tablet&#8221; custom_margin=&#8221;||10px||false|false&#8221; custom_margin_tablet=&#8221;&#8221; custom_margin_phone=&#8221;&#8221; custom_margin_last_edited=&#8221;on|desktop&#8221; hover_enabled=&#8221;0&#8243; box_shadow_style=&#8221;preset3&#8243; transform_styles__hover_enabled=&#8221;on|hover&#8221; transform_scale__hover=&#8221;105%|105%&#8221; transform_scale__hover_enabled=&#8221;on|hover&#8221; transform_translate__hover_enabled=&#8221;on|desktop&#8221; transform_rotate__hover_enabled=&#8221;on|desktop&#8221; transform_skew__hover_enabled=&#8221;on|desktop&#8221; transform_origin__hover_enabled=&#8221;on|desktop&#8221; sticky_enabled=&#8221;0&#8243;][\/et_pb_image][et_pb_text _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;||||||||&#8221; text_text_color=&#8221;#3BB6D5&#8243; background_color=&#8221;RGBA(0,0,0,0)&#8221; custom_margin=&#8221;||5px||false|false&#8221;]<\/p>\n<p>Le livre de Yoann Gauchard<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; custom_padding_tablet=&#8221;|10px|||false|false&#8221; custom_padding_phone=&#8221;|0px|||false|false&#8221; custom_padding_last_edited=&#8221;on|phone&#8221;]<strong>Vue.js<\/strong><br \/>\nD\u00e9veloppez des applications web modernes en JavaScript avec un framework progressif[\/et_pb_text][\/et_pb_column][et_pb_column type=&#8221;1_4&#8243; _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221;][et_pb_image src=&#8221;https:\/\/media2.editions-eni.fr\/video\/vue-js-le-framework-javascript-pour-developper-le-front-end-de-vos-applications-web-vtvuejs_M.jpg&#8221; alt=&#8221;Flutter D\u00e9veloppez vos applications mobiles multiplateformes avec Dart&#8221; title_text=&#8221;flutter-developpez-vos-applications-mobiles-multiplateformes-avec-dart-9782409025273_M (1)&#8221; url=&#8221;https:\/\/www.editions-eni.fr\/video\/vue-js-le-framework-javascript-pour-developper-le-front-end-de-vos-applications-web-vtvuejs&#8221; url_new_window=&#8221;on&#8221; force_fullwidth=&#8221;on&#8221; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; width_tablet=&#8221;85%&#8221; width_phone=&#8221;&#8221; width_last_edited=&#8221;on|tablet&#8221; custom_margin=&#8221;||10px||false|false&#8221; custom_margin_tablet=&#8221;&#8221; custom_margin_phone=&#8221;&#8221; custom_margin_last_edited=&#8221;on|desktop&#8221; hover_enabled=&#8221;0&#8243; transform_styles__hover_enabled=&#8221;on|hover&#8221; transform_scale__hover=&#8221;105%|105%&#8221; transform_scale__hover_enabled=&#8221;on|hover&#8221; transform_translate__hover_enabled=&#8221;on|desktop&#8221; transform_rotate__hover_enabled=&#8221;on|desktop&#8221; transform_skew__hover_enabled=&#8221;on|desktop&#8221; transform_origin__hover_enabled=&#8221;on|desktop&#8221; sticky_enabled=&#8221;0&#8243;][\/et_pb_image][et_pb_text _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;||||||||&#8221; text_text_color=&#8221;#3BB6D5&#8243; background_color=&#8221;RGBA(0,0,0,0)&#8221; custom_margin=&#8221;||5px||false|false&#8221;]<\/p>\n<p>Vid\u00e9o<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; custom_padding_tablet=&#8221;|10px|||false|false&#8221; custom_padding_phone=&#8221;|0px|||false|false&#8221; custom_padding_last_edited=&#8221;on|phone&#8221;]<strong>Vue.js<\/strong><br \/>\nLe framework JavaScript pour d\u00e9velopper le Front End de vos applications web[\/et_pb_text][\/et_pb_column][et_pb_column type=&#8221;1_4&#8243; _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221;][et_pb_image src=&#8221;https:\/\/www.editions-eni.fr\/blog\/wp-content\/uploads\/2021\/06\/presentiel-web.jpg&#8221; alt=&#8221;formation en live&#8221; title_text=&#8221;presentiel-web&#8221; url=&#8221;https:\/\/www.eni-service.fr\/index.php\/fomation\/vue-js-developper-des-applications-web\/&#8221; url_new_window=&#8221;on&#8221; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; width_tablet=&#8221;85%&#8221; width_phone=&#8221;&#8221; width_last_edited=&#8221;on|tablet&#8221; custom_margin=&#8221;||10px||false|false&#8221; custom_margin_tablet=&#8221;&#8221; custom_margin_phone=&#8221;&#8221; custom_margin_last_edited=&#8221;on|desktop&#8221; box_shadow_style=&#8221;preset3&#8243; transform_styles__hover_enabled=&#8221;on|hover&#8221; transform_scale__hover=&#8221;105%|105%&#8221; transform_scale__hover_enabled=&#8221;on|hover&#8221; transform_translate__hover_enabled=&#8221;on|desktop&#8221; transform_rotate__hover_enabled=&#8221;on|desktop&#8221; transform_skew__hover_enabled=&#8221;on|desktop&#8221; transform_origin__hover_enabled=&#8221;on|desktop&#8221;][\/et_pb_image][et_pb_text _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;||||||||&#8221; text_text_color=&#8221;#3BB6D5&#8243; background_color=&#8221;RGBA(0,0,0,0)&#8221; custom_margin=&#8221;||5px||false|false&#8221;]<\/p>\n<p>Formation<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; custom_padding_tablet=&#8221;|10px|||false|false&#8221; custom_padding_phone=&#8221;|0px|||false|false&#8221; custom_padding_last_edited=&#8221;on|phone&#8221;]<strong>Vue.js<\/strong><br \/>\nD\u00e9velopper des applications Web[\/et_pb_text][\/et_pb_column][et_pb_column type=&#8221;1_4&#8243; _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221;][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221; locked=&#8221;off&#8221;][et_pb_row _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221;][et_pb_text _builder_version=&#8221;4.9.7&#8243; text_font=&#8221;||||||||&#8221; text_line_height=&#8221;1.8em&#8221; header_font=&#8221;||||||||&#8221; header_2_font=&#8221;Overpass|300|||||||&#8221; header_2_font_size=&#8221;35px&#8221; header_2_line_height=&#8221;1.5em&#8221; custom_margin=&#8221;||0px||false|false&#8221; header_2_font_size_tablet=&#8221;30px&#8221; header_2_font_size_phone=&#8221;20px&#8221; header_2_font_size_last_edited=&#8221;on|phone&#8221; border_color_all=&#8221;#1a0a38&#8243;]<\/p>\n<h2>Ces articles peuvent aussi <span style=\"color: #3bb6d5;\">vous int\u00e9resser<\/span><\/h2>\n<p>[\/et_pb_text][et_pb_divider color=&#8221;#3BB6D5&#8243; divider_position=&#8221;center&#8221; divider_weight=&#8221;3px&#8221; _builder_version=&#8221;4.9.0&#8243; max_width=&#8221;90px&#8221; max_width_tablet=&#8221;13%&#8221; max_width_last_edited=&#8221;off|desktop&#8221; custom_margin=&#8221;5px||||false|false&#8221; custom_padding=&#8221;|||&#8221; locked=&#8221;off&#8221;][\/et_pb_divider][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=&#8221;1_3,1_3,1_3&#8243; _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221; width_tablet=&#8221;60%&#8221; width_last_edited=&#8221;off|tablet&#8221; custom_margin_tablet=&#8221;|10px||10px|false|false&#8221; custom_margin_last_edited=&#8221;off|tablet&#8221; custom_css_main_element_last_edited=&#8221;off|tablet&#8221; custom_css_main_element_tablet=&#8221;display:flex;&#8221; custom_css_main_element_phone=&#8221;display:inherit;&#8221;][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221;][et_pb_slider use_bg_overlay=&#8221;on&#8221; bg_overlay_color=&#8221;rgba(26,10,56,0.6)&#8221; _builder_version=&#8221;4.9.7&#8243; _dynamic_attributes=&#8221;link_option_url&#8221; _module_preset=&#8221;default&#8221; header_level=&#8221;h4&#8243; header_font=&#8221;Overpass||||||||&#8221; header_font_size=&#8221;18px&#8221; width_last_edited=&#8221;off|tablet&#8221; height=&#8221;320px&#8221; height_last_edited=&#8221;off|desktop&#8221; custom_margin=&#8221;0px||40px||false|false&#8221; custom_margin_last_edited=&#8221;off|tablet&#8221; custom_padding=&#8221;180px|0px|0px|0px|false|false&#8221; custom_padding_tablet=&#8221;150px||||false|false&#8221; custom_padding_phone=&#8221;&#8221; custom_padding_last_edited=&#8221;on|desktop&#8221; link_option_url=&#8221;@ET-DC@eyJkeW5hbWljIjp0cnVlLCJjb250ZW50IjoicG9zdF9saW5rX3VybF9wb3N0Iiwic2V0dGluZ3MiOnsicG9zdF9pZCI6IjEyNjIifX0=@&#8221; border_radii=&#8221;on|20px|20px|20px|20px&#8221; box_shadow_style=&#8221;preset3&#8243; custom_margin__hover_enabled=&#8221;on|hover&#8221; custom_margin__hover=&#8221;-10px||30px||false|false&#8221; custom_padding__hover_enabled=&#8221;on|desktop&#8221; custom_padding__hover=&#8221;||0px||false|false&#8221; height__hover_enabled=&#8221;on|desktop&#8221; height__hover=&#8221;330px&#8221;][et_pb_slide button_link=&#8221;@ET-DC@eyJkeW5hbWljIjp0cnVlLCJjb250ZW50IjoicG9zdF9saW5rX3VybF9wb3N0Iiwic2V0dGluZ3MiOnsicG9zdF9pZCI6IjMwODkifX0=@&#8221; _builder_version=&#8221;4.9.7&#8243; _dynamic_attributes=&#8221;button_link&#8221; _module_preset=&#8221;default&#8221; background_image=&#8221;https:\/\/www.editions-eni.fr\/blog\/wp-content\/uploads\/2021\/06\/dossier_thematique_creation-site-web.jpg&#8221; background_enable_image=&#8221;on&#8221; custom_padding=&#8221;||||false|false&#8221; custom_padding__hover_enabled=&#8221;off|desktop&#8221; custom_padding__hover=&#8221;280px||||false|false&#8221; sticky_transition=&#8221;on&#8221;]<\/p>\n<h4>D\u00e9veloppement de WebApp : 7 bonnes pratiques<\/h4>\n<p>[\/et_pb_slide][\/et_pb_slider][\/et_pb_column][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221;][et_pb_slider use_bg_overlay=&#8221;on&#8221; bg_overlay_color=&#8221;rgba(26,10,56,0.6)&#8221; _builder_version=&#8221;4.9.7&#8243; _dynamic_attributes=&#8221;link_option_url&#8221; _module_preset=&#8221;default&#8221; header_level=&#8221;h4&#8243; header_font=&#8221;Overpass||||||||&#8221; header_font_size=&#8221;18px&#8221; width_last_edited=&#8221;off|tablet&#8221; height=&#8221;320px&#8221; height_last_edited=&#8221;off|desktop&#8221; custom_margin=&#8221;0px||40px||false|false&#8221; custom_margin_last_edited=&#8221;off|tablet&#8221; custom_padding=&#8221;180px|0px|0px|0px|false|false&#8221; custom_padding_tablet=&#8221;150px||||false|false&#8221; custom_padding_phone=&#8221;&#8221; custom_padding_last_edited=&#8221;on|desktop&#8221; link_option_url=&#8221;@ET-DC@eyJkeW5hbWljIjp0cnVlLCJjb250ZW50IjoicG9zdF9saW5rX3VybF9wb3N0Iiwic2V0dGluZ3MiOnsicG9zdF9pZCI6IjEwMDAifX0=@&#8221; border_radii=&#8221;on|20px|20px|20px|20px&#8221; box_shadow_style=&#8221;preset3&#8243; custom_margin__hover_enabled=&#8221;on|hover&#8221; custom_margin__hover=&#8221;-10px||30px||false|false&#8221; custom_padding__hover_enabled=&#8221;on|desktop&#8221; custom_padding__hover=&#8221;||0px||false|false&#8221; height__hover_enabled=&#8221;on|desktop&#8221; height__hover=&#8221;330px&#8221;][et_pb_slide button_link=&#8221;@ET-DC@eyJkeW5hbWljIjp0cnVlLCJjb250ZW50IjoicG9zdF9saW5rX3VybF9wb3N0Iiwic2V0dGluZ3MiOnsicG9zdF9pZCI6IjI5NzEifX0=@&#8221; _builder_version=&#8221;4.9.7&#8243; _dynamic_attributes=&#8221;button_link&#8221; _module_preset=&#8221;default&#8221; background_image=&#8221;https:\/\/www.editions-eni.fr\/blog\/wp-content\/uploads\/2021\/06\/bandeau_flask.jpg&#8221; background_enable_image=&#8221;on&#8221; custom_padding=&#8221;||||false|false&#8221; custom_padding__hover_enabled=&#8221;off|desktop&#8221; custom_padding__hover=&#8221;280px||||false|false&#8221; sticky_transition=&#8221;on&#8221;]<\/p>\n<h4>Flask : d\u00e9velopper sa premi\u00e8re application web en Python<\/h4>\n<p>[\/et_pb_slide][\/et_pb_slider][\/et_pb_column][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.9.0&#8243; _module_preset=&#8221;default&#8221;][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vous souhaitez d\u00e9velopper rapidement des applications web ? Vous avez d\u00e9j\u00e0 entendu parler de Vue.js sans l\u2019avoir encore utilis\u00e9 et vous avez quelques notions de HTML et de Javascript&nbsp;? Alors d\u00e9couvrez cette technologie au travers de 4 questions pos\u00e9es pour vous \u00e0 notre expert Yoann GAUCHARD !Qu\u2019est-ce que Vue.js&nbsp;?Yoann GAUCHARD : Vue.js est un framework [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":3883,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","inline_featured_image":false,"footnotes":""},"categories":[4,18],"tags":[],"genre":[],"class_list":["post-3882","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-developpement","category-paroles-d-experts"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Vue.js en 4 questions - Eni Blog<\/title>\n<meta name=\"description\" content=\"D\u00e9couvrez Vue.js au travers de 4 questions \u00e0 notre expert !\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.editions-eni.fr\/blog\/vue-js-en-4-questions\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Vue.js en 4 questions - Eni Blog\" \/>\n<meta property=\"og:description\" content=\"D\u00e9couvrez Vue.js au travers de 4 questions \u00e0 notre expert !\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.editions-eni.fr\/blog\/vue-js-en-4-questions\/\" \/>\n<meta property=\"og:site_name\" content=\"Eni Blog\" \/>\n<meta property=\"article:published_time\" content=\"2021-07-16T09:26:06+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-09-08T10:12:18+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.editions-eni.fr\/blog\/wp-content\/uploads\/2021\/07\/bandeau_vuejs.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"680\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Erwan Caillarec\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Erwan Caillarec\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.editions-eni.fr\/blog\/vue-js-en-4-questions\/\",\"url\":\"https:\/\/www.editions-eni.fr\/blog\/vue-js-en-4-questions\/\",\"name\":\"Vue.js en 4 questions - Eni Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.editions-eni.fr\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.editions-eni.fr\/blog\/vue-js-en-4-questions\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.editions-eni.fr\/blog\/vue-js-en-4-questions\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.editions-eni.fr\/blog\/wp-content\/uploads\/2021\/07\/bandeau_vuejs.jpg\",\"datePublished\":\"2021-07-16T09:26:06+00:00\",\"dateModified\":\"2021-09-08T10:12:18+00:00\",\"author\":{\"@id\":\"https:\/\/www.editions-eni.fr\/blog\/#\/schema\/person\/0dc710628e4fb046b1006320d8bf5927\"},\"description\":\"D\u00e9couvrez Vue.js au travers de 4 questions \u00e0 notre expert !\",\"breadcrumb\":{\"@id\":\"https:\/\/www.editions-eni.fr\/blog\/vue-js-en-4-questions\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.editions-eni.fr\/blog\/vue-js-en-4-questions\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.editions-eni.fr\/blog\/vue-js-en-4-questions\/#primaryimage\",\"url\":\"https:\/\/www.editions-eni.fr\/blog\/wp-content\/uploads\/2021\/07\/bandeau_vuejs.jpg\",\"contentUrl\":\"https:\/\/www.editions-eni.fr\/blog\/wp-content\/uploads\/2021\/07\/bandeau_vuejs.jpg\",\"width\":1920,\"height\":680,\"caption\":\"bandeau_vuejs\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.editions-eni.fr\/blog\/vue-js-en-4-questions\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.editions-eni.fr\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Vue.js en 4 questions\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.editions-eni.fr\/blog\/#website\",\"url\":\"https:\/\/www.editions-eni.fr\/blog\/\",\"name\":\"Eni Blog\",\"description\":\"Blog des Editions ENI\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.editions-eni.fr\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.editions-eni.fr\/blog\/#\/schema\/person\/0dc710628e4fb046b1006320d8bf5927\",\"name\":\"Erwan Caillarec\",\"url\":\"https:\/\/www.editions-eni.fr\/blog\/author\/ecaillarec\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Vue.js en 4 questions - Eni Blog","description":"D\u00e9couvrez Vue.js au travers de 4 questions \u00e0 notre expert !","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.editions-eni.fr\/blog\/vue-js-en-4-questions\/","og_locale":"fr_FR","og_type":"article","og_title":"Vue.js en 4 questions - Eni Blog","og_description":"D\u00e9couvrez Vue.js au travers de 4 questions \u00e0 notre expert !","og_url":"https:\/\/www.editions-eni.fr\/blog\/vue-js-en-4-questions\/","og_site_name":"Eni Blog","article_published_time":"2021-07-16T09:26:06+00:00","article_modified_time":"2021-09-08T10:12:18+00:00","og_image":[{"width":1920,"height":680,"url":"https:\/\/www.editions-eni.fr\/blog\/wp-content\/uploads\/2021\/07\/bandeau_vuejs.jpg","type":"image\/jpeg"}],"author":"Erwan Caillarec","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"Erwan Caillarec"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.editions-eni.fr\/blog\/vue-js-en-4-questions\/","url":"https:\/\/www.editions-eni.fr\/blog\/vue-js-en-4-questions\/","name":"Vue.js en 4 questions - Eni Blog","isPartOf":{"@id":"https:\/\/www.editions-eni.fr\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.editions-eni.fr\/blog\/vue-js-en-4-questions\/#primaryimage"},"image":{"@id":"https:\/\/www.editions-eni.fr\/blog\/vue-js-en-4-questions\/#primaryimage"},"thumbnailUrl":"https:\/\/www.editions-eni.fr\/blog\/wp-content\/uploads\/2021\/07\/bandeau_vuejs.jpg","datePublished":"2021-07-16T09:26:06+00:00","dateModified":"2021-09-08T10:12:18+00:00","author":{"@id":"https:\/\/www.editions-eni.fr\/blog\/#\/schema\/person\/0dc710628e4fb046b1006320d8bf5927"},"description":"D\u00e9couvrez Vue.js au travers de 4 questions \u00e0 notre expert !","breadcrumb":{"@id":"https:\/\/www.editions-eni.fr\/blog\/vue-js-en-4-questions\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.editions-eni.fr\/blog\/vue-js-en-4-questions\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.editions-eni.fr\/blog\/vue-js-en-4-questions\/#primaryimage","url":"https:\/\/www.editions-eni.fr\/blog\/wp-content\/uploads\/2021\/07\/bandeau_vuejs.jpg","contentUrl":"https:\/\/www.editions-eni.fr\/blog\/wp-content\/uploads\/2021\/07\/bandeau_vuejs.jpg","width":1920,"height":680,"caption":"bandeau_vuejs"},{"@type":"BreadcrumbList","@id":"https:\/\/www.editions-eni.fr\/blog\/vue-js-en-4-questions\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.editions-eni.fr\/blog\/"},{"@type":"ListItem","position":2,"name":"Vue.js en 4 questions"}]},{"@type":"WebSite","@id":"https:\/\/www.editions-eni.fr\/blog\/#website","url":"https:\/\/www.editions-eni.fr\/blog\/","name":"Eni Blog","description":"Blog des Editions ENI","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.editions-eni.fr\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Person","@id":"https:\/\/www.editions-eni.fr\/blog\/#\/schema\/person\/0dc710628e4fb046b1006320d8bf5927","name":"Erwan Caillarec","url":"https:\/\/www.editions-eni.fr\/blog\/author\/ecaillarec\/"}]}},"_links":{"self":[{"href":"https:\/\/www.editions-eni.fr\/blog\/wp-json\/wp\/v2\/posts\/3882","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.editions-eni.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.editions-eni.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.editions-eni.fr\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.editions-eni.fr\/blog\/wp-json\/wp\/v2\/comments?post=3882"}],"version-history":[{"count":4,"href":"https:\/\/www.editions-eni.fr\/blog\/wp-json\/wp\/v2\/posts\/3882\/revisions"}],"predecessor-version":[{"id":4038,"href":"https:\/\/www.editions-eni.fr\/blog\/wp-json\/wp\/v2\/posts\/3882\/revisions\/4038"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.editions-eni.fr\/blog\/wp-json\/wp\/v2\/media\/3883"}],"wp:attachment":[{"href":"https:\/\/www.editions-eni.fr\/blog\/wp-json\/wp\/v2\/media?parent=3882"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.editions-eni.fr\/blog\/wp-json\/wp\/v2\/categories?post=3882"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.editions-eni.fr\/blog\/wp-json\/wp\/v2\/tags?post=3882"},{"taxonomy":"genre","embeddable":true,"href":"https:\/\/www.editions-eni.fr\/blog\/wp-json\/wp\/v2\/genre?post=3882"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}