{"id":870,"date":"2023-10-18T13:15:09","date_gmt":"2023-10-18T17:15:09","guid":{"rendered":"https:\/\/ve2cuy.com\/?p=870"},"modified":"2024-09-18T10:33:11","modified_gmt":"2024-09-18T14:33:11","slug":"420-5d3-carre-de-sable-du-projet","status":"publish","type":"post","link":"https:\/\/ve2cuy.com\/index.php\/2023\/10\/18\/420-5d3-carre-de-sable-du-projet\/","title":{"rendered":"420-5D3 :\u00a0\u00a0Carr\u00e9 de sable du projet"},"content":{"rendered":"\n<p>Dans les prochaines semaines, vous allez r\u00e9aliser diff\u00e9rents laboratoires qui vont permettre de faire avancer le projet de session <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"845\" height=\"945\" src=\"https:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/sans_box_by_ze_shapyra_dacalep-pre.png\" alt=\"\" class=\"wp-image-880\" style=\"aspect-ratio:0.8941798941798942;width:494px;height:auto\" srcset=\"https:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/sans_box_by_ze_shapyra_dacalep-pre.png 845w, https:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/sans_box_by_ze_shapyra_dacalep-pre-268x300.png 268w, https:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/sans_box_by_ze_shapyra_dacalep-pre-768x859.png 768w\" sizes=\"auto, (max-width: 845px) 100vw, 845px\" \/><\/figure>\n<\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Rappel de la pond\u00e9ration<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Projet complet: 40%\n<ul class=\"wp-block-list\">\n<li>Remise 01 &#8211; semaine 11 : 15%\n<ul class=\"wp-block-list\">\n<li>Laboratoire 01-04<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Remise 02 &#8211; semaine 14 : 15 %\n<ul class=\"wp-block-list\">\n<li>Laboratoire 05 &#8211; 08 <\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Remise 03 &#8211; semaine 15 : 10 %\n<ul class=\"wp-block-list\">\n<li>Laboratoire 09<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Laboratoire 1<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>D\u00e9ployer une VM Linux dans le nuage de google<\/li>\n\n\n\n<li>Installer une cl\u00e9 publique SSH\n<ul class=\"wp-block-list\">\n<li>Sauvegarder en lieu sur, la paire de cl\u00e9s<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Tester la connexion SSH<\/li>\n\n\n\n<li>Installer Oracle 23c (<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">attention au mot de passe<\/mark>)<\/li>\n\n\n\n<li>Installer PHP+Oracle_OCI<\/li>\n\n\n\n<li>Exposer le serveur Web de PHP+Oracle_OCI via un lien HTTPS\n<ul class=\"wp-block-list\">\n<li>Installer un certificat TLS (RSA)\n<ul class=\"wp-block-list\">\n<li>Le difficult\u00e9 ici c&rsquo;est que le serveur Apache roule dans un conteneur qui n&rsquo;a peut-\u00eatre pas les pr\u00e9requis pour utiliser certbot.<\/li>\n\n\n\n<li>Solution possible, utiliser un reverse-proxy tel que <a href=\"https:\/\/traefik.io\/traefik\/\">traffik<\/a> ou <a href=\"https:\/\/nginx.org\">nginx<\/a> pour g\u00e9rer les certificats.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Tester l&rsquo;acc\u00e8s WEB s\u00e9curis\u00e9 avec un petit script php.<\/li>\n\n\n\n<li>Sur le SGBD, cr\u00e9er un utilisateur, avec privil\u00e8ge &lsquo;SYS&rsquo; et un sch\u00e9ma pour le projet (<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">attention au mot de passe<\/mark>)<\/li>\n\n\n\n<li>Sur le SGBD, cr\u00e9er un utilisateur nomm\u00e9 \u00ab\u00a0client&rsquo; avec comme seuls privil\u00e8ges la lecture des objets et l&rsquo;ajout d&rsquo;enregistrements dans les tables.  Note : Il y aura aussi des ajouts via des Duality Views.<\/li>\n\n\n\n<li>En utilisant l&rsquo;utilisateur\/SYS du nouveau sch\u00e9ma:\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<ul class=\"wp-block-list\">\n<li>Cr\u00e9er une table &lsquo;Utilisateurs&rsquo;\n<ul class=\"wp-block-list\">\n<li>ID (Auto, cl\u00e9 primaire)<\/li>\n\n\n\n<li>Nom<\/li>\n\n\n\n<li>Pr\u00e9nom<\/li>\n\n\n\n<li>email (Index, Non Nul)<\/li>\n\n\n\n<li>codePays (cl\u00e9 \u00e9trang\u00e8re)<\/li>\n\n\n\n<li>codeLangue (cl\u00e9 \u00e9trang\u00e8re)<\/li>\n\n\n\n<li>MotDePasseClair<\/li>\n\n\n\n<li>MotDePasseArgon2<\/li>\n\n\n\n<li>MotDePasseSHA256<\/li>\n\n\n\n<li>MotDePasseBLOWFISH (bcrytp)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Ajouter au moins <strong>3 enregistrements<\/strong> dont un compte pour l&rsquo;admin du syst\u00e8me\n<ul class=\"wp-block-list\">\n<li>Encoder manuellement un mot de passe en utilisant la fonction:\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/wiki.php.net\/rfc\/argon2_password_hash\">password_hash(&lsquo;password&rsquo;, PASSWORD_ARGON2I);<\/a><\/li>\n\n\n\n<li>et stocker le mot de passe dans <strong>MotDePasseArgon2<\/strong><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>R\u00e9diger un script php qui retourne au client Web le contenu de la table &lsquo;Utilisateurs&rsquo;.<\/li>\n\n\n\n<li><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">NOTE IMPORTANTE<\/mark><\/strong>: Dans la script php, il faut \u00e9tablir la connexion \u00e0 la PDB avec le compte de l&rsquo;utilisateur &lsquo;<code>client<\/code>&lsquo;.<\/li>\n\n\n\n<li>Tester le script<\/li>\n\n\n\n<li><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"445\" class=\"wp-image-953\" style=\"width: 640px;\" src=\"http:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/Capture-decran-le-2023-10-26-a-17.34.25.png\" alt=\"\" srcset=\"https:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/Capture-decran-le-2023-10-26-a-17.34.25.png 2040w, https:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/Capture-decran-le-2023-10-26-a-17.34.25-300x209.png 300w, https:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/Capture-decran-le-2023-10-26-a-17.34.25-1024x712.png 1024w, https:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/Capture-decran-le-2023-10-26-a-17.34.25-768x534.png 768w, https:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/Capture-decran-le-2023-10-26-a-17.34.25-1536x1068.png 1536w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Cr\u00e9er un d\u00e9p\u00f4t sur un serveur Git (Github, bitbucket) pour le projet\n<ul class=\"wp-block-list\">\n<li>Ajouter un script SQL dans le d\u00e9p\u00f4t qui permettra de recr\u00e9er au besoin, le sch\u00e9ma, les deux utilisateurs, leurs privil\u00e8ges, les tables, index, enregistrements, &#8230;\n<ul class=\"wp-block-list\">\n<li> Il faut pr\u00e9voir les DROP requis.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Tester le script \u00e0 partir du serveur Oracle.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n$motdepasse = 'password';\n    echo '1 - Argon2i hash pour la chaine : ' . password_hash($motdepasse, PASSWORD_ARGON2I);\n    echo '&lt;br\/>2 - SHA256 hash pour la chaine : ' . hash('sha256' , $motdepasse);\n    echo '&lt;br\/>3 - BCRYPT (BLOWFISH) hash pour la chaine : ' . password_hash($motdepasse, PASSWORD_BCRYPT);\n?><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Laboratoire 2 &#8211; Expression <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-luminous-vivid-orange-color\">R\u00e9guli\u00e8re<\/mark><\/h2>\n\n\n\n<p>Programmer un processus client\/serveur qui permet \u00e0 un utilisateur de se connecter \u00e0 l&rsquo;application.  Note: Application WEB.<\/p>\n\n\n\n<p>Les champs suivants doivent-\u00eatre saisis et valid\u00e9s:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>email \n<ul class=\"wp-block-list\">\n<li>Cot\u00e9 client, valider la forme avec une <a href=\"https:\/\/support.google.com\/a\/answer\/1371415?hl=fr\">expression r\u00e9guli\u00e8re<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Mot de passe\n<ul class=\"wp-block-list\">\n<li>Cot\u00e9 client, valider la forme avec une expression r\u00e9guli\u00e8re (Au moins A..Za..Z0..9#!$%?&amp;*  += 6 car)<\/li>\n\n\n\n<li>Si valide, POST vers serveur et valider:\n<ul class=\"wp-block-list\">\n<li>email pr\u00e9sent<\/li>\n\n\n\n<li>password_hash(mot de passe saisi et valid\u00e9, PASSWORD_ARGON2I) = MotDePasseAlgo2\n<ul class=\"wp-block-list\">\n<li><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">NOTE<\/mark>: Il est aussi possible d&rsquo;utiliser la fonction php &lsquo;<strong><code>password_verify()<\/code><\/strong>&lsquo;<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"794\" src=\"https:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/Capture-decran-le-2023-10-26-a-18.06.16-1024x794.png\" alt=\"\" class=\"wp-image-955\" style=\"aspect-ratio:1.2896725440806045;width:680px;height:auto\" srcset=\"https:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/Capture-decran-le-2023-10-26-a-18.06.16-1024x794.png 1024w, https:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/Capture-decran-le-2023-10-26-a-18.06.16-300x233.png 300w, https:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/Capture-decran-le-2023-10-26-a-18.06.16-768x595.png 768w, https:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/Capture-decran-le-2023-10-26-a-18.06.16-1536x1191.png 1536w, https:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/Capture-decran-le-2023-10-26-a-18.06.16.png 1548w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Laboratoire 3 &#8211; <a href=\"https:\/\/fiches-pratiques.silicon.fr\/Thematique\/cybersecurite-1338\/FichePratique\/Hashage-ou-hashing-de-quoi-s-agit-il--365789.htm\">Hachage<\/a> et ajout dans la BD<\/h2>\n\n\n\n<p>Programmer un processus client\/serveur qui permet \u00e0 un utilisateur de se s&rsquo;inscrire \u00e0 l&rsquo;application.  Note: Application WEB.<\/p>\n\n\n\n<p><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">Le sch\u00e9ma &lsquo;client&rsquo; doit-\u00eatre utilis\u00e9 pour la connexion \u00e0 la BD.<\/mark><\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Un formulaire Web qui permet de saisir:\n<ul class=\"wp-block-list\">\n<li>Nom (Non vide)<\/li>\n\n\n\n<li>Pr\u00e9nom (Non Vide)<\/li>\n\n\n\n<li>email (Non vide et valide &#8211; Regex)<\/li>\n\n\n\n<li>Mot de passe (Non vide et valide &#8211; Regex)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Ajouter le nouvel utilisateur seulement si les champs sont valides et que l&rsquo;adresse de courriel n&rsquo;est pas d\u00e9j\u00e0 dans la table des utilisateurs.\n<ul class=\"wp-block-list\">\n<li>Le mot de passe doit \u00eatre stock\u00e9 en\n<ul class=\"wp-block-list\">\n<li>clair<\/li>\n\n\n\n<li>SHA256<\/li>\n\n\n\n<li>Bcrypt (Blowfish)<\/li>\n\n\n\n<li><a href=\"https:\/\/wiki.php.net\/rfc\/argon2_password_hash\">Argon2<\/a> (avec les param\u00e8tres par d\u00e9faut)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>NOTE: Les validations peuvent-\u00eatre faites soit du cot\u00e9 client (javascript) ou cot\u00e9 serveur (php\/framework &#8230;).  C&rsquo;est \u00e0 votre choix.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"940\" height=\"1024\" src=\"https:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/Capture-decran-le-2023-10-26-a-18.07.56-940x1024.png\" alt=\"\" class=\"wp-image-956\" style=\"aspect-ratio:0.91796875;width:680px;height:auto\" srcset=\"https:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/Capture-decran-le-2023-10-26-a-18.07.56-940x1024.png 940w, https:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/Capture-decran-le-2023-10-26-a-18.07.56-275x300.png 275w, https:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/Capture-decran-le-2023-10-26-a-18.07.56-768x837.png 768w, https:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/Capture-decran-le-2023-10-26-a-18.07.56.png 1404w\" sizes=\"auto, (max-width: 940px) 100vw, 940px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Laboratoire 4 &#8211; Vuln\u00e9rabilit\u00e9 des mots de passe<\/h2>\n\n\n\n<p>\u00c9crire une application Web qui affiche la liste des utilisateurs:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pr\u00e9nom + nom<\/li>\n\n\n\n<li>email<\/li>\n\n\n\n<li>Mot de passe clair<\/li>\n\n\n\n<li>Mot de passe SHA256<\/li>\n\n\n\n<li>Mot de passe Bcrypt<\/li>\n\n\n\n<li>Mot de passe Argon2<\/li>\n<\/ul>\n\n\n\n<p>Tester les mots de passe courants encod\u00e9s en SHA256, Bcrypt et Argon2 avec l&rsquo;aide de &lsquo;rainbow table&rsquo;. Par exemple, <a href=\"https:\/\/crackstation.net\">crackstation<\/a><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"712\" src=\"http:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/Capture-decran-le-2023-10-26-a-17.34.25-1024x712.png\" alt=\"\" class=\"wp-image-953\" style=\"aspect-ratio:1.4382022471910112;width:715px;height:auto\" srcset=\"https:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/Capture-decran-le-2023-10-26-a-17.34.25-1024x712.png 1024w, https:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/Capture-decran-le-2023-10-26-a-17.34.25-300x209.png 300w, https:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/Capture-decran-le-2023-10-26-a-17.34.25-768x534.png 768w, https:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/Capture-decran-le-2023-10-26-a-17.34.25-1536x1068.png 1536w, https:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/Capture-decran-le-2023-10-26-a-17.34.25.png 2040w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Extra &#8211; Laboratoire E1 &#8211; Connexion \u00e0 la BD via php<\/h2>\n\n\n\n<p>\u00c0 partir de la BD O.T. disponible sur le serveur du D139, afficher le contenu de la table employ\u00e9s dans une page Web:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"860\" height=\"1024\" src=\"https:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/Capture-decran-le-2023-10-18-a-12.19.35-860x1024.png\" alt=\"\" class=\"wp-image-871\" style=\"aspect-ratio:0.83984375;width:645px;height:auto\" srcset=\"https:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/Capture-decran-le-2023-10-18-a-12.19.35-860x1024.png 860w, https:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/Capture-decran-le-2023-10-18-a-12.19.35-252x300.png 252w, https:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/Capture-decran-le-2023-10-18-a-12.19.35-768x914.png 768w, https:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/Capture-decran-le-2023-10-18-a-12.19.35.png 1272w\" sizes=\"auto, (max-width: 860px) 100vw, 860px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">NOTE<\/mark><\/strong>: Le script serveur doit rouler dans un conteneur \u00e0 partir de votre poste de travail.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Extra &#8211; Laboratoire E2 &#8211; Expressions r\u00e9guli\u00e8res<\/h2>\n\n\n\n<p>Programmer un processus client\/serveur qui permet d&rsquo;ajouter un employ\u00e9 dans la table employ\u00e9s.<\/p>\n\n\n\n<p>Les champs suivants doivent-\u00eatre saisis et valid\u00e9s:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Nom et pr\u00e9nom requis<\/li>\n\n\n\n<li>email requis (cot\u00e9 client, valider la forme avec une expression r\u00e9guli\u00e8re (abc@def.ghi) et s&rsquo;assurer qu&rsquo;il est unique dans la BD)<\/li>\n\n\n\n<li>Date d&#8217;embauche requise et valid\u00e9e<\/li>\n\n\n\n<li>Num\u00e9ro de t\u00e9l\u00e9phone (valider la forme avec une expression r\u00e9guli\u00e8re : 999 999-9999)<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Laboratoire 5 &#8211; View et Duality View<\/h2>\n\n\n\n<p>5.1 &#8211; Utiliser une <a href=\"https:\/\/ve2cuy.com\/index.php\/420-5d3-bd-vues\/\" data-type=\"page\" data-id=\"680\">vue (view)<\/a> dans une requ\u00eate SQL pour retourner un contenu \u00e0 afficher cot\u00e9 client:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"826\" src=\"https:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/Capture-decran-le-2023-10-26-a-17.36.54-1024x826.png\" alt=\"\" class=\"wp-image-957\" srcset=\"https:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/Capture-decran-le-2023-10-26-a-17.36.54-1024x826.png 1024w, https:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/Capture-decran-le-2023-10-26-a-17.36.54-300x242.png 300w, https:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/Capture-decran-le-2023-10-26-a-17.36.54-768x620.png 768w, https:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/Capture-decran-le-2023-10-26-a-17.36.54-1536x1239.png 1536w, https:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/Capture-decran-le-2023-10-26-a-17.36.54-2048x1652.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>5.2 &#8211; Utiliser une <a href=\"https:\/\/ve2cuy.com\/index.php\/420-5d3-bd-vues\/\" data-type=\"page\" data-id=\"680\">Duality View<\/a> pour obtenir les donn\u00e9es en format JSON.<\/p>\n\n\n\n<p>Par exemple,<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">create or replace json relational duality view pays_dv as\n    countries @insert @update @delete\n    {\n        idPays   : COUNTRY_ID\n        pNom     : COUNTRY_NAME \n        idRegion : REGION_ID\n    \n    };  \n--- Exemple d'utilisation\nselect * from pays_dv fetch first 5 rows only;\n\nRetournera:<\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"128\" src=\"http:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/Capture-decran-le-2023-10-07-a-10.44.33-1024x128.png\" alt=\"\" class=\"wp-image-834\" srcset=\"https:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/Capture-decran-le-2023-10-07-a-10.44.33-1024x128.png 1024w, https:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/Capture-decran-le-2023-10-07-a-10.44.33-300x38.png 300w, https:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/Capture-decran-le-2023-10-07-a-10.44.33-768x96.png 768w, https:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/Capture-decran-le-2023-10-07-a-10.44.33-1536x192.png 1536w, https:\/\/ve2cuy.com\/wp-content\/uploads\/2023\/10\/Capture-decran-le-2023-10-07-a-10.44.33.png 1932w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Laboratoire 6 &#8211; Fonctions personnalis\u00e9es<\/h2>\n\n\n\n<p>Utiliser au moins 2 <a href=\"https:\/\/ve2cuy.com\/index.php\/420-5d5-bd-les-fonctions\/\" data-type=\"page\" data-id=\"690\">fonctions<\/a> SQL personnalis\u00e9es dans le projet.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Laboratoire 7 &#8211; Proc\u00e9dures stock\u00e9es PL\/SQL<\/h2>\n\n\n\n<p>Utiliser au moins 2 <a href=\"https:\/\/ve2cuy.com\/index.php\/420-5d3-bd-procedure-stockee\/\" data-type=\"page\" data-id=\"692\">proc\u00e9dures stock\u00e9es<\/a> PL\/SQL dans le projet.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Laboratoire 8 &#8211; D\u00e9clencheurs<\/h2>\n\n\n\n<p>Utiliser au moins un <a href=\"https:\/\/ve2cuy.com\/index.php\/420-5d3-bd-declencheur\/\" data-type=\"page\" data-id=\"697\">d\u00e9clencheur<\/a> dans le projet.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Laboratoire 9 &#8211; Tests de p\u00e9n\u00e9tration : PenTest<\/h2>\n\n\n\n<p>\u00c0 l&rsquo;aide de Kali Linux, tester la s\u00e9curit\u00e9 du SID de votre serveur Oracle.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dans les prochaines semaines, vous allez r\u00e9aliser diff\u00e9rents laboratoires qui vont permettre de faire avancer le projet de session Rappel de la pond\u00e9ration Laboratoire 1 Laboratoire 2 &#8211; Expression R\u00e9guli\u00e8re Programmer un processus client\/serveur qui permet \u00e0 un utilisateur de se connecter \u00e0 l&rsquo;application. Note: Application WEB. Les champs suivants doivent-\u00eatre saisis et valid\u00e9s: Laboratoire [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-870","post","type-post","status-publish","format-standard","hentry","category-non-classe"],"_links":{"self":[{"href":"https:\/\/ve2cuy.com\/index.php\/wp-json\/wp\/v2\/posts\/870","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ve2cuy.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ve2cuy.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ve2cuy.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ve2cuy.com\/index.php\/wp-json\/wp\/v2\/comments?post=870"}],"version-history":[{"count":27,"href":"https:\/\/ve2cuy.com\/index.php\/wp-json\/wp\/v2\/posts\/870\/revisions"}],"predecessor-version":[{"id":1048,"href":"https:\/\/ve2cuy.com\/index.php\/wp-json\/wp\/v2\/posts\/870\/revisions\/1048"}],"wp:attachment":[{"href":"https:\/\/ve2cuy.com\/index.php\/wp-json\/wp\/v2\/media?parent=870"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ve2cuy.com\/index.php\/wp-json\/wp\/v2\/categories?post=870"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ve2cuy.com\/index.php\/wp-json\/wp\/v2\/tags?post=870"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}