{"id":2489,"date":"2020-06-04T14:44:49","date_gmt":"2020-06-04T12:44:49","guid":{"rendered":"https:\/\/www.mathweb.fr\/euclide\/?p=2489"},"modified":"2021-04-29T08:34:39","modified_gmt":"2021-04-29T06:34:39","slug":"generation-aleatoire-dun-identifiant-en-python","status":"publish","type":"post","link":"https:\/\/www.mathweb.fr\/euclide\/2020\/06\/04\/generation-aleatoire-dun-identifiant-en-python\/","title":{"rendered":"G\u00e9n\u00e9ration al\u00e9atoire d&rsquo;un identifiant en Python"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">G\u00e9n\u00e9ration al\u00e9atoire d&rsquo;un identifiant en Python. Vous le savez peut-\u00eatre si vous consultez souvent ce site, j&rsquo;adore g\u00e9n\u00e9rer automatiquement (voir <a rel=\"noreferrer noopener\" href=\"https:\/\/www.mathweb.fr\/euclide\/generateur-de-labyrinthes\/\" target=\"_blank\">cet article<\/a> ou encore <a rel=\"noreferrer noopener\" href=\"https:\/\/www.mathweb.fr\/euclide\/generateur-de-grilles-de-sudoku\/\" target=\"_blank\">celui-ci<\/a>). Dans cet article, je vais parler de g\u00e9n\u00e9ration al\u00e9atoire d&rsquo;identifiant (unique et multiple) en Python.<\/p>\n\n\n\n<!--more-->\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_86 counter-hierarchy ez-toc-counter ez-toc-white ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Au menu sur cette page...<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.mathweb.fr\/euclide\/2020\/06\/04\/generation-aleatoire-dun-identifiant-en-python\/#Generer_un_identifiant_simple\" >G\u00e9n\u00e9rer un identifiant simple<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.mathweb.fr\/euclide\/2020\/06\/04\/generation-aleatoire-dun-identifiant-en-python\/#Generation_dun_identifiant_formate\" >G\u00e9n\u00e9ration d&rsquo;un identifiant format\u00e9<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.mathweb.fr\/euclide\/2020\/06\/04\/generation-aleatoire-dun-identifiant-en-python\/#Generation_aleatoire_dun_dictionnaire_didentifiants_uniques_en_Python\" >G\u00e9n\u00e9ration al\u00e9atoire d&rsquo;un dictionnaire d&rsquo;identifiants uniques en Python<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Generer_un_identifiant_simple\"><\/span>G\u00e9n\u00e9rer un identifiant simple<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Nous avons besoin du module <em>random<\/em> et de sa fonction <em>choice<\/em>(liste), qui permet de choisir al\u00e9atoirement un \u00e9l\u00e9ment dans la liste mise en argument.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dans un premier temps, il nous faut construire un <em>alphabet<\/em>, c&rsquo;est-\u00e0-dire une liste de caract\u00e8res dans laquelle nous choisirons les composants de l&rsquo;identifiant. J&rsquo;ai choisi de construire cet alphabet de la mani\u00e8re suivante:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"dracula\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">alphabet = [ chr(i) for i in range(33,126) if i != 92 and i != 96 ]<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">qui donne la liste suivante :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">['!', '\"', '#', '$', '%', '&amp;', \"'\", '(', ')', '*', '+', ',', '-', '.', '\/', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', '&lt;', '=', '&gt;', '?', '@', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '[', ']', '^', '_', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}']<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Notez que j&rsquo;ai choisi d&rsquo;enlever les caract\u00e8res de codes ASCII 92 et 96 (\u00e0 savoir les caract\u00e8res &lsquo;\\&rsquo; et &lsquo;`&rsquo; que je ne trouve pas tr\u00e8s lisibles).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">il suffit ensuite de d\u00e9terminer le longueur de l&rsquo;identifiant et de construire ce dernier en fonction de la longueur choisie:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"dracula\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">from random import choice\n\n# fonction de g\u00e9n\u00e9ration\ndef generate_id(n, alphabet):\n    id = ''\n    for i in range(n):\n        id += choice( alphabet )\n        \n    return id\n \n \nalphabet = [ chr(i) for i in range(33,126) if i != 92 and i != 96 ]\n    \nprint( generate_id(100,alphabet) )\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">On voit alors s&rsquo;afficher par exemple:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Z7+Gzr3F&amp;)FNe2CQEC9_=f+vA\/0Io^ME!PTtuP2owlQLVmr3,76a;zIE3A}et+OWY(\"4C}C1K*uB.[e4vOK.%&amp;Z3v!!PN1kvH9+S<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Generation_dun_identifiant_formate\"><\/span>G\u00e9n\u00e9ration d&rsquo;un identifiant format\u00e9<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">On souhaite que l\u2019identifiant ait un certain formatage, par exemple:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">XXXXX-XXXXX-XXXXX-XXXXX<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">o\u00f9 \u00ab\u00a0X\u00a0\u00bb repr\u00e9sente un chiffre, une lettre majuscule ou une lettre minuscule (donc exit les caract\u00e8res cheloux !). Il faudra alors changer l&rsquo;alphabet et en faisant par exemple:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"dracula\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">from random import choice\n\n# fonction de g\u00e9n\u00e9ration\ndef generate_id(n, alphabet):\n    id = ''\n    for i in range(n):\n        id += choice( alphabet )\n        \n    return id\n\n# fonction g\u00e9n\u00e9ration id format\u00e9\ndef generate_id_formated(alphabet):\n    id = ''\n    for i in range(4):\n        if id != '':\n            id += '-'\n        for j in range(5):\n            id += choice( alphabet )\n            \n    return id\n \nalphabet = [ chr(i) for i in range(48,123) if i &lt;= 57 or (i >= 65 and i &lt;=90) or (i >= 97) ]\n    \nprint( generate_id_formated(alphabet) )<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">On voit alors appara\u00eetre par exemple:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">rnvnz-a0CAD-phjpA-5tYaU<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Generation_aleatoire_dun_dictionnaire_didentifiants_uniques_en_Python\"><\/span>G\u00e9n\u00e9ration al\u00e9atoire d&rsquo;un dictionnaire d&rsquo;identifiants uniques en Python<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Voici le but ultime de cet article : g\u00e9n\u00e9rer un dictionnaire. Les cl\u00e9s seront des noms (par exemple) et les valeurs, des identifiants format\u00e9s uniques. Genre:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">{\n  'Jean' : 'rnvnz-a0CAD-phjpA-5tYaU',\n  'Paul' : 'lDRVD-WTgLu-W4EPi-suIuT',\n  'In\u00e8s' : 'xwGqW-1O9vy-KXJMD-yOmsg'\n}<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">On peut alors imaginer un programme ressemblant \u00e0 celui-ci:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"dracula\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">from random import choice\n\n# fonction de g\u00e9n\u00e9ration\ndef generate_id(n, alphabet):\n    id = ''\n    for i in range(n):\n        id += choice( alphabet )\n        \n    return id\n\n# fonction g\u00e9n\u00e9ration id format\u00e9\ndef generate_id_formated(alphabet):\n    id = ''\n    for i in range(4):\n        if id != '':\n            id += '-'\n        for j in range(5):\n            id += choice( alphabet )\n            \n    return id\n \nalphabet = [ chr(i) for i in range(48,123) if i &lt;= 57 or (i >= 65 and i &lt;=90) or (i >= 97) ]\n\nid_dict = dict()\nliste_noms = [ 'Jean' , 'Paul' , 'In\u00e8s']\n\nfor noms in liste_noms:\n    identifiant = generate_id_formated(alphabet)\n    presence = False\n    for key,value in id_dict.items():\n        if value == identifiant:\n            presence == True\n            \n    if presence == False:\n        id_dict[noms] = generate_id_formated(alphabet)\n        \nfor key,value in id_dict.items():\n    print('{} : {}'.format(key,value))<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">qui affiche:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Jean : OKCA2-55ktW-YSWLr-u7cKR\nPaul : ypXap-EskMB-9uEvj-sJrPP\nIn\u00e8s : 8p1Jk-2GG5V-xAcs4-nefyL<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Voil\u00e0 ! Je pense que vous avez de bonnes bases pour laisser d\u00e9sormais place \u00e0 votre imagination. Et si vous souhaitez quelque chose que vous n&rsquo;arrivez pas \u00e0 faire, peut-\u00eatre pourriez-vous prendre un <a href=\"https:\/\/courspasquet.fr\" target=\"_blank\" rel=\"noreferrer noopener\">cours<\/a> ?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>G\u00e9n\u00e9ration al\u00e9atoire d&rsquo;un identifiant en Python. Vous le savez peut-\u00eatre si vous consultez souvent ce site, j&rsquo;adore g\u00e9n\u00e9rer automatiquement (voir cet article ou encore celui-ci). Dans cet article, je vais parler de g\u00e9n\u00e9ration al\u00e9atoire d&rsquo;identifiant (unique et multiple) en Python.<\/p>\n","protected":false},"author":1,"featured_media":2495,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[67,205,206],"class_list":["post-2489","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python","tag-aleatoire","tag-generation","tag-identifiant"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>G\u00e9n\u00e9ration al\u00e9atoire d&#039;un identifiant en Python - Mathweb.fr<\/title>\n<meta name=\"description\" content=\"G\u00e9n\u00e9ration al\u00e9atoire en Python d&#039;identifiants uniques et formatt\u00e9s selon une certaine norme, puis stockage dans un dictionnaire.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.mathweb.fr\/euclide\/2020\/06\/04\/generation-aleatoire-dun-identifiant-en-python\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"G\u00e9n\u00e9ration al\u00e9atoire d&#039;un identifiant en Python - Mathweb.fr\" \/>\n<meta property=\"og:description\" content=\"G\u00e9n\u00e9ration al\u00e9atoire en Python d&#039;identifiants uniques et formatt\u00e9s selon une certaine norme, puis stockage dans un dictionnaire.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mathweb.fr\/euclide\/2020\/06\/04\/generation-aleatoire-dun-identifiant-en-python\/\" \/>\n<meta property=\"og:site_name\" content=\"Mathweb.fr\" \/>\n<meta property=\"article:published_time\" content=\"2020-06-04T12:44:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-04-29T06:34:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2020\/06\/generation-identifiant-python.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1278\" \/>\n\t<meta property=\"og:image:height\" content=\"566\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"St\u00e9phane Pasquet\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"St\u00e9phane Pasquet\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2020\\\/06\\\/04\\\/generation-aleatoire-dun-identifiant-en-python\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2020\\\/06\\\/04\\\/generation-aleatoire-dun-identifiant-en-python\\\/\"},\"author\":{\"name\":\"St\u00e9phane Pasquet\",\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/#\\\/schema\\\/person\\\/e4d3bb07968238378f0d5052a70dcd69\"},\"headline\":\"G\u00e9n\u00e9ration al\u00e9atoire d&rsquo;un identifiant en Python\",\"datePublished\":\"2020-06-04T12:44:49+00:00\",\"dateModified\":\"2021-04-29T06:34:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2020\\\/06\\\/04\\\/generation-aleatoire-dun-identifiant-en-python\\\/\"},\"wordCount\":336,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/#\\\/schema\\\/person\\\/e4d3bb07968238378f0d5052a70dcd69\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2020\\\/06\\\/04\\\/generation-aleatoire-dun-identifiant-en-python\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/generation-identifiant-python.jpg\",\"keywords\":[\"al\u00e9atoire\",\"g\u00e9n\u00e9ration\",\"identifiant\"],\"articleSection\":[\"Python\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2020\\\/06\\\/04\\\/generation-aleatoire-dun-identifiant-en-python\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2020\\\/06\\\/04\\\/generation-aleatoire-dun-identifiant-en-python\\\/\",\"url\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2020\\\/06\\\/04\\\/generation-aleatoire-dun-identifiant-en-python\\\/\",\"name\":\"G\u00e9n\u00e9ration al\u00e9atoire d'un identifiant en Python - Mathweb.fr\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2020\\\/06\\\/04\\\/generation-aleatoire-dun-identifiant-en-python\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2020\\\/06\\\/04\\\/generation-aleatoire-dun-identifiant-en-python\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/generation-identifiant-python.jpg\",\"datePublished\":\"2020-06-04T12:44:49+00:00\",\"dateModified\":\"2021-04-29T06:34:39+00:00\",\"description\":\"G\u00e9n\u00e9ration al\u00e9atoire en Python d'identifiants uniques et formatt\u00e9s selon une certaine norme, puis stockage dans un dictionnaire.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2020\\\/06\\\/04\\\/generation-aleatoire-dun-identifiant-en-python\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2020\\\/06\\\/04\\\/generation-aleatoire-dun-identifiant-en-python\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2020\\\/06\\\/04\\\/generation-aleatoire-dun-identifiant-en-python\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/generation-identifiant-python.jpg\",\"contentUrl\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/generation-identifiant-python.jpg\",\"width\":1278,\"height\":566,\"caption\":\"g\u00e9n\u00e9ration al\u00e9atoire python\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2020\\\/06\\\/04\\\/generation-aleatoire-dun-identifiant-en-python\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"G\u00e9n\u00e9ration al\u00e9atoire d&rsquo;un identifiant en Python\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/#website\",\"url\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/\",\"name\":\"Mathweb.fr\",\"description\":\"Math\u00e9matiques, LaTeX et Python\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/#\\\/schema\\\/person\\\/e4d3bb07968238378f0d5052a70dcd69\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/#\\\/schema\\\/person\\\/e4d3bb07968238378f0d5052a70dcd69\",\"name\":\"St\u00e9phane Pasquet\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-logo-mathweb.webp\",\"url\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-logo-mathweb.webp\",\"contentUrl\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-logo-mathweb.webp\",\"width\":74,\"height\":77,\"caption\":\"St\u00e9phane Pasquet\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-logo-mathweb.webp\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"G\u00e9n\u00e9ration al\u00e9atoire d'un identifiant en Python - Mathweb.fr","description":"G\u00e9n\u00e9ration al\u00e9atoire en Python d'identifiants uniques et formatt\u00e9s selon une certaine norme, puis stockage dans un dictionnaire.","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:\/\/www.mathweb.fr\/euclide\/2020\/06\/04\/generation-aleatoire-dun-identifiant-en-python\/","og_locale":"fr_FR","og_type":"article","og_title":"G\u00e9n\u00e9ration al\u00e9atoire d'un identifiant en Python - Mathweb.fr","og_description":"G\u00e9n\u00e9ration al\u00e9atoire en Python d'identifiants uniques et formatt\u00e9s selon une certaine norme, puis stockage dans un dictionnaire.","og_url":"https:\/\/www.mathweb.fr\/euclide\/2020\/06\/04\/generation-aleatoire-dun-identifiant-en-python\/","og_site_name":"Mathweb.fr","article_published_time":"2020-06-04T12:44:49+00:00","article_modified_time":"2021-04-29T06:34:39+00:00","og_image":[{"width":1278,"height":566,"url":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2020\/06\/generation-identifiant-python.jpg","type":"image\/jpeg"}],"author":"St\u00e9phane Pasquet","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"St\u00e9phane Pasquet","Dur\u00e9e de lecture estim\u00e9e":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.mathweb.fr\/euclide\/2020\/06\/04\/generation-aleatoire-dun-identifiant-en-python\/#article","isPartOf":{"@id":"https:\/\/www.mathweb.fr\/euclide\/2020\/06\/04\/generation-aleatoire-dun-identifiant-en-python\/"},"author":{"name":"St\u00e9phane Pasquet","@id":"https:\/\/www.mathweb.fr\/euclide\/#\/schema\/person\/e4d3bb07968238378f0d5052a70dcd69"},"headline":"G\u00e9n\u00e9ration al\u00e9atoire d&rsquo;un identifiant en Python","datePublished":"2020-06-04T12:44:49+00:00","dateModified":"2021-04-29T06:34:39+00:00","mainEntityOfPage":{"@id":"https:\/\/www.mathweb.fr\/euclide\/2020\/06\/04\/generation-aleatoire-dun-identifiant-en-python\/"},"wordCount":336,"commentCount":0,"publisher":{"@id":"https:\/\/www.mathweb.fr\/euclide\/#\/schema\/person\/e4d3bb07968238378f0d5052a70dcd69"},"image":{"@id":"https:\/\/www.mathweb.fr\/euclide\/2020\/06\/04\/generation-aleatoire-dun-identifiant-en-python\/#primaryimage"},"thumbnailUrl":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2020\/06\/generation-identifiant-python.jpg","keywords":["al\u00e9atoire","g\u00e9n\u00e9ration","identifiant"],"articleSection":["Python"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.mathweb.fr\/euclide\/2020\/06\/04\/generation-aleatoire-dun-identifiant-en-python\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.mathweb.fr\/euclide\/2020\/06\/04\/generation-aleatoire-dun-identifiant-en-python\/","url":"https:\/\/www.mathweb.fr\/euclide\/2020\/06\/04\/generation-aleatoire-dun-identifiant-en-python\/","name":"G\u00e9n\u00e9ration al\u00e9atoire d'un identifiant en Python - Mathweb.fr","isPartOf":{"@id":"https:\/\/www.mathweb.fr\/euclide\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.mathweb.fr\/euclide\/2020\/06\/04\/generation-aleatoire-dun-identifiant-en-python\/#primaryimage"},"image":{"@id":"https:\/\/www.mathweb.fr\/euclide\/2020\/06\/04\/generation-aleatoire-dun-identifiant-en-python\/#primaryimage"},"thumbnailUrl":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2020\/06\/generation-identifiant-python.jpg","datePublished":"2020-06-04T12:44:49+00:00","dateModified":"2021-04-29T06:34:39+00:00","description":"G\u00e9n\u00e9ration al\u00e9atoire en Python d'identifiants uniques et formatt\u00e9s selon une certaine norme, puis stockage dans un dictionnaire.","breadcrumb":{"@id":"https:\/\/www.mathweb.fr\/euclide\/2020\/06\/04\/generation-aleatoire-dun-identifiant-en-python\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mathweb.fr\/euclide\/2020\/06\/04\/generation-aleatoire-dun-identifiant-en-python\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.mathweb.fr\/euclide\/2020\/06\/04\/generation-aleatoire-dun-identifiant-en-python\/#primaryimage","url":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2020\/06\/generation-identifiant-python.jpg","contentUrl":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2020\/06\/generation-identifiant-python.jpg","width":1278,"height":566,"caption":"g\u00e9n\u00e9ration al\u00e9atoire python"},{"@type":"BreadcrumbList","@id":"https:\/\/www.mathweb.fr\/euclide\/2020\/06\/04\/generation-aleatoire-dun-identifiant-en-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.mathweb.fr\/euclide\/"},{"@type":"ListItem","position":2,"name":"G\u00e9n\u00e9ration al\u00e9atoire d&rsquo;un identifiant en Python"}]},{"@type":"WebSite","@id":"https:\/\/www.mathweb.fr\/euclide\/#website","url":"https:\/\/www.mathweb.fr\/euclide\/","name":"Mathweb.fr","description":"Math\u00e9matiques, LaTeX et Python","publisher":{"@id":"https:\/\/www.mathweb.fr\/euclide\/#\/schema\/person\/e4d3bb07968238378f0d5052a70dcd69"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.mathweb.fr\/euclide\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":["Person","Organization"],"@id":"https:\/\/www.mathweb.fr\/euclide\/#\/schema\/person\/e4d3bb07968238378f0d5052a70dcd69","name":"St\u00e9phane Pasquet","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2025\/06\/cropped-logo-mathweb.webp","url":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2025\/06\/cropped-logo-mathweb.webp","contentUrl":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2025\/06\/cropped-logo-mathweb.webp","width":74,"height":77,"caption":"St\u00e9phane Pasquet"},"logo":{"@id":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2025\/06\/cropped-logo-mathweb.webp"}}]}},"_links":{"self":[{"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/posts\/2489","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/comments?post=2489"}],"version-history":[{"count":0,"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/posts\/2489\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/media\/2495"}],"wp:attachment":[{"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/media?parent=2489"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/categories?post=2489"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/tags?post=2489"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}