{"id":632,"date":"2023-02-17T22:37:42","date_gmt":"2023-02-17T21:37:42","guid":{"rendered":"https:\/\/numa-bord.com\/miniblog\/?p=632"},"modified":"2023-02-17T22:37:42","modified_gmt":"2023-02-17T21:37:42","slug":"mon-premier-script-python","status":"publish","type":"post","link":"https:\/\/numa-bord.com\/miniblog\/mon-premier-script-python\/","title":{"rendered":"Mon premier script Python"},"content":{"rendered":"<p>Pour marquer la date d&rsquo;une pierre blanche !<\/p>\n<p>Apr\u00e8s plus de 15 ans de bons et loyaux service en PHP (et ce n&rsquo;est pas termin\u00e9), j&rsquo;ai l\u2019occasion de travailler sur mon premier projet Python, et en ce mercredi 15 F\u00e9vrier 2023 j&rsquo;ai d\u00e9velopp\u00e9 mon premier script dans ce langage.<\/p>\n<p>Alors oui c&rsquo;est basique mais je le pose ici pour le souvenir<\/p>\n<div class=\"codecolorer-container python default\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"python codecolorer\"><span class=\"kw1\">import<\/span> psycopg2<br \/>\n<span class=\"kw1\">import<\/span> <span class=\"kw3\">csv<\/span><br \/>\n<br \/>\n<span class=\"kw1\">from<\/span> psycopg2 <span class=\"kw1\">import<\/span> Error<br \/>\n<span class=\"co1\">#config : <\/span><br \/>\n<span class=\"co1\"># id de la liste que l'on veux remplir<\/span><br \/>\nid_liste <span class=\"sy0\">=<\/span> <span class=\"nu0\">300<\/span><br \/>\n<span class=\"co1\"># nom du fichier csv<\/span><br \/>\nfilename <span class=\"sy0\">=<\/span> <span class=\"st0\">'liste300.csv'<\/span><br \/>\n<span class=\"co1\">#<\/span><br \/>\n<span class=\"kw1\">try<\/span>:<br \/>\n&nbsp; &nbsp; <span class=\"co1\">#connexion \u00e0 la base<\/span><br \/>\n&nbsp; &nbsp; conn <span class=\"sy0\">=<\/span> psycopg2.<span class=\"me1\">connect<\/span><span class=\"br0\">&#40;<\/span>database<span class=\"sy0\">=<\/span><span class=\"st0\">&quot;nom_de_la_base&quot;<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; host<span class=\"sy0\">=<\/span><span class=\"st0\">&quot;localhost&quot;<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw3\">user<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;user_base&quot;<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; password<span class=\"sy0\">=<\/span><span class=\"st0\">&quot;pass_base&quot;<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; port<span class=\"sy0\">=<\/span><span class=\"st0\">&quot;5432&quot;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n<br \/>\n&nbsp; &nbsp; cursor <span class=\"sy0\">=<\/span> conn.<span class=\"me1\">cursor<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"co1\">#on vidange la liste au cas ou elle ne soit pas vierge<\/span><br \/>\n&nbsp; &nbsp; cursor.<span class=\"me1\">execute<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;DELETE FROM taxonomie.cor_nom_liste WHERE id_liste = %s&quot;<\/span><span class=\"sy0\">,<\/span> <span class=\"br0\">&#40;<\/span>id_liste<span class=\"sy0\">,<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n<br \/>\n&nbsp; &nbsp; <span class=\"co1\">#parcours CSV<\/span><br \/>\n&nbsp; &nbsp; nbInsert <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><br \/>\n&nbsp; &nbsp; nbError <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">with<\/span> <span class=\"kw2\">open<\/span><span class=\"br0\">&#40;<\/span>filename<span class=\"sy0\">,<\/span> <span class=\"st0\">'r'<\/span><span class=\"br0\">&#41;<\/span> <span class=\"kw1\">as<\/span> csvfile:<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; datareader <span class=\"sy0\">=<\/span> <span class=\"kw3\">csv<\/span>.<span class=\"me1\">reader<\/span><span class=\"br0\">&#40;<\/span>csvfile<span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">for<\/span> row <span class=\"kw1\">in<\/span> datareader:<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">if<\/span> row<span class=\"br0\">&#91;<\/span><span class=\"nu0\">0<\/span><span class=\"br0\">&#93;<\/span> <span class=\"sy0\">!=<\/span> <span class=\"st0\">&quot;cd_nom&quot;<\/span>:<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"co1\">#on recherche le cd_nom dans la table bib_nom pour r\u00e9cup\u00e9rer la valeur id_nom<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cd_nom <span class=\"sy0\">=<\/span> row<span class=\"br0\">&#91;<\/span><span class=\"nu0\">0<\/span><span class=\"br0\">&#93;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cursor.<span class=\"me1\">execute<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;SELECT * FROM taxonomie.bib_noms WHERE cd_nom = %s&quot;<\/span><span class=\"sy0\">,<\/span> <span class=\"br0\">&#40;<\/span>cd_nom<span class=\"sy0\">,<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"co1\">#on indique si la valeur n'existe pas<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; nom <span class=\"sy0\">=<\/span> cursor.<span class=\"me1\">fetchone<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">if<\/span> nom <span class=\"kw1\">is<\/span> <span class=\"kw2\">None<\/span>:<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"co1\">#raise Exception('cd_nom &quot;' + str(cd_nom) + '&quot; introuvable')<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">print<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">'cd_nom &quot;'<\/span> + <span class=\"kw2\">str<\/span><span class=\"br0\">&#40;<\/span>cd_nom<span class=\"br0\">&#41;<\/span> + <span class=\"st0\">'&quot; introuvable ('<\/span>+row<span class=\"br0\">&#91;<\/span><span class=\"nu0\">16<\/span><span class=\"br0\">&#93;<\/span>+<span class=\"st0\">') '<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; nbError +<span class=\"sy0\">=<\/span> <span class=\"nu0\">1<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">else<\/span>:<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"co1\">#ins\u00e9rer les donn\u00e9es<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; id_nom <span class=\"sy0\">=<\/span> nom<span class=\"br0\">&#91;<\/span><span class=\"nu0\">0<\/span><span class=\"br0\">&#93;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cursor.<span class=\"me1\">execute<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;INSERT INTO taxonomie.cor_nom_liste (id_nom, id_liste) VALUES(%s, %s)&quot;<\/span><span class=\"sy0\">,<\/span> <span class=\"br0\">&#40;<\/span>id_nom<span class=\"sy0\">,<\/span> id_liste<span class=\"sy0\">,<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; nbInsert +<span class=\"sy0\">=<\/span> <span class=\"nu0\">1<\/span><br \/>\n<br \/>\n&nbsp; &nbsp; <span class=\"co1\">#commit<\/span><br \/>\n&nbsp; &nbsp; conn.<span class=\"me1\">commit<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">print<\/span><span class=\"br0\">&#40;<\/span><span class=\"kw2\">str<\/span><span class=\"br0\">&#40;<\/span>nbInsert<span class=\"br0\">&#41;<\/span>+<span class=\"st0\">&quot; lignes ins\u00e9r\u00e9es&quot;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">print<\/span><span class=\"br0\">&#40;<\/span><span class=\"kw2\">str<\/span><span class=\"br0\">&#40;<\/span>nbError<span class=\"br0\">&#41;<\/span>+<span class=\"st0\">&quot; lignes ignor\u00e9es&quot;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n<br \/>\n<span class=\"kw1\">except<\/span> <span class=\"br0\">&#40;<\/span><span class=\"kw2\">Exception<\/span><span class=\"sy0\">,<\/span> Error<span class=\"br0\">&#41;<\/span> <span class=\"kw1\">as<\/span> error:<br \/>\n&nbsp; &nbsp; <span class=\"kw1\">print<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;Le script d'import retourne l'erreur : &quot;<\/span><span class=\"sy0\">,<\/span> error<span class=\"br0\">&#41;<\/span><br \/>\n<span class=\"kw1\">finally<\/span>:<br \/>\n&nbsp; &nbsp; <span class=\"kw1\">if<\/span> conn:<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; cursor.<span class=\"me1\">close<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; conn.<span class=\"me1\">close<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><\/div><\/div>\n<p>J&rsquo;en profite pour remercier mon partenaire Iulian de me sortir de ma zone de confort, et qui apr\u00e8s le NodeJs me lance sur Python. Je le remercie aussi de me permettre de me r\u00e9galer sur d&rsquo;autre projets avec l&rsquo;utilisation de Symfony mon framework ador\u00e9 !<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pour marquer la date d&rsquo;une pierre blanche ! Apr\u00e8s plus de 15 ans de bons et loyaux service en PHP (et ce n&rsquo;est pas termin\u00e9), j&rsquo;ai l\u2019occasion de travailler sur mon premier projet Python, et en ce mercredi 15 F\u00e9vrier 2023 j&rsquo;ai d\u00e9velopp\u00e9 mon premier script dans ce langage. Alors oui c&rsquo;est basique mais je [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[2,27],"tags":[],"class_list":["post-632","post","type-post","status-publish","format-standard","hentry","category-developpement","category-python"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Mon premier script Python - Pense b\u00eate d&#039;un d\u00e9veloppeur web<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/numa-bord.com\/miniblog\/mon-premier-script-python\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Mon premier script Python - Pense b\u00eate d&#039;un d\u00e9veloppeur web\" \/>\n<meta property=\"og:description\" content=\"Pour marquer la date d&rsquo;une pierre blanche ! Apr\u00e8s plus de 15 ans de bons et loyaux service en PHP (et ce n&rsquo;est pas termin\u00e9), j&rsquo;ai l\u2019occasion de travailler sur mon premier projet Python, et en ce mercredi 15 F\u00e9vrier 2023 j&rsquo;ai d\u00e9velopp\u00e9 mon premier script dans ce langage. Alors oui c&rsquo;est basique mais je [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/numa-bord.com\/miniblog\/mon-premier-script-python\/\" \/>\n<meta property=\"og:site_name\" content=\"Pense b\u00eate d&#039;un d\u00e9veloppeur web\" \/>\n<meta property=\"article:published_time\" content=\"2023-02-17T21:37:42+00:00\" \/>\n<meta name=\"author\" content=\"Numa\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Numa\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/numa-bord.com\/miniblog\/mon-premier-script-python\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/numa-bord.com\/miniblog\/mon-premier-script-python\/\"},\"author\":{\"name\":\"Numa\",\"@id\":\"https:\/\/numa-bord.com\/miniblog\/#\/schema\/person\/f9d00acd1703f17e5a6895283eb46a7e\"},\"headline\":\"Mon premier script Python\",\"datePublished\":\"2023-02-17T21:37:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/numa-bord.com\/miniblog\/mon-premier-script-python\/\"},\"wordCount\":354,\"commentCount\":0,\"articleSection\":[\"D\u00e9veloppement\",\"Python\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/numa-bord.com\/miniblog\/mon-premier-script-python\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/numa-bord.com\/miniblog\/mon-premier-script-python\/\",\"url\":\"https:\/\/numa-bord.com\/miniblog\/mon-premier-script-python\/\",\"name\":\"Mon premier script Python - Pense b\u00eate d&#039;un d\u00e9veloppeur web\",\"isPartOf\":{\"@id\":\"https:\/\/numa-bord.com\/miniblog\/#website\"},\"datePublished\":\"2023-02-17T21:37:42+00:00\",\"author\":{\"@id\":\"https:\/\/numa-bord.com\/miniblog\/#\/schema\/person\/f9d00acd1703f17e5a6895283eb46a7e\"},\"breadcrumb\":{\"@id\":\"https:\/\/numa-bord.com\/miniblog\/mon-premier-script-python\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/numa-bord.com\/miniblog\/mon-premier-script-python\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/numa-bord.com\/miniblog\/mon-premier-script-python\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/numa-bord.com\/miniblog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mon premier script Python\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/numa-bord.com\/miniblog\/#website\",\"url\":\"https:\/\/numa-bord.com\/miniblog\/\",\"name\":\"Pense b\u00eate d&#039;un d\u00e9veloppeur web\",\"description\":\"(php, javascript, Symfony, Wordpress....)\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/numa-bord.com\/miniblog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/numa-bord.com\/miniblog\/#\/schema\/person\/f9d00acd1703f17e5a6895283eb46a7e\",\"name\":\"Numa\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/f21d1af4658a7106211915940584534c1e0b3eef3f12eb67a697686cad70b64a?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/f21d1af4658a7106211915940584534c1e0b3eef3f12eb67a697686cad70b64a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/f21d1af4658a7106211915940584534c1e0b3eef3f12eb67a697686cad70b64a?s=96&d=mm&r=g\",\"caption\":\"Numa\"},\"url\":\"https:\/\/numa-bord.com\/miniblog\/author\/negonner\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Mon premier script Python - Pense b\u00eate d&#039;un d\u00e9veloppeur web","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/numa-bord.com\/miniblog\/mon-premier-script-python\/","og_locale":"fr_FR","og_type":"article","og_title":"Mon premier script Python - Pense b\u00eate d&#039;un d\u00e9veloppeur web","og_description":"Pour marquer la date d&rsquo;une pierre blanche ! Apr\u00e8s plus de 15 ans de bons et loyaux service en PHP (et ce n&rsquo;est pas termin\u00e9), j&rsquo;ai l\u2019occasion de travailler sur mon premier projet Python, et en ce mercredi 15 F\u00e9vrier 2023 j&rsquo;ai d\u00e9velopp\u00e9 mon premier script dans ce langage. Alors oui c&rsquo;est basique mais je [&hellip;]","og_url":"https:\/\/numa-bord.com\/miniblog\/mon-premier-script-python\/","og_site_name":"Pense b\u00eate d&#039;un d\u00e9veloppeur web","article_published_time":"2023-02-17T21:37:42+00:00","author":"Numa","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"Numa","Dur\u00e9e de lecture estim\u00e9e":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/numa-bord.com\/miniblog\/mon-premier-script-python\/#article","isPartOf":{"@id":"https:\/\/numa-bord.com\/miniblog\/mon-premier-script-python\/"},"author":{"name":"Numa","@id":"https:\/\/numa-bord.com\/miniblog\/#\/schema\/person\/f9d00acd1703f17e5a6895283eb46a7e"},"headline":"Mon premier script Python","datePublished":"2023-02-17T21:37:42+00:00","mainEntityOfPage":{"@id":"https:\/\/numa-bord.com\/miniblog\/mon-premier-script-python\/"},"wordCount":354,"commentCount":0,"articleSection":["D\u00e9veloppement","Python"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/numa-bord.com\/miniblog\/mon-premier-script-python\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/numa-bord.com\/miniblog\/mon-premier-script-python\/","url":"https:\/\/numa-bord.com\/miniblog\/mon-premier-script-python\/","name":"Mon premier script Python - Pense b\u00eate d&#039;un d\u00e9veloppeur web","isPartOf":{"@id":"https:\/\/numa-bord.com\/miniblog\/#website"},"datePublished":"2023-02-17T21:37:42+00:00","author":{"@id":"https:\/\/numa-bord.com\/miniblog\/#\/schema\/person\/f9d00acd1703f17e5a6895283eb46a7e"},"breadcrumb":{"@id":"https:\/\/numa-bord.com\/miniblog\/mon-premier-script-python\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/numa-bord.com\/miniblog\/mon-premier-script-python\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/numa-bord.com\/miniblog\/mon-premier-script-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/numa-bord.com\/miniblog\/"},{"@type":"ListItem","position":2,"name":"Mon premier script Python"}]},{"@type":"WebSite","@id":"https:\/\/numa-bord.com\/miniblog\/#website","url":"https:\/\/numa-bord.com\/miniblog\/","name":"Pense b\u00eate d&#039;un d\u00e9veloppeur web","description":"(php, javascript, Symfony, Wordpress....)","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/numa-bord.com\/miniblog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Person","@id":"https:\/\/numa-bord.com\/miniblog\/#\/schema\/person\/f9d00acd1703f17e5a6895283eb46a7e","name":"Numa","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/secure.gravatar.com\/avatar\/f21d1af4658a7106211915940584534c1e0b3eef3f12eb67a697686cad70b64a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/f21d1af4658a7106211915940584534c1e0b3eef3f12eb67a697686cad70b64a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f21d1af4658a7106211915940584534c1e0b3eef3f12eb67a697686cad70b64a?s=96&d=mm&r=g","caption":"Numa"},"url":"https:\/\/numa-bord.com\/miniblog\/author\/negonner\/"}]}},"_links":{"self":[{"href":"https:\/\/numa-bord.com\/miniblog\/wp-json\/wp\/v2\/posts\/632","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/numa-bord.com\/miniblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/numa-bord.com\/miniblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/numa-bord.com\/miniblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/numa-bord.com\/miniblog\/wp-json\/wp\/v2\/comments?post=632"}],"version-history":[{"count":1,"href":"https:\/\/numa-bord.com\/miniblog\/wp-json\/wp\/v2\/posts\/632\/revisions"}],"predecessor-version":[{"id":633,"href":"https:\/\/numa-bord.com\/miniblog\/wp-json\/wp\/v2\/posts\/632\/revisions\/633"}],"wp:attachment":[{"href":"https:\/\/numa-bord.com\/miniblog\/wp-json\/wp\/v2\/media?parent=632"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/numa-bord.com\/miniblog\/wp-json\/wp\/v2\/categories?post=632"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/numa-bord.com\/miniblog\/wp-json\/wp\/v2\/tags?post=632"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}