{"id":81463,"date":"2020-05-13T13:42:49","date_gmt":"2020-05-13T11:42:49","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vyshla-notcurses-v1-4-1-biblioteka-dlya-sovremennyh-tekstovyh-interfejsov"},"modified":"2020-05-13T13:42:49","modified_gmt":"2020-05-13T11:42:49","slug":"vyshla-notcurses-v1-4-1-biblioteka-dlya-sovremennyh-tekstovyh-interfejsov","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/news\/vyshla-notcurses-v1-4-1-biblioteka-dlya-sovremennyh-tekstovyh-interfejsov","title":{"rendered":"Sortie de notcurses v1.4.1 \u2014 une biblioth\u00e8que pour des interfaces textuelles modernes","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><a rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/images\/19139\/original.jpg\" itemprop=\"contentURL\"><br \/>\n      <img decoding=\"async\" alt=\"Sortie de notcurses v1.4.1 \u2014 une biblioth\u00e8que pour des interfaces textuelles modernes\" src=\"\/wp-content\/uploads\/2020\/05\/973d5cc67751ccd145585d50ec2cba73.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>    <\/a><\/p>\n<p>La nouvelle version de la biblioth\u00e8que notcurses v1.4.x \u00ab la saga continue ! wu-tang ! wu-tang ! \u00bb<\/p>\n<p><noindex><noindex><\/p>\n<p>Notcurses est une biblioth\u00e8que TUI pour les \u00e9mulateurs de terminal modernes. Litt\u00e9ralement traduit \u2013 pas de mal\u00e9dictions (not curses). Elle est \u00e9crite en C, en utilisant des en-t\u00eates s\u00fbrs en C++. Des wrappers sont disponibles pour <a rel=\"nofollow\" href=\"https:\/\/crates.io\/crates\/notcurses\">Rust<\/a>, <a rel=\"nofollow\" href=\"https:\/\/github.com\/dankamongmen\/notcurses\/issues\/212\">C++<\/a> et <a rel=\"nofollow\" href=\"https:\/\/pypi.org\/project\/notcurses\">Python<\/a>.<\/p>\n<p><\/noindex><\/noindex><\/p>\n<p>Qu'est-ce que c'est : une biblioth\u00e8que qui facilite la cr\u00e9ation de TUI complexes sur des \u00e9mulateurs de terminal modernes, soutenant au maximum des couleurs vives et Unicode. De nombreuses t\u00e2ches d\u00e9l\u00e9gu\u00e9es \u00e0 curses peuvent \u00eatre r\u00e9alis\u00e9es avec notcurses (et vice versa).<\/p>\n<p>Ce que ce n'est pas : une impl\u00e9mentation compatible de X\/Open curses ou un remplacement de ncurses sur les syst\u00e8mes existants.<\/p>\n<p>Notcurses abandonne l'API X\/Open Curses, fournie comme partie de la Single UNIX Specification. Cette sp\u00e9cification est d\u00e9su\u00e8te depuis longtemps et, par exemple, ne prend pas en charge des fonctionnalit\u00e9s de terminal telles que les couleurs 24 bits non index\u00e9es. En tant que telle, notcurses n'est pas un remplacement de curses. Elle est moins portable et a certainement \u00e9t\u00e9 test\u00e9e sur un nombre limit\u00e9 de mat\u00e9riels.<br \/>\nLorsque cela est possible, notcurses utilise la biblioth\u00e8que terminfo fournie avec ncurses, tirant ainsi parti de sa portabilit\u00e9.<br \/>\nNotcurses ouvre des capacit\u00e9s \u00e9tendues pour interagir avec les utilisateurs sur les stations de travail, les t\u00e9l\u00e9phones, les ordinateurs portables et les tablettes.<\/p>\n<p>Pourquoi utiliser cette biblioth\u00e8que non standard ?<\/p>\n<ul>\n<li>\n<p>La s\u00e9curit\u00e9 des threads et l'utilisation efficace dans des programmes multithread d\u00e8s le d\u00e9part ont \u00e9t\u00e9 un souci de conception.<\/p>\n<\/li>\n<li>\n<p>Une API mieux con\u00e7ue par rapport \u00e0 X\/Open :<\/p>\n<ul>\n<li>\n<p>Les identifiants export\u00e9s ont un pr\u00e9fixe pour \u00e9viter les collisions dans les espaces de noms.<\/p>\n<\/li>\n<li>\n<p>Le fichier objet de la biblioth\u00e8que exporte un ensemble minimal de symboles. L\u00e0 o\u00f9 cela est appropri\u00e9, le code statique n'est utilis\u00e9 que pour les en-t\u00eates de ligne. Cela facilite l'optimisation du compilateur et r\u00e9duit le temps de chargement.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<noindex><\/p>\n<p>Toutes les API prennent en charge d\u00e8s le d\u00e9part un ensemble universel de caract\u00e8res (Unicode). L'API pour les cellules est bas\u00e9e sur le concept <a rel=\"nofollow\" href=\"https:\/\/unicode.org\/reports\/tr29\/\">le Cluster Grapheme \u00c9tendu de Unicode<\/a>.<\/p>\n<p><\/noindex>\n<\/li>\n<li>\n<p>Des capacit\u00e9s visuelles, y compris des images, des polices, des vid\u00e9os, du texte \u00e0 fort contraste, des sprites et des zones transparentes. Toutes les API prennent nativement en charge la couleur 24 bits, quantifi\u00e9e si n\u00e9cessaire pour le terminal.<\/p>\n<\/li>\n<li>\n<noindex><\/p>\n<p>Licence Apache2, contrairement \u00e0 <a rel=\"nofollow\" href=\"https:\/\/invisible-island.net\/ncurses\/ncurses-license.html\">drame<\/a> en plusieurs actes, qui est sous la licence ncurses (la derni\u00e8re r\u00e9sum\u00e9e comme \u00ab reformulation MIT-X11 \u00bb).<\/p>\n<p><\/noindex>\n<\/li>\n<\/ul>\n<p>Depuis le pr\u00e9c\u00e9dent lancement majeur 1.1.0, un grand nombre de fonctionnalit\u00e9s ont \u00e9t\u00e9 ajout\u00e9es. Changements principaux :<\/p>\n<ul>\n<li>\n<p>Widget de lecture pour l'entr\u00e9e de cha\u00eenes de forme arbitraire associ\u00e9 aux cha\u00eenes de lecture<\/p>\n<\/li>\n<li>\n<p>Widget subprocess pour g\u00e9n\u00e9rer un sous-processus, le g\u00e9rer et transmettre ses r\u00e9sultats en continu.<\/p>\n<\/li>\n<li>\n<p>Sous Linux 5.3+, un nouveau m\u00e9canisme clone3+pidfd est utilis\u00e9 pour g\u00e9rer les processus sans condition de concurrence.<\/p>\n<\/li>\n<li>\n<p>Widget Fdplane pour le transfert de flux d'un descripteur de fichier arbitraire vers un plan (sur lequel le sous-processus est construit). Les deux permettent aux rappels de styliser ou de traiter autrement le texte.<\/p>\n<\/li>\n<li>\n<p>Rotation de plans et effets visuels. Chargement de visualisations depuis la m\u00e9moire. Blit arbitraire RGBA\/BGRx.<\/p>\n<\/li>\n<li>\n<p>Le menu peut \u00eatre plac\u00e9 sur l'une (ou les deux) des plans sup\u00e9rieurs et inf\u00e9rieurs.<\/p>\n<\/li>\n<li>\n<p>Am\u00e9liorations majeures dans le mode Direct.<\/p>\n<\/li>\n<li>\n<p>Polyfills, d\u00e9grad\u00e9s et texte \u00e0 contraste \u00e9lev\u00e9.<\/p>\n<\/li>\n<li>\n<p>Tetris ajout\u00e9 en tant qu'exemple.<\/p>\n<\/li>\n<li>\n<p>Les wrappers C++ de Marek Habersack peuvent maintenant lancer des exceptions (si besoin).<\/p>\n<\/li>\n<li>\n<p>Python et Rust FFI mis \u00e0 jour et test\u00e9s.<\/p>\n<\/li>\n<\/ul>\n<p><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=TvWdUfIStDI\">D\u00e9monstration vid\u00e9o avec les commentaires de l'auteur<\/a><br \/>\n<a rel=\"nofollow\" href=\"https:\/\/nick-black.com\/dankwiki\/index.php\/Hacking_The_Planet!_with_Notcurses\">Le livre \u00ab Hacking The Planet ! with Notcurses \u00bb de l'auteur<\/a><\/p>\n<p>Source : <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"http:\/\/www.linux.org.ru\/news\/opensource\/15699897\">linux.org.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u044b\u0448\u043b\u0430 \u043d\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 notcurses v1.4.x &laquo;the saga continues! wu-tang! wu-tang!&raquo; Notcurses \u044d\u0442\u043e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 TUI \u0434\u043b\u044f \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u043e\u0432. \u0411\u0443\u043a\u0432\u0430\u043b\u044c\u043d\u043e \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u044f &ndash; \u043d\u0435 \u043f\u0440\u043e\u043a\u043b\u044f\u0442\u0438\u044f (not curses). \u041e\u043d\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u043d\u0430 \u0421, \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c C++-safe headers. \u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u043e\u0431\u0451\u0440\u0442\u043a\u0438 \u0434\u043b\u044f Rust, C++ \u0438 Python. \u0427\u0442\u043e \u044d\u0442\u043e \u0442\u0430\u043a\u043e\u0435: \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430, \u0443\u043f\u0440\u043e\u0449\u0430\u044e\u0449\u0430\u044f \u0441\u043b\u043e\u0436\u043d\u044b\u0435 TUI \u043d\u0430 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0430\u0445, \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0449\u0430\u044f \u044f\u0440\u043a\u0438\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":81464,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-81463","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\/vyshla-notcurses-v1-4-1-biblioteka-dlya-sovremennyh-tekstovyh-interfejsov\" \/>\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\udd47\u0412\u044b\u0448\u043b\u0430 notcurses v1.4.1 \u2014 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043b\u044f \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0445 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432 | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/news\/vyshla-notcurses-v1-4-1-biblioteka-dlya-sovremennyh-tekstovyh-interfejsov\" \/>\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-05-13T11:42:49+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-13T11:42:49+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\udd47notcurses v1.4.1 est sorti \u2014 biblioth\u00e8que pour des interfaces textuelles modernes | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/vyshla-notcurses-v1-4-1-biblioteka-dlya-sovremennyh-tekstovyh-interfejsov","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\udd47\u0412\u044b\u0448\u043b\u0430 notcurses v1.4.1 \u2014 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043b\u044f \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0445 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432 | ProHoster","og:url":"https:\/\/prohoster.info\/fr\/blog\/news\/vyshla-notcurses-v1-4-1-biblioteka-dlya-sovremennyh-tekstovyh-interfejsov","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-05-13T11:42:49+00:00","article:modified_time":"2020-05-13T11:42:49+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"81463","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 15:57:25","updated":"2022-09-29 16:14:56","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\/81463","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=81463"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/81463\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media\/81464"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=81463"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=81463"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=81463"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}