{"id":98234,"date":"2020-10-26T08:42:14","date_gmt":"2020-10-26T06:42:14","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/kaitai-struct-0-9"},"modified":"2020-11-18T00:58:44","modified_gmt":"2020-11-17T22:58:44","slug":"kaitai-struct-0-9","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/news\/kaitai-struct-0-9","title":{"rendered":"Kaitai Struct 0.9","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><a rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/images\/19408\/original.png\" itemprop=\"contentURL\"><br \/>\n      <img decoding=\"async\" alt=\"Kaitai Struct 0.9\" src=\"\/wp-content\/uploads\/2020\/10\/92300f20fcec3b23dc7200dc9c18ed42.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>    <\/a><\/p>\n<p>R\u00e9cemment, une nouvelle version de Kaitai Struct 0.9 a \u00e9t\u00e9 publi\u00e9e \u2014 un langage de description et d'outils de parsing de divers formats binaires (comme des paquets r\u00e9seau, des fichiers image\/audio\/vid\u00e9o, des bases de donn\u00e9es, des archives, des conteneurs, etc.). Malgr\u00e9 le num\u00e9ro de version 0.9 qui semble peu s\u00e9rieux, il s'agit d'une version majeure, incluant des travaux des 2,5 derni\u00e8res ann\u00e9es. Pendant ce temps, le langage a \u00e9volu\u00e9 pour former toute une famille de projets :<\/p>\n<ul>\n<li>un compilateur permettant de g\u00e9n\u00e9rer un code source de parser \u00e0 partir d'un fichier de sp\u00e9cification de format (.ksy) dans plusieurs langages de programmation (C++, C#, Construct, Go, Java, JavaScript, Lua, Nim, Perl, PHP, Python, Ruby), ainsi que des diagrammes au format GraphViz et des sp\u00e9cifications de formats lisibles par l'homme en HTML ;<\/li>\n<p><noindex><\/p>\n<li>des outils pour le d\u00e9veloppement facile de sp\u00e9cifications avec contr\u00f4le visuel simultan\u00e9 : <a rel=\"nofollow\" href=\"https:\/\/ide.kaitai.io\/\">Web IDE<\/a>, <a rel=\"nofollow\" href=\"https:\/\/github.com\/kaitai-io\/kaitai_struct_visualizer\">visualiseur en console<\/a>, <a rel=\"nofollow\" href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=fudgepops.kaitai-struct-vscode\">plugin pour Visual Studio Code<\/a>, <a rel=\"nofollow\" href=\"https:\/\/github.com\/Mahlet-Inc\/hobbits\">Hobbits<\/a>, <a rel=\"nofollow\" href=\"https:\/\/veles.io\/\">Veles<\/a>, <a rel=\"nofollow\" href=\"https:\/\/github.com\/taviso\/kiewtai\">plugin pour Hiew<\/a>, <a rel=\"nofollow\" href=\"https:\/\/github.com\/Vector35\/kaitai\">plugin pour Binary Ninja<\/a>;<\/li>\n<p><\/noindex><\/p>\n<li>des modules pour int\u00e9grer Kaitai Struct dans le processus de construction <a rel=\"nofollow\" href=\"https:\/\/github.com\/valery1707\/kaitai-maven-plugin\">pour Maven<\/a>, <a rel=\"nofollow\" href=\"https:\/\/github.com\/valery1707\/kaitai-gradle-plugin\">pour Gradle<\/a>, <a rel=\"nofollow\" href=\"https:\/\/github.com\/kaitaiStructCompile\/kaitaiStructCompile.setuptools\">pour Python<\/a>, <a rel=\"nofollow\" href=\"https:\/\/www.npmjs.com\/package\/kaitai-struct-loader\">pour JavaScript\/WebPack<\/a><\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/formats.kaitai.io\/\">biblioth\u00e8que de formats<\/a>, comptant d\u00e9j\u00e0 156 descriptions dans cette version (et <a rel=\"nofollow\" href=\"https:\/\/github.com\/kaitai-io\/kaitai_struct_formats\/pulls\">78 autres formats<\/a> sont en cours de r\u00e9vision de pull request).<\/li>\n<li>biblioth\u00e8que d'algorithmes de compression <a rel=\"nofollow\" href=\"https:\/\/github.com\/kaitai-io\/kaitai_compress\">Kaitai Compress<\/a><\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/github.com\/kaitai-io\/kaitai_fs\">module pour FUSE \u2014 Kaitai FS<\/a>, permettant de monter un fichier comme un syst\u00e8me de fichiers, en utilisant la description de format ksy<\/li>\n<\/ul>\n<p><noindex><\/p>\n<p>Langue <a rel=\"nofollow\" href=\"https:\/\/github.com\/search?l=Kaitai+Struct&amp;q=filename%3Aksy&amp;type=Code\">reconnu par GitHub<\/a> et utilis\u00e9 actuellement dans plus de 400 projets free\/open source pour parser divers formats de donn\u00e9es exotiques, allant de <a rel=\"nofollow\" href=\"https:\/\/github.com\/HiveWorkshop\/Formats\">l'ing\u00e9nierie inverse de fichiers de donn\u00e9es de jeux propri\u00e9taires<\/a>, jusqu'\u00e0 <a rel=\"nofollow\" href=\"https:\/\/gitlab.com\/librespacefoundation\/satnogs\/satnogs-decoders\">l'analyse des protocoles de communication par satellite.<\/a>.<\/p>\n<p><\/noindex><\/p>\n<p>Parmi les principales nouveaut\u00e9s du langage 0.9, on peut souligner :<\/p>\n<ul>\n<li>le support de nouveaux langages cibles (Python via la biblioth\u00e8que Construct, Nim, g\u00e9n\u00e9ration de documentation en HTML)<\/li>\n<li>un support complet des C++ modernes (pointeurs intelligents, absence de besoin de g\u00e9rer la m\u00e9moire manuellement, correction de tous les types connus de fuites de m\u00e9moire)<\/li>\n<li>le support de l'adressage des types imbriqu\u00e9s via une syntaxe de type foo::bar::baz<\/li>\n<li>le support de la validation des donn\u00e9es lues selon des conditions d\u00e9crites (valide)<\/li>\n<li>le calcul des tailles des structures de donn\u00e9es statiques en octets et en bits (op\u00e9rateurs sizeof et bitsizeof)<\/li>\n<li>la description formelle du langage sous forme de <a rel=\"nofollow\" href=\"https:\/\/github.com\/kaitai-io\/ksy_schema\">sch\u00e9ma JSON<\/a>, \u00e0 partir duquel est d\u00e9sormais <a rel=\"nofollow\" href=\"https:\/\/doc.kaitai.io\/ksy_diagram.html\">g\u00e9n\u00e9r\u00e9e la documentation.<\/a><\/li>\n<\/ul>\n<p>Source : <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"http:\/\/www.linux.org.ru\/news\/opensource\/15955935\">linux.org.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>C\u043e\u0432\u0441\u0435\u043c \u043d\u0435\u0434\u0430\u0432\u043d\u043e \u0432\u044b\u0448\u043b\u0430 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f Kaitai Struct 0.9 \u2014 \u044f\u0437\u044b\u043a\u0430 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f \u043f\u0430\u0440\u0441\u0438\u043d\u0433\u0430 \u0432\u0441\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0445 \u0444\u043e\u0440\u043c\u0430\u0442\u043e\u0432 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u0444\u0430\u0439\u043b\u043e\u0432 \u0441 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u043c\u0438\/\u0430\u0443\u0434\u0438\u043e\/\u0432\u0438\u0434\u0435\u043e, \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445, \u0430\u0440\u0445\u0438\u0432\u043e\u0432, \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u0438 \u0442. \u0434.). \u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u043d\u0435\u0441\u0435\u0440\u044c\u0435\u0437\u043d\u043e \u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0449\u0438\u0439 \u043d\u043e\u043c\u0435\u0440 \u0432\u0435\u0440\u0441\u0438\u0438 0.9 \u2014 \u044d\u0442\u043e \u043a\u0440\u0443\u043f\u043d\u044b\u0439 \u0440\u0435\u043b\u0438\u0437, \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0438\u0439 \u0432 \u0441\u0435\u0431\u044f \u043d\u0430\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0437\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 2.5 \u0433\u043e\u0434\u0430. \u0417\u0430 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u044f\u0437\u044b\u043a \u0432\u044b\u0440\u043e\u0441 \u0434\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":98235,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-98234","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\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\/kaitai-struct-0-9\" \/>\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\udd47Kaitai Struct 0.9 | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/news\/kaitai-struct-0-9\" \/>\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=\"2020-10-26T06:42:14+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-11-17T22:58:44+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\udd47Kaitai Struct 0.9 | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/kaitai-struct-0-9","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\udd47Kaitai Struct 0.9 | ProHoster","og:url":"https:\/\/prohoster.info\/fr\/blog\/news\/kaitai-struct-0-9","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":"2020-10-26T06:42:14+00:00","article:modified_time":"2020-11-17T22:58:44+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"98234","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-02-28 10:02:30","updated":"2022-10-03 13:17:43","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\/98234","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=98234"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/98234\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media\/98235"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=98234"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=98234"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=98234"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}