{"id":639,"date":"2013-06-17T16:31:45","date_gmt":"2013-06-17T14:31:45","guid":{"rendered":"https:\/\/blog.avxt.fr\/fr\/c-tester-for-paris-city-api\/"},"modified":"2020-01-04T00:06:31","modified_gmt":"2020-01-03T22:06:31","slug":"c-tester-for-paris-city-api","status":"publish","type":"post","link":"https:\/\/blog.avxt.fr\/fr\/c-tester-for-paris-city-api\/","title":{"rendered":"testeur Winform C# de l&rsquo;API de la ville de Paris"},"content":{"rendered":"<p>UPDATE 2015 MAY 2 : nouvelle version qui fonctionne avec les derni\u00e8res <a href=\"https:\/\/api.paris.fr\/\" target=\"_blank\" rel=\"noopener noreferrer\">API<\/a><br \/>\n+ rendu HTML des r\u00e9sultats JSON<br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.avxt.fr\/wp-content\/uploads\/2013\/06\/requetes.jpg\" alt=\"requetes\" width=\"277\" height=\"169\" \/><br \/>\nlien de t\u00e9l\u00e9chargement du binaire (clickonce) \u00a0:\u00a0<a href=\"https:\/\/blog.avxt.fr\/wp-content\/ParisAPITester\/publish.htm\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/blog.avxt.fr\/wp-content\/ParisAPITester\/publish.htm<\/a><\/p>\n<p>remarque: cette version \u00ab\u00a0clickonce\u00a0\u00bb peut \u00eatre d\u00e9sinstall\u00e9e via le panneau de configuration\/ ajout \/suppression de programmes :<\/p>\n<p>nom du programme : testopendata<br \/>\n<a href=\"https:\/\/blog.avxt.fr\/wp-content\/ParisAPITester\/publish.htm\" target=\"_blank\" rel=\"noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.avxt.fr\/wp-content\/uploads\/2013\/06\/parisapitester1.jpg\" alt=\"parisapitester\" width=\"957\" height=\"603\" \/><\/a><\/p>\n<hr \/>\n<p>La ville de Paris a r\u00e9cemment lanc\u00e9 son API (interface de programmation applicative) pour pouvoir acc\u00e9der \u00e0 des nombreuses donn\u00e9es ouvertes (\u00ab\u00a0open data\u00a0\u00bb) que poss\u00e8de la ville.<\/p>\n<p>J&rsquo;ai r\u00e9alis\u00e9 un petit testeur de l&rsquo;API, en C#<\/p>\n<p>J&rsquo;ai utilis\u00e9 des composants open source,\u00a0notamment pour \u00ab\u00a0parser\u00a0\u00bb le Json et g\u00e9n\u00e9rer son sch\u00e9ma (liens : <a href=\"http:\/\/james.newtonking.com\/projects\/json-net.aspx\" target=\"_blank\" rel=\"noopener noreferrer\">Json.Net<\/a>\u00a0, <a href=\"http:\/\/www.xamasoft.com\/json-class-generator\/\" target=\"_blank\" rel=\"noopener noreferrer\">Xamasoft Json class generator<\/a>, et \u00e9galement ce\u00a0<a href=\"http:\/\/techblog.procurios.nl\/k\/news\/view\/14605\/14863\/how-do-i-write-my-own-parser-(for-json).html\" target=\"_blank\" rel=\"noopener noreferrer\">lien<\/a>)<\/p>\n<p>Pour pouvoir l&rsquo;utiliser, il faut :<\/p>\n<p>&#8211; le framework .Net 4.5 (disponible ici:\u00a0<a href=\"http:\/\/www.microsoft.com\/fr-fr\/download\/details.aspx?id=30653\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/www.microsoft.com\/fr-fr\/download\/details.aspx?id=30653<\/a>\u00a0)<\/p>\n<p>&#8211; un \u00ab\u00a0jeton\u00a0\u00bb (token) pour pouvoir utiliser l&rsquo;API, gratuitement disponible en s&rsquo;inscrivant sur le site d\u00e9di\u00e9 de la ville de Paris :\u00a0<a href=\"https:\/\/api.paris.fr\/\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/api.paris.fr\/<\/a><\/p>\n<p>cette petite application affiche une liste de requ\u00eates disponibles<\/p>\n<p>une fois une requ\u00eate s\u00e9lectionn\u00e9e, vous pouvez \u00e9diter ses param\u00e8tres dans la case en dessous (le nombre et les valeurs des param\u00e8tres d\u00e9pendent de la requ\u00eate s\u00e9lectionn\u00e9e)<\/p>\n<p>l&rsquo;application parcourt la r\u00e9ponse du serveur (en Json) et affiche les r\u00e9sultats en dessous : statut, message et les donn\u00e9es de r\u00e9ponse.<\/p>\n<p>Le sch\u00e9ma Json (g\u00e9n\u00e9r\u00e9 \u00e0 \u00a0partir des donn\u00e9es de r\u00e9ponse) est \u00e9galement affich\u00e9.<\/p>\n<p><span style=\"text-decoration: underline;\">Remarque:<\/span> pour ne pas avoir \u00e0 recopier votre \u00ab\u00a0token\u00a0\u00bb \u00e0 chaque fois, vous pouvez l&rsquo;ins\u00e9rer dans le fichier de configuration de l&rsquo;application: (le fichier se nomme \u00ab\u00a0testOpenData.exe.config\u00a0\u00bb).<\/p>\n<p>Le jeton est \u00e0 ins\u00e9rer entre les deux guillemets apr\u00e8s <img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-650\" src=\"https:\/\/blog.avxt.fr\/wp-content\/uploads\/2013\/06\/tokenHelp.jpg\" alt=\"tokenHelp\" width=\"1251\" height=\"244\" srcset=\"https:\/\/blog.avxt.fr\/wp-content\/uploads\/2013\/06\/tokenHelp.jpg 1251w, https:\/\/blog.avxt.fr\/wp-content\/uploads\/2013\/06\/tokenHelp-300x58.jpg 300w, https:\/\/blog.avxt.fr\/wp-content\/uploads\/2013\/06\/tokenHelp-1024x199.jpg 1024w, https:\/\/blog.avxt.fr\/wp-content\/uploads\/2013\/06\/tokenHelp-250x48.jpg 250w, https:\/\/blog.avxt.fr\/wp-content\/uploads\/2013\/06\/tokenHelp-1200x234.jpg 1200w\" sizes=\"auto, (max-width: 1251px) 100vw, 1251px\" \/><\/p>\n<p><strong>En modifiant la requ\u00eate affich\u00e9e (ou bien en modifiant les requ\u00eates dans ce fichier de configuration), vous pouvez en fait tester <span style=\"text-decoration: underline;\">n&rsquo;importe quelle API qui renvoie du JSON<\/span>\u00a0\u00a0(JavaScript Object Notation)<\/strong><\/p>\n<p>copie d&rsquo;\u00e9cran (mon jeton d&rsquo;acc\u00e8s est volontairement gris\u00e9)<\/p>\n<div id=\"attachment_640\" style=\"width: 825px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-640\" class=\" wp-image-640 \" src=\"https:\/\/blog.avxt.fr\/wp-content\/uploads\/2013\/06\/parisapitester.jpg\" alt=\"Paris API Tester\" width=\"815\" height=\"530\" srcset=\"https:\/\/blog.avxt.fr\/wp-content\/uploads\/2013\/06\/parisapitester.jpg 815w, https:\/\/blog.avxt.fr\/wp-content\/uploads\/2013\/06\/parisapitester-300x195.jpg 300w, https:\/\/blog.avxt.fr\/wp-content\/uploads\/2013\/06\/parisapitester-230x150.jpg 230w\" sizes=\"auto, (max-width: 815px) 100vw, 815px\" \/><p id=\"caption-attachment-640\" class=\"wp-caption-text\">Paris API Tester<\/p><\/div>\n<p>pour t\u00e9l\u00e9charger le binaire de l&rsquo;application : lien &#8211;&gt; <a href=\"https:\/\/blog.avxt.fr\/wp-content\/uploads\/2013\/06\/ParisAPITester.zip\"><div class=\"sdm_download_button_box_default\"><div class=\"sdm_download_link\"><form action=\"https:\/\/blog.avxt.fr\/?sdm_process_download=1&download_id=920\" method=\"post\" class=\"sdm-g-recaptcha-form sdm-download-form\"><div class=\"sdm-recaptcha-button\"><div class=\"g-recaptcha sdm-g-recaptcha\"><\/div><a href=\"#\" class=\"sdm_download green sdm_download_with_condition\">T\u00e9l\u00e9charger le catalogue<\/a><\/div><input type=\"hidden\" name=\"download_id\" value=\"920\" \/><\/form><\/div><\/div><\/a><\/p>\n<p>(Extraire le fichier zipp\u00e9 dans le dossier de votre choix et dans ce dossier, lancer \u00ab\u00a0testOpenData\u00a0\u00bb (ou \u00ab\u00a0testOpenData.exe\u00a0\u00bb si vous avez activ\u00e9 l&rsquo;option d&rsquo;affichage des extensions de fichier)<\/p>","protected":false},"excerpt":{"rendered":"<p>UPDATE 2015 MAY 2 : nouvelle version qui fonctionne avec les derni\u00e8res API + rendu HTML des r\u00e9sultats JSON lien de t\u00e9l\u00e9chargement du binaire (clickonce) \u00a0:\u00a0https:\/\/blog.avxt.fr\/wp-content\/ParisAPITester\/publish.htm remarque: cette version \u00ab\u00a0clickonce\u00a0\u00bb peut \u00eatre d\u00e9sinstall\u00e9e via le panneau de configuration\/ ajout \/suppression de programmes : nom du programme : testopendata La ville \u2026 <a class=\"continue-reading-link\" href=\"https:\/\/blog.avxt.fr\/fr\/c-tester-for-paris-city-api\/\"> Continue reading <span class=\"meta-nav\">&rarr; <\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[124,77],"tags":[117,118,107,108,115,116,123,121,110,114,119,109,112,111,113,122,120],"class_list":["post-639","post","type-post","status-publish","format-standard","hentry","category-paris-city-api","category-programming","tag-net","tag-4-5","tag-api-paris","tag-api-paris-fr","tag-c","tag-dotnet","tag-exemples","tag-generator","tag-json","tag-json-api-paris","tag-json-schema","tag-paris-api","tag-parse","tag-parse-api","tag-parse-json","tag-samples","tag-schema"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/blog.avxt.fr\/fr\/wp-json\/wp\/v2\/posts\/639","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.avxt.fr\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.avxt.fr\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.avxt.fr\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.avxt.fr\/fr\/wp-json\/wp\/v2\/comments?post=639"}],"version-history":[{"count":23,"href":"https:\/\/blog.avxt.fr\/fr\/wp-json\/wp\/v2\/posts\/639\/revisions"}],"predecessor-version":[{"id":922,"href":"https:\/\/blog.avxt.fr\/fr\/wp-json\/wp\/v2\/posts\/639\/revisions\/922"}],"wp:attachment":[{"href":"https:\/\/blog.avxt.fr\/fr\/wp-json\/wp\/v2\/media?parent=639"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.avxt.fr\/fr\/wp-json\/wp\/v2\/categories?post=639"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.avxt.fr\/fr\/wp-json\/wp\/v2\/tags?post=639"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}