{"id":102272,"date":"2021-11-12T09:36:39","date_gmt":"2021-11-12T07:36:39","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/web-frejmvork-pusa-perenosyashhij-logiku-javascript-frontenda-na-storonu-servera"},"modified":"2021-11-12T09:36:39","modified_gmt":"2021-11-12T07:36:39","slug":"web-frejmvork-pusa-perenosyashhij-logiku-javascript-frontenda-na-storonu-servera","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/news\/web-frejmvork-pusa-perenosyashhij-logiku-javascript-frontenda-na-storonu-servera","title":{"rendered":"Le framework web Pusa, d\u00e9pla\u00e7ant la logique du frontend JavaScript vers le c\u00f4t\u00e9 serveur","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Le framework web Pusa a \u00e9t\u00e9 publi\u00e9 avec une mise en \u0153uvre du concept qui d\u00e9place la logique du frontend, ex\u00e9cut\u00e9e dans le navigateur avec JavaScript, vers le backend \u2014 la gestion du navigateur et des \u00e9l\u00e9ments DOM, ainsi que la logique m\u00e9tier, sont effectu\u00e9es c\u00f4t\u00e9 serveur. Le code JavaScript ex\u00e9cut\u00e9 dans le navigateur est remplac\u00e9 par une couche universelle qui appelle des gestionnaires situ\u00e9s c\u00f4t\u00e9 backend. Il n'est pas n\u00e9cessaire de d\u00e9velopper en utilisant JavaScript pour le frontend. L'impl\u00e9mentation de r\u00e9f\u00e9rence de Pusa est \u00e9crite en PHP et est distribu\u00e9e sous la licence GPLv3. En plus de PHP, la technologie peut \u00eatre mise en \u0153uvre dans d'autres langages, y compris JavaScript\/Node.js, Java, Python, Go et Ruby.      <\/p>\n<p>Pusa d\u00e9finit un protocole d'\u00e9change bas\u00e9 sur un ensemble minimaliste de commandes. Lors du chargement de la page, le navigateur charge le contenu de base du DOM et le noyau JavaScript de Pusa-Front. Pusa-Front envoie des \u00e9v\u00e9nements du navigateur (tels que click, blur, focus et keypress) et des param\u00e8tres de requ\u00eate (\u00e9l\u00e9ment ayant d\u00e9clench\u00e9 l'\u00e9v\u00e9nement, ses attributs, URL, etc.) au gestionnaire serveur Pusa-Back via des requ\u00eates Ajax. Sur la base des donn\u00e9es re\u00e7ues, Pusa-Back d\u00e9termine le contr\u00f4leur, ex\u00e9cute la charge utile et g\u00e9n\u00e8re un ensemble de commandes de r\u00e9ponse. Apr\u00e8s avoir re\u00e7u la r\u00e9ponse \u00e0 la requ\u00eate, Pusa-Front ex\u00e9cute les commandes, modifiant le contenu du DOM et l'environnement du navigateur.       <\/p>\n<p>L'\u00e9tat du frontend est form\u00e9 mais non contr\u00f4l\u00e9 par le backend, ce qui rend le d\u00e9veloppement pour Pusa similaire \u00e0 du code pour une carte graphique ou Canvas, o\u00f9 le r\u00e9sultat de l'ex\u00e9cution n'est pas contr\u00f4l\u00e9 par le d\u00e9veloppeur. Pour cr\u00e9er des applications interactives bas\u00e9es sur Canvas et onmousemove, il est pr\u00e9vu de charger et d'utiliser des scripts JavaScript suppl\u00e9mentaires c\u00f4t\u00e9 client. Parmi les inconv\u00e9nients de cette m\u00e9thode, on note \u00e9galement le transfert d'une partie de la charge du frontend vers le backend et l'augmentation de la fr\u00e9quence des \u00e9changes de donn\u00e9es. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/fr\/server\/dts-prohoster\/\"   title=\"serveur\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"3024\">serveur<\/a>.    <\/p>\n<p>Parmi les avantages, on note : l'exclusion de la n\u00e9cessit\u00e9 d'avoir des d\u00e9veloppeurs JavaScript pour le frontend, un code client stable et compact (11 Ko), l'inaccessibilit\u00e9 du code principal c\u00f4t\u00e9 frontend, l'absence de besoin de s\u00e9rialisation REST et d'outils comme gRPC, ainsi que l'exclusion des probl\u00e8mes de synchronisation de la gestion des requ\u00eates entre le frontend et le backend.<br \/>\n<br \/>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=56140\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d web-\u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a Pusa \u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438, \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u044f\u0449\u0435\u0439 \u043b\u043e\u0433\u0438\u043a\u0443 \u0444\u0440\u043e\u043d\u0442\u044d\u043d\u0434\u0430, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u0443\u044e \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 JavaScript, \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0443 \u0431\u044d\u043a\u0435\u043d\u0434\u0430 &#8212; \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043e\u043c \u0438 DOM \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u043c\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0431\u0438\u0437\u043d\u0435\u0441\u043b\u043e\u0433\u0438\u043a\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u043d\u0430 \u0431\u044d\u043a\u0435\u043d\u0434\u0435. \u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0439 \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430 JavaScript \u043a\u043e\u0434 \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043d\u0430 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u0443\u044e \u043f\u0440\u043e\u0441\u043b\u043e\u0439\u043a\u0443, \u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0449\u0443\u044e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438, \u043d\u0430\u0445\u043e\u0434\u044f\u0449\u0438\u0435\u0441\u044f \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u0431\u044d\u043a\u0435\u043d\u0434\u0430. \u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c JavaScript \u0434\u043b\u044f \u0444\u0440\u043e\u043d\u0442\u044d\u043d\u0434\u0430 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442. \u042d\u0442\u0430\u043b\u043e\u043d\u043d\u0430\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-102272","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d web-\u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a Pusa \u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438, \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u044f\u0449\u0435\u0439 \u043b\u043e\u0433\u0438\u043a\u0443 \u0444\u0440\u043e\u043d\u0442\u044d\u043d\u0434\u0430, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u0443\u044e \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 JavaScript, \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0443 \u0431\u044d\u043a\u0435\u043d\u0434\u0430 - \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043e\u043c \u0438 DOM \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u043c\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0431\u0438\u0437\u043d\u0435\u0441\u043b\u043e\u0433\u0438\u043a\u0430.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/fr\/blog\/news\/web-frejmvork-pusa-perenosyashhij-logiku-javascript-frontenda-na-storonu-servera\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Web-\u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a Pusa, \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u044f\u0449\u0438\u0439 \u043b\u043e\u0433\u0438\u043a\u0443 JavaScript-\u0444\u0440\u043e\u043d\u0442\u044d\u043d\u0434\u0430 \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d web-\u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a Pusa \u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438, \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u044f\u0449\u0435\u0439 \u043b\u043e\u0433\u0438\u043a\u0443 \u0444\u0440\u043e\u043d\u0442\u044d\u043d\u0434\u0430, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u0443\u044e \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 JavaScript, \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0443 \u0431\u044d\u043a\u0435\u043d\u0434\u0430 - \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043e\u043c \u0438 DOM \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u043c\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0431\u0438\u0437\u043d\u0435\u0441\u043b\u043e\u0433\u0438\u043a\u0430.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/news\/web-frejmvork-pusa-perenosyashhij-logiku-javascript-frontenda-na-storonu-servera\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2021-11-12T07:36:39+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-11-12T07:36:39+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Le framework web Pusa, transf\u00e9rant la logique JavaScript du frontend vers le serveur | ProHoster","description":"Le framework web Pusa a \u00e9t\u00e9 publi\u00e9, mettant en \u0153uvre un concept qui d\u00e9place la logique du frontend, traditionnellement g\u00e9r\u00e9e dans le navigateur avec JavaScript, vers le backend - gestion du navigateur, des \u00e9l\u00e9ments DOM, ainsi que la logique m\u00e9tier.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/web-frejmvork-pusa-perenosyashhij-logiku-javascript-frontenda-na-storonu-servera","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Web-\u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a Pusa, \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u044f\u0449\u0438\u0439 \u043b\u043e\u0433\u0438\u043a\u0443 JavaScript-\u0444\u0440\u043e\u043d\u0442\u044d\u043d\u0434\u0430 \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 | ProHoster","og:description":"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d web-\u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a Pusa \u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438, \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u044f\u0449\u0435\u0439 \u043b\u043e\u0433\u0438\u043a\u0443 \u0444\u0440\u043e\u043d\u0442\u044d\u043d\u0434\u0430, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u0443\u044e \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 JavaScript, \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0443 \u0431\u044d\u043a\u0435\u043d\u0434\u0430 - \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043e\u043c \u0438 DOM \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u043c\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0431\u0438\u0437\u043d\u0435\u0441\u043b\u043e\u0433\u0438\u043a\u0430.","og:url":"https:\/\/prohoster.info\/fr\/blog\/news\/web-frejmvork-pusa-perenosyashhij-logiku-javascript-frontenda-na-storonu-servera","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2021-11-12T07:36:39+00:00","article:modified_time":"2021-11-12T07:36:39+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"102272","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-11-12 07:37:12","updated":"2026-02-09 21:46:41","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/102272","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=102272"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/102272\/revisions"}],"predecessor-version":[{"id":160305,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/102272\/revisions\/160305"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=102272"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=102272"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=102272"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}