{"id":1401,"date":"2010-06-23T20:00:43","date_gmt":"2010-06-23T18:00:43","guid":{"rendered":"http:\/\/blogs.wittwer.fr\/whiler\/?p=1401"},"modified":"2023-03-12T15:02:33","modified_gmt":"2023-03-12T14:02:33","slug":"doodle-google-logos","status":"publish","type":"post","link":"https:\/\/blogs.wittwer.fr\/whiler\/2010\/06\/23\/doodle-google-logos\/","title":{"rendered":"Logos Google"},"content":{"rendered":"<p>Apr\u00e8s les <a href=\"http:\/\/fr.wikipedia.org\/wiki\/Liste_des_collections_par_th\u00e8me\" rel=\"glossary\" target=\"_blank\" title=\"Wikipedia, D&eacute;finition de&nbsp;: \u00e9thylab\u00e9lophiles\" style=\"\" >\u00e9thylab\u00e9lophiles<\/a><sup style=\"font-family: Georgia, Times New Roman, Serif; font-weight: bold; color: #AAAAAA\" ><em>W<\/em><\/sup>, les cervalob\u00e9lophiles, les glacophiles, &#8230;, on trouve maintenant les collectionneurs de <a href=\"https:\/\/www.google.com\/doodle4google\/\" target=\"_blank\" rel=\"noopener\">logos Google<\/a>&#8230; et j&rsquo;en connais un&nbsp;! (non, c&rsquo;est pas moi <img src=\"https:\/\/blogs.wittwer.fr\/whiler\/wp-includes\/images\/smilies\/skype\/\/tongueout.gif\" alt=\":p\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" \/> )<br \/>\n<div id=\"attachment_1402\" style=\"width: 360px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1402\" src=\"\/whiler\/wp-content\/uploads\/2010\/06\/142245_MO_BARBA-IMAGE.jpg\" alt=\"Rainforest Habitat\" title=\"Rainforest Habitat\" width=\"350\" height=\"268\" class=\"size-full wp-image-1402\" srcset=\"https:\/\/blogs.wittwer.fr\/whiler\/wp-content\/uploads\/2010\/06\/142245_MO_BARBA-IMAGE.jpg 350w, https:\/\/blogs.wittwer.fr\/whiler\/wp-content\/uploads\/2010\/06\/142245_MO_BARBA-IMAGE-300x229.jpg 300w\" sizes=\"auto, (max-width: 350px) 100vw, 350px\" \/><p id=\"caption-attachment-1402\" class=\"wp-caption-text\">Exemple de logos Google<\/p><\/div><\/p>\n<p>Le probl\u00e8me, c&rsquo;est que <a href=\"http:\/\/fr.wikipedia.org\/wiki\/Google\" rel=\"glossary\" target=\"_blank\" title=\"Wikipedia, D&eacute;finition de&nbsp;: Google\" style=\"\" >Google<\/a><sup style=\"font-family: Georgia, Times New Roman, Serif; font-weight: bold; color: #AAAAAA\" ><em>W<\/em><\/sup> est tr\u00e8s actif et il est parfois difficile de ne pas rater une journ\u00e9e o\u00f9 un nouveau logo apparaitrait&#8230; On peut cependant les retrouver un peu plus tard sur cette page&nbsp;: <a href=\"https:\/\/www.google.com\/logos\/\" target=\"_blank\" rel=\"noopener\">https:\/\/www.google.com\/logos\/<\/a><\/p>\n<p>C&rsquo;est pour cela, que j&rsquo;ai pris mon <a href=\"https:\/\/embarcadero.arrowecs.fr\/produits.php#5\" target=\"_blank\" rel=\"noopener\">Delphi<\/a>, et que j&rsquo;ai cr\u00e9\u00e9 tr\u00e8s rapidement une application qui va v\u00e9rifier si un nouveau logo est sorti sur les diff\u00e9rents sites nationaux &#038; le t\u00e9l\u00e9charge directement sur le PC&#8230;<br \/>\n<!--more--><br \/>\nL&rsquo;interface est tr\u00e8s simple&nbsp;:<\/p>\n<ul>\n<li>La liste des sites \u00e0 v\u00e9rifier<\/li>\n<li>Un bouton pour un d\u00e9marrage manuel<\/li>\n<li>Une case \u00e0 cocher pour une v\u00e9rification toutes les 24 heures<\/li>\n<li>&#8230;<\/li>\n<li>En bref, quelques composants visuels, un TIdHTTP et quelques lignes de code&#8230;<\/li>\n<\/ul>\n<p><div style=\"width: 514px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.whiler.com\/freewares\/#wgl\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" alt=\"WGL\" src=\"https:\/\/www.whiler.com\/freewares\/imgs\/wgl.png\" title=\"WGL\" width=\"500\" height=\"250\" \/><\/a><p class=\"wp-caption-text\">WGL<\/p><\/div><br \/>\nSi vous souhaitez utiliser cette application, elle est disponible depuis cette page&nbsp;: <a href=\"https:\/\/www.whiler.com\/freewares\/\" target=\"_blank\" rel=\"noopener\">https:\/\/www.whiler.com\/freewares\/<\/a><br \/>\n<!--nextpage--><br \/>\nActuellement, a lieu le CodeRage 5&nbsp;: une conf\u00e9rence gratuite en ligne sur 5 jours.<br \/>\n<center><div id=\"attachment_1693\" style=\"width: 414px\" class=\"wp-caption aligncenter\"><a target=\"_blank\" href=\"https:\/\/www.embarcadero.com\/coderage5\/\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1693\" src=\"\/whiler\/wp-content\/uploads\/2010\/06\/cr5.jpg\" alt=\"CodeRage 5\" title=\"CodeRage 5\" width=\"404\" height=\"149\" class=\"size-full wp-image-1693\" srcset=\"https:\/\/blogs.wittwer.fr\/whiler\/wp-content\/uploads\/2010\/06\/cr5.jpg 404w, https:\/\/blogs.wittwer.fr\/whiler\/wp-content\/uploads\/2010\/06\/cr5-300x110.jpg 300w\" sizes=\"auto, (max-width: 404px) 100vw, 404px\" \/><\/a><p id=\"caption-attachment-1693\" class=\"wp-caption-text\">CodeRage 5<\/p><\/div><\/center><br \/>\nDurant une session, il y a eu une pr\u00e9sentation sur les expressions r\u00e9guli\u00e8res, une des nouveaut\u00e9s de RAD Studio XE.<\/p>\n<p>J&rsquo;en ai donc profit\u00e9 pour migrer mon application sous XE et remplacer de nombreux <code class=\"codecolorer text dawn\"><span class=\"text\">Pos<\/span><\/code>, <code class=\"codecolorer text dawn\"><span class=\"text\">PosEx<\/span><\/code> &#038; <code class=\"codecolorer text dawn\"><span class=\"text\">Copy<\/span><\/code> par une expression r\u00e9guli\u00e8re unique.<\/p>\n<p><code class=\"codecolorer text dawn\"><span class=\"text\">&nbsp; &nbsp; regexp := TRegEx.Create('&lt;div id=lga&gt;(&lt;a href=&quot;\/search[^&lt;]*&lt;img .* src=&quot;([^&quot;]+)&quot;.*)?&lt;\/div&gt;',[roIgnoreCase,roMultiline]);<br \/>\n&nbsp; &nbsp; match := regexp.Match(...<\/span><\/code><\/p>\n<p>Cette version a remplac\u00e9 la pr\u00e9c\u00e9dente et est disponible depuis <a href=\"https:\/\/www.whiler.com\/freewares\/download?wgl.exe\">le m\u00eame lien<\/a>.<\/p>\n<hr\/>\n<p>J&rsquo;ai \u00e9galement plus ou moins externalis\u00e9 l&rsquo;expression r\u00e9guli\u00e8re qui permet d&rsquo;effectuer la recherche afin de permettre \u00e0 quiconque de modifier cette cha\u00eene sans avoir \u00e0 attendre que j&rsquo;effectue la modification du code ou \u00e0 d\u00e9sassembler toute l&rsquo;application. Cela permettra ainsi \u00e0 mon utilisateur unique de mettre \u00e0 jour cette recherche si Google change ses pages et que je suis absent ou trop occup\u00e9.<\/p>\n<p>Plus ou moins, car cette cha\u00eene est toujours incluse dans l&rsquo;ex\u00e9cutable lui-m\u00eame, mais sous forme d&rsquo;une ressource&nbsp;: RC Data \/ PARAMS \/ REG_EXP<br \/>\n<div id=\"attachment_1696\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"\/whiler\/wp-content\/uploads\/2010\/06\/rsc_editor.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1696\" src=\"\/whiler\/wp-content\/uploads\/2010\/06\/rsc_editor-300x131.png\" alt=\"XN Resource Editor\" title=\"XN Resource Editor\" width=\"300\" height=\"131\" class=\"size-medium wp-image-1696\" srcset=\"https:\/\/blogs.wittwer.fr\/whiler\/wp-content\/uploads\/2010\/06\/rsc_editor-300x131.png 300w, https:\/\/blogs.wittwer.fr\/whiler\/wp-content\/uploads\/2010\/06\/rsc_editor.png 772w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-1696\" class=\"wp-caption-text\">XN Resource Editor<\/p><\/div><\/p>\n<p>Pour \u00e9diter ce type de ressource, il vous faut simplement un \u00e9diteur de ressources afin d&rsquo;\u00e9diter <a href=\"https:\/\/www.whiler.com\/freewares\/download?wgl.exe\">mon ex\u00e9cutable<\/a>, par exemple&nbsp;:<\/p>\n<ul>\n<li><a target=\"_blank\" href=\"https:\/\/www.wilsonc.demon.co.uk\/d10resourceeditor.htm\" rel=\"noopener\">XN Resource Editor <img src=\"https:\/\/blogs.wittwer.fr\/whiler\/wp-includes\/images\/smilies\/skype\/\/yes.gif\" alt=\"(y)\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" \/> <\/a><\/li>\n<li><a target=\"_blank\" href=\"https:\/\/www.angusj.com\/resourcehacker\/\" rel=\"noopener\">Resource Hacker<\/a><\/li>\n<li>&#8230;<\/li>\n<\/ul>\n<p>(Ces deux \u00e9diteurs sont \u00e9galement \u00e9crits en Delphi.)<\/p>\n<p>N&rsquo;oubliez pas de sauvegarder apr\u00e8s avoir effectu\u00e9 la modification.<\/p>\n<p>Concernant l&rsquo;expression r\u00e9guli\u00e8re par elle-m\u00eame, elle doit contenir 2 paires de parenth\u00e8ses&nbsp;:<\/p>\n<ul>\n<li>une pour la cha\u00eene que l&rsquo;on retrouve dans les logs<\/li>\n<li>une pour le chemin relatif vers l&rsquo;image elle-m\u00eame<\/li>\n<\/ul>\n<p>Et comme j&rsquo;ai migr\u00e9 sur <a target=\"_blank\" title=\"Delphi\" href=\"https:\/\/www.embarcadero.com\/products\/delphi\" rel=\"noopener\">Delphi XE<\/a>, j&rsquo;en ai \u00e9videmment profit\u00e9 pour mettre le projet dans un r\u00e9f\u00e9rentiel <a href=\"http:\/\/fr.wikipedia.org\/wiki\/Subversion_(logiciel)\" rel=\"glossary\" target=\"_blank\" title=\"Wikipedia, D&eacute;finition de&nbsp;: Subversion\" style=\"\" >Subversion<\/a><sup style=\"font-family: Georgia, Times New Roman, Serif; font-weight: bold; color: #AAAAAA\" ><em>W<\/em><\/sup> <img src=\"https:\/\/blogs.wittwer.fr\/whiler\/wp-includes\/images\/smilies\/skype\/\/wink.gif\" alt=\";)\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" \/><\/p>\n<p><center><a href=\"\/whiler\/category\/computer\/delphi\/\" title=\"Articles concernant Delphi\"><img loading=\"lazy\" decoding=\"async\" src=\"\/whiler\/wp-content\/uploads\/2009\/10\/built_with_delphi.png\" alt=\"D\u00e9velopp\u00e9 en Delphi\" title=\"D\u00e9velopp\u00e9 en Delphi\" width=\"125\" height=\"51\" class=\"size-full wp-image-2721\" \/><\/a><\/center><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Apr\u00e8s les \u00e9thylab\u00e9lophiles, les cervalob\u00e9lophiles, les glacophiles, \u2026, on trouve maintenant les collectionneurs de logos Google\u2026<br \/>\n&#8230; j\u2019ai pris mon Delphi, et que j\u2019ai cr\u00e9\u00e9 tr\u00e8s rapidement une application qui va v\u00e9rifier si un nouveau logo est sorti sur les diff\u00e9rents sites nationaux &#038; le t\u00e9l\u00e9charge directement sur son PC\u2026<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_links_to":"","_links_to_target":""},"categories":[7,6],"tags":[154,93,157],"class_list":["post-1401","post","type-post","status-publish","format-standard","hentry","category-delphi","category-dev","tag-delphi","tag-freeware","tag-google"],"_links":{"self":[{"href":"https:\/\/blogs.wittwer.fr\/whiler\/wp-json\/wp\/v2\/posts\/1401","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.wittwer.fr\/whiler\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.wittwer.fr\/whiler\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.wittwer.fr\/whiler\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.wittwer.fr\/whiler\/wp-json\/wp\/v2\/comments?post=1401"}],"version-history":[{"count":1,"href":"https:\/\/blogs.wittwer.fr\/whiler\/wp-json\/wp\/v2\/posts\/1401\/revisions"}],"predecessor-version":[{"id":6383,"href":"https:\/\/blogs.wittwer.fr\/whiler\/wp-json\/wp\/v2\/posts\/1401\/revisions\/6383"}],"wp:attachment":[{"href":"https:\/\/blogs.wittwer.fr\/whiler\/wp-json\/wp\/v2\/media?parent=1401"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.wittwer.fr\/whiler\/wp-json\/wp\/v2\/categories?post=1401"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.wittwer.fr\/whiler\/wp-json\/wp\/v2\/tags?post=1401"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}