{"id":78,"date":"2012-09-27T17:46:52","date_gmt":"2012-09-27T15:46:52","guid":{"rendered":"http:\/\/geekcommunicant.com\/blog\/?p=78"},"modified":"2019-04-20T18:07:35","modified_gmt":"2019-04-20T16:07:35","slug":"opensearch-plugin","status":"publish","type":"post","link":"https:\/\/geekcommunicant.com\/blog\/2012\/09\/27\/opensearch-plugin\/","title":{"rendered":"OpenSearch plugin"},"content":{"rendered":"\n<p>Aujourd&rsquo;hui, nous allons voir comment cr\u00e9er un plugin OpenSearch.<\/p>\n\n\n\n<p>Today, we will see how to create a simple OpenSearch plugin.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">OpenSearch plugin ?<\/h2>\n\n\n\n<p>Un plugin OpenSearch est ce qui est utilis\u00e9 par votre navigateur pour effectuer une recherche, sans a avoir \u00e0 se rendre sur la page du site sur lequel on veut effectuer la recherche. Cela consiste en un simple fichier XML<\/p>\n\n\n\n<p>An OpenSearch plugin is what your browser uses to search something on a site without having to open it. It consists on a simple XML file.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/geekcommunicant.com\/blog\/wp-content\/uploads\/OpenSearch.png\"><img loading=\"lazy\" decoding=\"async\" width=\"265\" height=\"41\" src=\"https:\/\/geekcommunicant.com\/blog\/wp-content\/uploads\/OpenSearch.png\" alt=\"\" class=\"wp-image-81\"\/><\/a><figcaption>OpenSearch on Firefox<\/figcaption><\/figure><\/div>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\">Code &amp; comments<\/h2>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: xml; title: ; notranslate\" title=\"\">\n&lt;searchplugin xmlns=&quot;http:\/\/www.mozilla.org\/2006\/browser\/search\/&quot; xmlns:os=&quot;http:\/\/a9.com\/-\/spec\/opensearch\/1.1\/&quot;&gt;\n\/\/What appears in the field when empty\n\/\/Ce qui appara\u00eet quand le champ est vide\n&lt;os:shortname&gt;Pixiv&lt;\/os:shortname&gt;\n\/\/Tooltip (view image below)\n\/\/Infobulle (voir l&#039;image ci-dessous)\n&lt;os:description&gt;Pixiv Search&lt;\/os:description&gt;\n\/\/Encoding -DUH-\n&lt;os:inputencoding&gt;UTF-8&lt;\/os:inputencoding&gt;\n\/\/Image used (here URI encoded)\n\/\/Image utilis\u00e9e (ici encod\u00e9 en URI)\n&lt;os:image width=&quot;16&quot; height=&quot;16&quot;&gt;data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8\/9hAAACIElEQVQ4jZWTz0tUURTHT9CuopAW0aJlmxaFmxbRJmjRoj+gCAJbRDHT\/HgvKAWDoIUQGEVBIUHEvHnvDjyVJFPTKCOmFIeYyhnKrKlxXvN0HB01jOjT4uI0kwm2OIvLvd8P58M9RySijovheGIq\/qsMxxfDOSliOqVVlxEbCcWRc3EkbCOGswZEzYo+JJCogwRiiKHY3dbL4TvPOHr3OfuvD7Kp2UUCln5zPlEPEVMhQYutzS6hrhRPJ3weZQp0JD9y+8UE\/VmPrF+hbSjDlouu7qgWIkGLE7Ekk6VFigvLHLw5pFsOWrqjkM2hW0+YXlwmNVVmx6VurbgCuDfyiTfeHP7CMsOT0zr0t+vZGI3XHgPQM15gQ7gGMLP0g52XH5DKlxn9OltPr1YCCVh0v50CYG\/7gFYxFXIslkTCNplihZE1AQoJxLjwMA1AkxrRiqZCJGQjhmLcXz\/gVGJU\/4qpEDHUOgEWvRkPgH21CiuAjF\/hZa5UnYVqMOogZ+5zpGMYADed\/xOuBaS9OXLlJQ7cGGRzs6uDEYeGlk6CnWP8\/AVDH4o0tHQiEWc14HWhzNT8d+JjOfqzHn0Zj8H330gX5kjlywTcMTaaCa1YN0g1CsnPM0ggRkNrF3uu9tHYPsCuKz1aKWjVq1UBUVWRqMO74jyvvpSQcFxPYsTWrhH730G9TBWRcLxpe2u3nysvkfUrbGtx196++vCMRO3TvwGcp3kFcNIIyQAAAABJRU5ErkJggg==&lt;\/os:image&gt;\n\/\/URL to reach when an empty field is submitted\n\/\/URL \u00e0 atteindre quand un champ vide est envoy\u00e9\n&lt;searchform&gt;http:\/\/pixiv.net&lt;\/searchform&gt;\n\/\/URL to which send the request, and which method (POST\/GET) to use\n\/\/URL \u00e0 laquelle envoyer la requ\u00eate, et quelle m\u00e9thode (POST\/GET) utiliser\n&lt;os:url type=&quot;text\/html&quot; method=&quot;GET&quot; template=&quot;http:\/\/www.pixiv.net\/member_illust.php&quot;&gt;\n\/\/Elements of the request\n\/\/El\u00e9ments de la requ\u00eate\n&lt;os:param name=&quot;mode&quot; value=&quot;medium&quot;&gt;\n&lt;os:param name=&quot;illust_id&quot; value=&quot;{searchTerms}&quot;&gt;\n&lt;\/os:param&gt;&lt;\/os:param&gt;&lt;\/os:url&gt;\n&lt;\/searchplugin&gt;\n<\/pre><\/div>\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/geekcommunicant.com\/blog\/wp-content\/uploads\/OpenSearch-tooltip.png\"><img loading=\"lazy\" decoding=\"async\" width=\"265\" height=\"70\" src=\"https:\/\/geekcommunicant.com\/blog\/wp-content\/uploads\/OpenSearch-tooltip.png\" alt=\"\" class=\"wp-image-94\"\/><\/a><figcaption>Tooltip \/ Infobulle<\/figcaption><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">How to distribute ?<\/h2>\n\n\n\n<p>Simply add the following line in the header section of your page(s).<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: xml; title: ; notranslate\" title=\"\">\n&lt;link rel=&quot;search&quot; type=&quot;application\/opensearchdescription+xml&quot; title=&quot;searchTitle&quot; href=&quot;pluginURL&quot;&gt;\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\">Ressources<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Creating_OpenSearch_plugins_for_Firefox\" target=\"_blank\" rel=\"noopener noreferrer\">Creating OpenSearch plugins for Firefox<\/a> on <a href=\"https:\/\/developer.mozilla.org\" target=\"_blank\" rel=\"noopener noreferrer\">Mozilla Developer Network<\/a><\/li><li><a href=\"http:\/\/www.opensearch.org\/Home\" target=\"_blank\" rel=\"noopener noreferrer\">OpenSearch.org<\/a><\/li><li><a href=\"http:\/\/software.hixie.ch\/utilities\/cgi\/data\/data\" target=\"_blank\" rel=\"noopener noreferrer\">URI encoder<\/a><\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Aujourd&rsquo;hui, nous allons voir comment cr\u00e9er un plugin OpenSearch. Today, we will see how to create a simple OpenSearch plugin. OpenSearch plugin ? Un plugin OpenSearch est ce qui est utilis\u00e9 par votre navigateur pour effectuer une recherche, sans a &hellip; <a href=\"https:\/\/geekcommunicant.com\/blog\/2012\/09\/27\/opensearch-plugin\/\">Continuer la lecture <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[12],"tags":[11],"class_list":["post-78","post","type-post","status-publish","format-standard","hentry","category-divers","tag-opensearch"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p2IoOb-1g","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":25,"url":"https:\/\/geekcommunicant.com\/blog\/2012\/09\/12\/un-compteur-de-caracteres-en-jquery\/","url_meta":{"origin":78,"position":0},"title":"Un compteur de caract\u00e8res en jQuery","author":"geekc","date":"12\/09\/2012","format":false,"excerpt":"Aujourd'hui nous allons voir comment faire un plugin jQuery, qui permet de compter le nombre de caract\u00e8res pouvant encore \u00eatre accept\u00e9 dans des champs de texte. Pour commencer, il faut d\u00e9cider du nombre de variables utiles \u00e0 ce genre de r\u00e9alisation. Une longueur maximale autoris\u00e9e est un minimum. Ensuite, comme\u2026","rel":"","context":"Dans &quot;jQuery&quot;","block_context":{"text":"jQuery","link":"https:\/\/geekcommunicant.com\/blog\/category\/jquery\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":835,"url":"https:\/\/geekcommunicant.com\/blog\/2019\/06\/24\/carte-interactive-rues-sans-megots-leaflet\/","url_meta":{"origin":78,"position":1},"title":"Carte interactive des rues sans m\u00e9gots avec Leaflet","author":"geekc","date":"24\/06\/2019","format":false,"excerpt":"Cette carte interactive des rues sans m\u00e9gots de Paris a \u00e9t\u00e9 r\u00e9alis\u00e9e suite \u00e0 la suite de la consultation de la page d\u2019actualit\u00e9s de la ville de Paris concernant cette action de propret\u00e9, qui ne contenait qu\u2019une image pour pr\u00e9senter la cartographie des diff\u00e9rentes rues concern\u00e9es par cette op\u00e9ration. Sources\u2026","rel":"","context":"Dans &quot;JavaScript&quot;","block_context":{"text":"JavaScript","link":"https:\/\/geekcommunicant.com\/blog\/category\/javascript\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":40,"url":"https:\/\/geekcommunicant.com\/blog\/2012\/09\/26\/un-effet-de-porte-en-jquery\/","url_meta":{"origin":78,"position":2},"title":"Un effet de porte en jQuery","author":"geekc","date":"26\/09\/2012","format":false,"excerpt":"Aujourd'hui nous allons voir comment cr\u00e9er en jQuery et jQuery UI un effet de porte, avec l'image se s\u00e9parant en 4 par les coins, r\u00e9v\u00e9lant ainsi un texte. Avant tout, il faut comprendre comment s'organiseront les diff\u00e9rentes couches: \u00e0 la base, on trouve la couche contenant le texte (z-index: 0)juste\u2026","rel":"","context":"Dans &quot;jQuery&quot;","block_context":{"text":"jQuery","link":"https:\/\/geekcommunicant.com\/blog\/category\/jquery\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1336,"url":"https:\/\/geekcommunicant.com\/blog\/2026\/02\/09\/recherche-emploi-laravel-vue-js\/","url_meta":{"origin":78,"position":3},"title":"Recherche emploi (Laravel\/Vue.js)","author":"geekc","date":"09\/02\/2026","format":false,"excerpt":"Bon, je ne sais pas si c\u2019est utile de poster \u00e7a ici, mais une plateforme de diffusion en plus est la bienvenue. Apr\u00e8s 5 ans chez UBAQ, \u00e9diteur de solution de gestion r\u00e9glementaire pour les laboratoires m\u00e9dicaux, me voil\u00e0 \u00e0 la recherche d\u2019une nouvelle aventure codesque. Au d\u00e9but la solution\u2026","rel":"","context":"Dans &quot;Divers&quot;","block_context":{"text":"Divers","link":"https:\/\/geekcommunicant.com\/blog\/category\/divers\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":785,"url":"https:\/\/geekcommunicant.com\/blog\/2019\/05\/27\/corriger-titres-yoast-seo\/","url_meta":{"origin":78,"position":4},"title":"Corriger les titres Yoast SEO","author":"geekc","date":"27\/05\/2019","format":false,"excerpt":"Si vous utilisez Yoast SEO sur votre site WordPress pour g\u00e9rer les balises n\u00e9cessaires au bon r\u00e9f\u00e9rencement de vos contenus, vous pouvez rencontrer ce genre de probl\u00e8me\u00a0: Quels que soient les r\u00e9glages que vous choisissez pour votre titre, des \u00e9l\u00e9ments non voulus apparaissent \u00e0 la fin de celui-ci. Yoast serait-il\u2026","rel":"","context":"Dans &quot;PHP&quot;","block_context":{"text":"PHP","link":"https:\/\/geekcommunicant.com\/blog\/category\/php\/"},"img":{"alt_text":"Mauvais titre SEO","src":"https:\/\/i0.wp.com\/geekcommunicant.com\/blog\/wp-content\/uploads\/mauvais_titre_seo.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/geekcommunicant.com\/blog\/wp-content\/uploads\/mauvais_titre_seo.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/geekcommunicant.com\/blog\/wp-content\/uploads\/mauvais_titre_seo.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":1126,"url":"https:\/\/geekcommunicant.com\/blog\/2023\/03\/03\/le-sitemap-la-carte-de-votre-site\/","url_meta":{"origin":78,"position":5},"title":"Le sitemap, la carte de votre site","author":"geekc","date":"03\/03\/2023","format":false,"excerpt":"Aujourd\u2019hui, nouveau sujet de SEO. Cette fois-ci, j\u2019ai d\u00e9cid\u00e9 de parler de sitemap. C\u2019est quoi une sitemap\u00a0? Comme sa traduction quasi litt\u00e9rale l\u2019indique, il s\u2019agit d\u2019une \"carte de site\". En lisant cela, je pense que beaucoup d\u2019entre vous penserons aux pages Web indiquant les diff\u00e9rentes rubriques et sous-rubriques d\u2019un site,\u2026","rel":"","context":"Dans &quot;SEO&quot;","block_context":{"text":"SEO","link":"https:\/\/geekcommunicant.com\/blog\/category\/seo\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/geekcommunicant.com\/blog\/wp-json\/wp\/v2\/posts\/78","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/geekcommunicant.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/geekcommunicant.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/geekcommunicant.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/geekcommunicant.com\/blog\/wp-json\/wp\/v2\/comments?post=78"}],"version-history":[{"count":0,"href":"https:\/\/geekcommunicant.com\/blog\/wp-json\/wp\/v2\/posts\/78\/revisions"}],"wp:attachment":[{"href":"https:\/\/geekcommunicant.com\/blog\/wp-json\/wp\/v2\/media?parent=78"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/geekcommunicant.com\/blog\/wp-json\/wp\/v2\/categories?post=78"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/geekcommunicant.com\/blog\/wp-json\/wp\/v2\/tags?post=78"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}