<?phpif (!defined('ABSPATH'))    exit; // Exit if accessed directlyadd_action("wp_ajax_sliding-captcha", "sliding_captcha_fn");add_action("wp_ajax_nopriv_sliding-captcha", "sliding_captcha_fn");function sliding_captcha_fn() {    $Response['error'] = false;    $action = sanitize_text_field($_POST["action"]);    $qaptcha_key = sanitize_text_field($_POST["qaptcha_key"]);    if (isset($_POST['action']) && isset($_POST['qaptcha_key'])) {        if (htmlentities($action, ENT_QUOTES, 'UTF-8') == 'sliding-captcha') {            echo json_encode($Response);        } else {            $Response['error'] = true;            echo json_encode($Response);            exit;        }    } else {        $Response['error'] = true;        echo json_encode($Response);        exit;    }    die;}{"id":68,"date":"2014-06-11T13:00:29","date_gmt":"2014-06-11T11:00:29","guid":{"rendered":"https:\/\/nylnook.art\/\/en\/?p=68"},"modified":"2019-03-12T14:38:07","modified_gmt":"2019-03-12T13:38:07","slug":"conference-lsm-responsives-images","status":"publish","type":"post","link":"https:\/\/nylnook.art\/en\/blog\/conference-lsm-responsives-images\/","title":{"rendered":"How to create responsive pictures for every screen ?"},"content":{"rendered":"<p>I&#8217;m giving a conference, which will tell you more on how I&#8217;m creating this website on the picture side, at Libre Software Meeting in Montpellier, the 9th of July at 4.30pm, in the building n\u00b06 of the second Montpellier&#8217;s University.<\/p>\n<p>It will probably be in french, but I may speak english too. To know more, you&#8217;re welcome to read <a href=\"https:\/\/2014.rmll.info\/conference280?lang=en\">the conference description at LSM website<\/a>.<\/p>\n<div style=\"width: 640px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-68-1\" width=\"640\" height=\"360\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/nylnook.art\/\/fr\/wp-content\/uploads\/sites\/2\/image-responsives-nouveaux-traiteme_low.mp4?_=1\" \/><a href=\"https:\/\/nylnook.art\/\/fr\/wp-content\/uploads\/sites\/2\/image-responsives-nouveaux-traiteme_low.mp4\">https:\/\/nylnook.art\/\/fr\/wp-content\/uploads\/sites\/2\/image-responsives-nouveaux-traiteme_low.mp4<\/a><\/video><\/div>\n<p>You can alos view the video <a href=\"http:\/\/video.rmll.info\/videos\/image-responsives-nouveaux-traitements-dimages-par-noeuds-et-graphs\/\">on the LSM website<\/a> (in french).<\/p>\n<p>A <em>pitch<\/em> :<br \/>\nToday, most images are seen on screen. Every monitor has a unique size, definition, ratio and even shape : As design get fluid with web, pictures start to learn to resize, to respond, to crop, to deform&#8230;<\/p>\n<p>The Responsive Images Community Group (members of Google, Opera and Mozilla) just published (11th of April 2014), a specification draft for the &#8220;picture&#8221; HTML element. This element is promise to adoption, and will allow us to display the right picture to the right screen on the web.<br \/>\nThis mean we will have to serve not only one image but several of them, for ours interconnected visitors. But, wait&#8230; we do not really have the right tools to produce theses pictures !<\/p>\n<p>A first solution would be to use vector images (geometrical), which do not have a resolution, and fit all sizes. That\u2019s a really good solution for icons for example. But for photos and illustrations (bitmap image) ?<br \/>\nOk, we may be patient, and use our favourite Gimp or Photoshop program to crop each image for each dimension we need&#8230; and multiply that with the 30 pictures on our website, to spend 2 days on it&#8230; !<br \/>\nOtherwise, we learn some programming, we make a nice script, and batch process all our picture once&#8230; but blindly ! So, we obtain portraits crop aside of the face, or full landscapes that fit in 280 pixels.<\/p>\n<p>In fact, there is another solution, coming from the video world : use a &#8220;node based&#8221; or a &#8220;node and graph&#8221;, or a &#8220;flow-based programming&#8221; image processing tool. Some free and open source software based on this concept start to appear nowadays (Blender, ButtleOFX, imgflo).<br \/>\nThere are many interests with node systems :<br \/>\n&#8211; Very flexible : Multiple inputs, operations and\/or outputs, updated live<br \/>\n&#8211; Editing through history of operation (forget undo\/redo)<br \/>\n&#8211; Non destructive editing<br \/>\n&#8211; Set up your workflow once, reuse to infinity<br \/>\n&#8211; No need to know how to write a script<br \/>\n&#8211; Good for a single image editing as for many (batch processing)<br \/>\nBut :<br \/>\n&#8211; Not so usual, need some initial learning<\/p>\n<p>To explain the mechanics, I will use my concrete case : a responsive website with illustrations and wallpapers (nylnook.com)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;m giving a conference, which will tell you more on how I&#8217;m creating this website on the picture side, at Libre Software Meeting in Montpellier, the 9th of July at 4.30pm, in the building n\u00b06 of the second Montpellier&#8217;s University. It will probably be in french, but I may speak english too. To know more, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"godot_game_meta":[],"pulp_press_meta":[],"pulp_comic_meta":[],"inline_featured_image":false,"nylnook_wp_meta":[null],"footnotes":""},"categories":[1],"tags":[31,50,52,55],"class_list":["post-68","post","type-post","status-publish","format-standard","hentry","category-blog","tag-geek","tag-teaching","tag-tutorials","tag-video"],"_links":{"self":[{"href":"https:\/\/nylnook.art\/en\/wp-json\/wp\/v2\/posts\/68","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nylnook.art\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nylnook.art\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nylnook.art\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nylnook.art\/en\/wp-json\/wp\/v2\/comments?post=68"}],"version-history":[{"count":3,"href":"https:\/\/nylnook.art\/en\/wp-json\/wp\/v2\/posts\/68\/revisions"}],"predecessor-version":[{"id":268,"href":"https:\/\/nylnook.art\/en\/wp-json\/wp\/v2\/posts\/68\/revisions\/268"}],"wp:attachment":[{"href":"https:\/\/nylnook.art\/en\/wp-json\/wp\/v2\/media?parent=68"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nylnook.art\/en\/wp-json\/wp\/v2\/categories?post=68"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nylnook.art\/en\/wp-json\/wp\/v2\/tags?post=68"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}