# django_session

session_key: wmb8npvoz00eh3xeul49jzvoqlxrsa64
expire_date: 2024-06-24 16:00:18.783910
session_data:
  .eJxVjDEOAiEQRe9CbQgMImBp7xnIMAyyaiBZdivj3XWTLbT9773_EhHXpcZ18BynLM5Ci8PvlpAe3DaQ79huXVJvyzwluSlyp0Nee-bnZXf_DiqO-q0tcQnJaWfhiADh5IIOGdloD1azMZYUQNFKeWZMVJIKvhB7C9aRD-L9Ac1PN30:1sGhRS:sXNTPQ1ZyIL80jyhDP732LWzFBPGHJIpA7cR1N7x4HA


session_key: 2jwfvwnn9d0g6kncfozgkjg6magti1nm
expire_date: 2024-07-03 09:56:11.188971
session_data:
  .eJxVjDsOwjAQBe_iGllrGf8o6TmDtbve4ABypDipIu4OkVJA-2bmbSrjutS8dpnzWNRFGXX63Qj5KW0H5YHtPmme2jKPpHdFH7Tr21TkdT3cv4OKvX5rHooEgBjcAJHOKCZZ41LyVqwHYAJb0CeEUBhjcsSMIIGcdcLBkXp_AON-OCw:1sJs31:Nwe3pmc5SPkVlIOcGtJu_RaEU6V8K4tB39x7eRWJ3qA


session_key: qra9htxpntgcxej0q9l56b2q4wny2xxs
expire_date: 2024-09-27 08:21:12.359844
session_data:
  .eJxVjDsOwjAQBe_iGllrGf8o6TmDtbve4ABypDipIu4OkVJA-2bmbSrjutS8dpnzWNRFGXX63Qj5KW0H5YHtPmme2jKPpHdFH7Tr21TkdT3cv4OKvX5rHooEgBjcAJHOKCZZ41LyVqwHYAJb0CeEUBhjcsSMIIGcdcLBkXp_AON-OCw:1sp1YG:cYTEAyMdy2u3jAhK7HZOUwfH7O3NzwIs4qIk1Rpmd7M


session_key: rhk5if3ebm3fy5hoogxh6wk6zvaj6ud4
expire_date: 2024-10-15 09:53:31.803613
session_data:
  .eJxVjDsOwjAQBe_iGllrGf8o6TmDtbve4ABypDipIu4OkVJA-2bmbSrjutS8dpnzWNRFGXX63Qj5KW0H5YHtPmme2jKPpHdFH7Tr21TkdT3cv4OKvX5rHooEgBjcAJHOKCZZ41LyVqwHYAJb0CeEUBhjcsSMIIGcdcLBkXp_AON-OCw:1svZZT:56xa5Bk7fQ7WaIAbc53yPUiYW4lgolDzXMHEpl73Nq8


session_key: 2nzghhc003129fxgam25udup1hjdoywq
expire_date: 2024-12-12 10:04:33.131325
session_data:
  .eJxVjDsOwjAQBe_iGllrGf8o6TmDtbve4ABypDipIu4OkVJA-2bmbSrjutS8dpnzWNRFGXX63Qj5KW0H5YHtPmme2jKPpHdFH7Tr21TkdT3cv4OKvX5rHooEgBjcAJHOKCZZ41LyVqwHYAJb0CeEUBhjcsSMIIGcdcLBkXp_AON-OCw:1tGbNx:mf1LA6TBBnsU6tCJ7Nd7yU2qz19ggDJKmaMUejzXHrM


session_key: r01hiqmovpja84yk87tier8l90a11sxx
expire_date: 2024-12-24 13:02:40.434459
session_data:
  .eJxVjDsOwjAQBe_iGllrGf8o6TmDtbve4ABypDipIu4OkVJA-2bmbSrjutS8dpnzWNRFGXX63Qj5KW0H5YHtPmme2jKPpHdFH7Tr21TkdT3cv4OKvX5rHooEgBjcAJHOKCZZ41LyVqwHYAJb0CeEUBhjcsSMIIGcdcLBkXp_AON-OCw:1tKzsu:BhLcXrSV4xCwLMq2yS4FhSmxfatAneOTbKx5V6j8zWc


session_key: pcfb9eesry2mo9h9i21hmw7urw9z6ayw
expire_date: 2024-12-28 10:45:46.096419
session_data:
  .eJxVjDsOwyAQRO9CHSF-u-CU6X0GhL0QnEQgGbuKcvdgyUXSjd68mTfzYd-y31tc_ULsyhS7_LIpzM9YjoIeodwrn2vZ1mXih8LPtvGxUnzdTvfvIIeW-9qAhIgIIlpprHaCDFGPDjFZIERpJCjSCYRCtINWAeVACJ04kST7fAGaFDXX:1tMPec:rS_2o1Jio-C4izeva46S4ASFDr_JXFZtF3Dmp2NBhhg


session_key: ip4riggskkqdmfcntv46ohky3ew04hl0
expire_date: 2024-12-28 10:47:54.447766
session_data:
  .eJxVjDsOwjAQBe_iGll2Nv4sJT1nsHb9wQHkSHFSIe4OkVJA-2bmvUSgba1h63kJUxJnocXpd2OKj9x2kO7UbrOMc1uXieWuyIN2eZ1Tfl4O9--gUq_fGsYxAmtE6wBNjuRpSEwWYolGGS6onSMslh0qKkMx7IGVAQTn_WjF-wPhkDeL:1tMPgg:lV53TEZTdUKnxq4KSFbIA7_WZfxCOX3vM4N6r8ghNqg


session_key: cax7z7qzvx4a03vmedg7rrvie9mg0emi
expire_date: 2025-01-17 15:56:20.772785
session_data:
  .eJxVjDsOwjAQBe_iGll2Nv4sJT1nsHb9wQHkSHFSIe4OkVJA-2bmvUSgba1h63kJUxJnocXpd2OKj9x2kO7UbrOMc1uXieWuyIN2eZ1Tfl4O9--gUq_fGsYxAmtE6wBNjuRpSEwWYolGGS6onSMslh0qKkMx7IGVAQTn_WjF-wPhkDeL:1tTk28:wW89mYydcaLFbIi4gEUbDhUOVedoSwJB1iaSKqSKfxI


# courses_lesson

name: Introduction
content:
  <p>Le langage PHP est utilisé pour créer des applications dynamiques sur le web. Contrairement aux langages comme HTML et CSS qui sont interprétés par le navigateur du client, PHP est un langage côté serveur, ce qui signifie que le serveur hébergeant le site web exécute le code PHP et génère du contenu web (généralement HTML, CSS et parfois JavaScript) qui est ensuite envoyé au navigateur du client. PHP peut également produire d'autres formats web comme le PDF, le SVG, ou des images bitmap.</p>
  <p>Il est largement utilisé avec le serveur Apache, mais il peut aussi fonctionner avec d'autres serveurs HTTP comme IIS. PHP permet de récupérer des informations à partir d'une base de données, d'un système de fichiers ou des données envoyées par les utilisateurs via des formulaires web.</p>
  <p>PHP est un langage peu rigide et facile à apprendre, mais cela peut entraîner des failles de sécurité si le code n'est pas correctement écrit. Malgré cela, PHP est largement utilisé pour le développement web en raison de sa flexibilité et de sa facilité d'utilisation.</p>
  <p>Il est multiplateforme, ce qui signifie qu'il peut fonctionner sur différents systèmes d'exploitation comme Linux et Windows. PHP est également libre, gratuit et simple à installer, mais nécessite une bonne compréhension des concepts de programmation et des bonnes pratiques de sécurité.</p>
  <p>La version 5.3 de PHP a introduit de nombreuses fonctionnalités, y compris les espaces de noms, les fonctions anonymes et les fermetures, ce qui a permis de simplifier le développement d'applications web plus complexes.</p>
  <strong>Serveur local</strong>
  <p>Il faut savoir que pour interpréter des fichiers PHP (avec l'extention .php) votre ordinateur à besoin d'un serveur (dit local). En effet, sans aucun serveur, votre PC ne saura pas traduire le langage PHP et renverra une page web blanche.</p>
  <p>Alors ne vous inquietez pas vous n'aurez pas à débourser le moindre euros pour obtenir un serveur local pour travailer sur vos projets chez vous. Il existe en effet des logiciels qui regroupe tous les programmes qui permettent de créer un réseau local(apache, mysql et php). Se sont les même qui sont installer sur des "vrais" serveurs.</p>

  <strong>WAMP sous windows</strong>
  <p>Sous windows il existes un logiciel bien répandu des developpeurs web qui permet d'obtenir une architecture complète. Il se nomme wamp. Pour le télécharger rendez-vous sur la page du site : . Une fois téléchargé, installez-le en laissant toutes les options par défaut. Il devrait s'installer dans un répertoire comme C:\wamp et créer un raccourci dans le menu Démarrer.</p>

  <strong>LAMP sous linux</strong>
  <p>Sous Linux, il est courant d'installer Apache, PHP et MySQL séparément. Toutefois, il existe aussi des packs tout prêts comme XAMPP (X Apache MySQL Perl PHP), anciennement connu sous le nom de LAMPP. Ce pack est plus complet que WAMP pour Windows ou MAMP pour Mac OS X. Nous n'utiliserons toutefois qu'une partie des éléments installés.
  Sur le site officiel de XAMPP : lien, recherchez le lien XAMPP pour Linux.</p>


name: Premiers pas
content:
  <p>Lorsque que l'on apprends un langage, il est courant que la première chose qu'on apprene est d'afficher un "Hello World !". On va donc débuter par là, et on va donc par la même occasion apprendre un <strong>mot-clé</strong> que vous utliserez 95% de votre temps lorsque que vous aller développer en PHP.</p>
  <p>Créez donc un fichier php portant le nom de <strong>echo.php</strong> dans le dossier <i>wamp/www/cours/</i> et copiez le code suivant</p>

  <pre><code class="language-php">&lt;?php echo "Hello World !"; ?&gt;</code></pre>

  <p>Que ce passe t'il à l'écran ? Si vous obtenez une erreur, vérifier bien que le code que vous avez écris ne comporte pas d'erreurs, sinon vous devriez avoir ça :</p>
  <p>Hello World !</p>

  <div class="alert validation">
  <p><strong>Décortiquons ce code.</strong><br> 
  <ol>
  <li>On a d'abord la balise (&lt;?php) qui permet de dire à l'ordinateur que le reste du code qui vient sera du PHP. </li>
  <li>Puis on déclare le mot-clé echo qui, quant à lui permet à l'ordinateur de savoir que ce qui à entre les guillemets ne devra pas être pris comme du code mais comme un texte simple (si votre texte n'est pas entouré de guillemets, alors vous aurez une erreur car le PC essaiera d'interpreter votre texte comme une instruction PHP).</li> 
  <li>Ensuite viens le point-virgule(;) qui permet de terminer notre commande PHP (chaque commande se clôture par un point-virgule).</li>
  <li>Puis l'on ferme la le tout avec balise (?&gt;) pour indiquer que le code PHP est terminé.</li>
  </p>
  </div>
  <p>Une dernière chose avant de partir dans la pratique. Vous pouvez comme dans tout langage, créer ce qu'on appel des commentaires. Il permettent de se reperer dans le fichier et de laisser des informations utile. On les déclare de deux façons différente : Sur une ligne ou sur plusieurs lignes.</p>
  <pre><code class="language-php">
  //Je suis un commentaire sur une ligne

  /*je suis
  un commentaire
  sur plusieurs
  lignes ! */
  </code></pre>

  <div class="alert conclusion">
  <strong>Conclusion</strong>
  <ul>
  <li>Un code (ou script) PHP est toujours entouré des balises &lt;?php et ?&gt;.</li>
  <li>Pour écrire du texte ou même du html on utilises les guillemets (").</li>
  <li>Une commande PHP se termine toujours par un point-virgule.</li>
  </ul>
  </div>


name: Les variables
content:
  <p>Deuxième chose à connaitre lorsque l'on débute le PHP c'est les variables. Derrière ce nom se cache la force du php et même de tous les autres langages ! Pour vous faire une image, les variables sont comparable à des poches. Elle permettent de stocker une donnée, une information ou un texte et de pouvoir ensuite les utilisé pour plusieurs choses. Il faut tout de même savoir qu'une variable existe que pendant la page en court. En gros, lorsque vous changer de pages, la variable "meurt" et n'est plus accessible.</p>

  <p>Pour déclarer une variable on utilises le signe dollars ($) devant son nom. puis ensuite on lui assigne une valeur ou une donnée avec le signe égale (=). Si la valeur est une chaine de caractère (un texte), alors on l'entour de guillemets.</p>

  <pre><code class="language-php">
  &lt;?php
  // Déclaration d'une variable nommé : texte.
  // La variable Texte contient le texte -Hello World-.
  $texte = "Hello World !";
   
  // On affiche le contenu de la variable :
  echo $texte;
  ?&gt;
  </code></pre>
  <p>Le résultat obtenu devrait être le même que l'echo réaliser juste avant.</p>

  <p>On peut aussi assigner une variable à une variable, combiner une variable avec une chaine de caractère (texte) ou même associer deux variable dans une seule !</p>

  <pre><code class="language-php">
  &lt;?php
  $variable = "hello world !";
  echo $variable;
   
  $mot = "hello";
  $texte = $mot." World !";
  echo $texte;
   
  $mot1 = "hello ";
  $mot2 = " World !";
   
  $montexte = $mot1.$mot2;
  echo $montexte;
  ?&gt;
  </code></pre>

  <p>Comme on peut le voir, j'utilises le point (.) pour séparer une variable d'une chaine de caractère, ou même pour séparer deux variables. c'est ce qu'on appel la concaténation. Cela permet de bien faire la différence et d'avoir un code lisible.</p>

  <h3>Les calculs</h3>
  <p>Les variables permettent aussi de faire des calculs. Mais pas de panique ! Se ne sont pas des opérations scientifique. On réalise simplement les quatres opérations de base (addition, soustraction, multiplication et division). Je vous est fait un tableau avec les signes "informatique" à connaitre pour réaliser les calculs simple :</p>

  <table class="table-50">
  	<th>Symbole</th>
  	<th>Signification</th>
  	<tr>
  		<td>+</td>
  		<td>Addition</td>
  	</tr>
  	<tr>
  		<td>-</td>
  		<td>Soustraction</td>
  	</tr>
  	<tr>
  		<td>*</td>
  		<td>Multiplication</td>
  	</tr>
  	<tr>
  		<td>/</td>
  		<td>Division</td>
  	</tr>
  <tr>
  		<td>%</td>
  		<td>Modulo</td>
  	</tr>
  </table>
  <p>Pour la suite, si vous n'avez pas dormi en cours de math à l'école primaire alors c'est tout simple.</p>

  <pre><code class="language-php">
  &lt;?php
  $resultat = 5 + 7;
  echo $resultat;
   
  $resultat = 4 - 3;
  echo $resultat;
   
  $resultat = 8 * 4;
  echo $resultat;
   
  $resultat = 6 / 2;
  echo $resultat;
  ?&gt;
  </code></pre>

  <div class="alert conclusion">
  <strong>Conclusion</strong>
  <ul>
  <li>Pour déclarer une variable on utilise le signe dollars ($) devant le nom de la variable.</li>
  <li>On assigne une valeur ou une donnée à l'aide du signe égale (=).</li>
  <li>Si la valeur est une chaine de caractère, alors on l'entoure de guillemets (").</li>
  <li>Le nom d'une variable ne doit jamais contenir de caractère spéciaux ni d'accents.</li>
  </ul>
  </div>
  <div class="alert info">
  </p><strong>Transmission de variable</strong><br>
  Quand je vous est dit qu'une variable n'existe que dans la page en cours, ce n'est pas tout à fait vrai. En effet, il est possible de transmettre une variable d'une page à une autre avec deux méthodes. La première est en utilisant un formulaire avec la variable super global <strong>$_POST</strong> (Une variable super global est une variable qui existe déjà en PHP. Un chapitre est dédié plus bas). La seconde méthode est de transmettre la variable via les liens avec la variable super global <strong>$_GET</strong></p>
  </div>


name: Conditions
content:
  <p>Nous voici maintenant au chapitre 3 de PHP. Sachez tout de même que j'aborde avec vous le langage PHP d'une façon simpliste volontairement. On va donc maintenant voir une partie assez important du langage : Les conditions. D'ailleurs à la fin de ce chapitre, vous aurez un petit exercice. Car oui, vous êtes capable de créer un petit fichier php à l'heure où je vous parle.</p>

  <p>Donc pour commencer, c'est quoi une condition ? Vous aller sûrement vous dire que je vous poses une question bête mais c'est pourtant très important de savoir répondre à cette petite question pour la suite. Donc une condition c'est effectuer une action en fonction de la valeur retourner. Petit exemple parlant :</p>

  <pre><code class="language-php">
  &lt;?php 
  if($prenom == "Anthony") {
      echo "Tu es le propriétaire, tu peut passer.";
  } else {
      echo "Seul le propriétaire de ces lieux à le droit de passer.";
  }
  ?&gt;
  </code></pre>

  <div class="alert validation">
  <p>Si on reprends le code que je viens de vous ecrire, on a deux nouveau mots-clés : <br>if et else<br> qui se traduit par si et sinon. Donc normalement, vous devriez avoir compris la conditions. Elle se traduit par</p>

  <p><strong>Si le prénom est égale à "Anthony" alors on laisse passer sinon, on refuse.</strong></p>
  </div>

  <p>La condition doit être inscrite entre les parenthèse et le résultat toujours entre les accolades (du if ou du else). Si vous avez fait attention, vous remarquerez que j'ai utiliser deux signes "égale" lors de la conditon. J'ai fait ce qu'on appel une comparaison. On peut faire en tout six comparaisons lors d'une condition (il en existe des autres mais qui ne sont pas aussi répendues):</p>

  <table class="table-50">
  	<th>Symbole</th>
  	<th>Signification</th>
  <tr>
  		<td>==</td>
  		<td>égale à</td>
  	</tr>
  	<tr>
  		<td>===</td>
  		<td>Strictement égale à</td>
  	</tr>
  	<tr>
  		<td>></td>
  		<td>Supérieur à</td>
  	</tr>
  	<tr>
  		<td>>=</td>
  		<td>Supérieur ou égale à</td>
  	</tr>
  	<tr>
  		<td><</td>
  		<td>Inférieur à</td>
  	</tr>
  	<tr>
  		<td><=</td>
  		<td>Inférieur ou égale</td>
  	</tr>
  		<td>!=</td>
  		<td>Différent de</td>
  	</tr>
  </tr>
  		<td>!==</td>
  		<td>Strictement différent de</td>
  	</tr>
  </table>
  <p><strong>*</strong>Il est à noter que les &lt;Strictement&gt; vérifie le type en plus de l'égalité. C'est pour ça que l'on dit qu'une variable est strictement égale à un autre (elles sont identique ET de même type).</p>

  <p>On en viens donc au petit exercice. Créer un fichier php portant le nom que vous voulez. Et je voudrais que vous fassiez une condition qui vérifie l'âge. Si l'âge est inferieur à 18 ans, alors on ne fait pas passer sinon, on laisse entrer.</p>

  <div class="alert exercice">
  <strong>Exercice</strong><br>
  <p>Vous aller créer la condition en utilisant la variable age. Vous devrez inscrire le résultat de la condition dans une variable nommer droit et l'afficher en l'aide d'un echo en dehors de la condition.</p>

  <p>(n'oubliez pas de déclaré votre variable avant la condition).</p>
  </div>

  <button id="ex01" onclick="show('ex01')" class="button test-me center">Correction</button>

  <div id="hide-ex01">
  <pre><code class="language-php">
  &lt;?php
   
  $age = null;
   
  if($age < 18)
  {
      $droit = "Tu es trop jeune, tu ne peut pas passer.";
  }
  else
  {
      $droit = "Tu as plus de 18 ans. Tu peut entrer.";
  }
   
  echo $droit;
  ?&gt;
  </code></pre>
  </div>
  <p>Si vous n'avez pas réussi du premier coup, ce n'est pas très grave ! Il suffit de bien relire ce chapitre et retenter votre chance.</p>

  <p>Sachez que dans une condition il n'existe pas seulement les "si" et "sinon". Il y a une troisième option : le "sinon si" ! En PHP il se traduit par elseif. Il permet de mettre en condition un sinon</p>

  <pre><code class="language-php">
  &lt;?php 
  if($prenom == "Anthony")
  {
      echo "Salut Anthony, tu peut passer.";
  }
  elseif($prenom == "Jordan")
  {
      echo "Jordan, tu as le droit de passage pour cette fois.";
  }
  else
  {
      echo "Tu n'as pas le droit de passer...";
  }
  ?&gt;
  </code></pre>

  <p>En PHP, il est possible d'écrire des conditions IF/ELSE de manière condensée sur une seule ligne. Cette technique, souvent appelée "ternary operator" (opérateur ternaire), permet de simplifier et de rendre le code plus concis, surtout pour les conditions simples. L'opérateur ternaire utilise la syntaxe suivante :</p>
  <pre><code class="language-php">
  &lt;?php (condition) ? (valeur_si_vrai) : (valeur_si_faux); ?&gt;
  </code></pre>

  <p>Cette expression évalue la condition ; si elle est vraie, elle retourne la valeur_si_vrai, sinon elle retourne la valeur_si_faux. C'est une méthode pratique pour effectuer des affectations rapides ou des retours de valeurs sans écrire des blocs IF/ELSE plus longs.</p>

  <p>par exemple, la condition suivante : </p>

  <pre><code class="language-php">
  &lt;?php
  $age = 20;
  if ($age >= 18) {
      $message = "Vous êtes majeur.";
  } else {
      $message = "Vous êtes mineur.";
  }
  echo $message;
  ?&gt;
  </code></pre>

  <p>Peut se traduire en une condition ternaire beaucoup plus condensé :</p>

  <pre><code class="language-php">
  &lt;?php
  $age = 20;
  $message = ($age >= 18) ? "Vous êtes majeur." : "Vous êtes mineur.";
  echo $message;
  ?&gt;
  </code></pre>

  <div class="alert conclusion">
  <strong>Conclusion</strong>
  <ul>
  <li>Pour déclarer une condition on utilise les parenthèses pour entouré la condition.</li>
  <li>On entre le code résultant entre accolades.</li>
  <li>Else n'a pas de condition et donc pas de parenthèses</li>
  <li>On peut utiliser elseif pour un "sinon si"</li>
  </ul>
  </div>


name: Les switchs
content:
  <p>On a vu qu'avec les conditions On pouvait tester les valeurs et afficher un résultat différent selon la condition. Maintenant imaginez qu'on veuillent faire un système de choix. Comment vous feriez ?</p>
  <div class="alert exercice">
  <p><strong>Exercice</strong><br>
  Je vous lance un petit défi. Faites un petit fichier php qui affiche un plat en fonction de la valeur de la variable choix (1, 2, 3, 4, 5).</p>
  <p>Prêt ? Alors go !</p>
  </p>
  </div>

  <p>Normalement votre résultat devrait ressembler plus ou moins à ça : </p>
  <button id="ex02" onclick="show('ex02')" class="button test-me center">Correction</button>

  <div id="hide-ex02" style="display:none">
  <pre><code class="language-php">
  &lt;?php 
  /*  /!\ Quand une condition est effectuer sur un chiffre (ou une variable) il ne faut pas mettre de 
  guillemets car ce ne sont pas des chaines de catactères */
  if($choix == 1) {
      echo "Frites";
  } elseif($choix == 2) {
      echo "Hamburger";
  } elseif($choix == 3) {
      echo "Pâtes carbonara";
  } elseif($choix == 4) {
      echo "Haricots Vert";
  } else($choix == 5) {
      echo "Épinards";
  }
  ?&gt;
  </code></pre>
  </div>

  <p>Vous ne trouvez pas ça un peut long et répétitif à écrire ? Bonne nouvelle ! Il y a un moyen plus simple pour faire ça. Et en plus c'est très simple, c'est le switch ! On pourrais le comparer à une commode à tiroir. Ces derniers contiendrais les "choix" disponibles.</p>

  <p>Avant toute choses, voyons la structure d'un switch :</p>

  <pre><code class="language-php">
  &lt;?php
  switch($choix'])
  {
  	case "":
   
  	break;
  	case "":
   
  	break;
  	case "":
   
  	break;
  	default;
   
  	break;
  }
  ?&gt;
  </code></pre>

  <div class="alert validation">
  <strong>Maintenant, décorticons ce code :</strong>

  <ol>
  <li>On créer un switch avec le mot-clé : switch()</li>
  <li>Entre parenthèses en met la variable $choix qui contient le nom de la "case" (tiroir) correspondante.</li>
  <li>on créer une case avec le mot-clé case "": entre guillemet on met le nom de la "case".</li>
  <li>on écris le code de la "case" sur la ligne suivante</li>
  <li>puis, quand on a finis on ferme la case avec le mot-clé break;</li>
  <li>ce qui à entre default; et break; est l'affichage par défaut quand aucune case n'est sélectionner.</li>
  </ol>
  </div>

  <p>Comme un exemple vaut mieu qu'un long discourt :</p>
  <pre><code class="language-php">
  &lt;?php		
  switch($action)
  {
  	case "frites":
  		echo 'Miam les frites';
  	break;
  	case "hamburger":
  		echo "Comme au MacDo !";
  	break;
  	case "carbonara":
  		echo "Un bon repas italien";
  	break;
  	case "haricots":
  		echo "Avec du beurre c'est meilleur !";
  	break;
  	case "epinard":
  		echo "À la crême et au oeufs.";
  	break;
  	default;
  		echo "Tu n'a pas fait ton choix"
  	break;
  }
  ?&gt;
  </code></pre>


name: Les tableaux
content:
  <h3>Tableau simple</h3>
  <p>En PHP on utilises souvent voir tout le temps les variables. Et bien sachez qu'avec les tableaux, leurs puissances va encore augmenter ! En effet, les <strong>arrays</strong> (tableaux) permettent de créer des variables contenant plusieurs valeurs ! D'un point de vue abstrait, on pourrais dire que les tableaux peuvent ressembler à ça :</p>

  <pre><code class="language-php">
   
  &lt;?php
  $variable valeur 1 = "un";
  $variable valeur 2 = "deux";
  $variable valeur 3 = "trois";
  ?&gt;
   </code></pre>

  <p>Il faut donc créer un tableau qui n'est autre que variable contenant plusieurs valeurs. On utilise pour ça un mot-clé : <strong>array()</strong>. Entre les parenthèses, on entre les valeur entre guillemets ou apostrophes et on les sépares par des virgules :</p>

  <pre><code class="language-php">
   
  &lt;?php
  $tableau = array('un', 'deux', 'trois');
  ?&gt;
   </code></pre>

  <div class="alert exercice">
  <strong>Exercice</strong><br>
  <p>Maintenant, vous allez essayer d'afficher le contenu de $tableau à l'aide d'un echo.</p>
  <p>Tout fonctionne ?</p>
  </div>

  <p>Et oui, je l'ai fait exprès ! en fait, votre code marche parfaitement à un détail prêt. Comme la valeur de la variables n'est ni un string ni un int, float etc... (string: chaine de caractères, int: nombre entier, float nombre à virgule) alors php n'arrive pas à lire son contenu. Mais pas de panique, il y a une solution.</p>

  <p>En fait, il peut lire son contenu mais attends un paramètre à la fin de votre variable : l'identifiant de la valeur que vous souhaité afficher (un, deux, ou trois). C'est là toute la puissance des arrays ! La valeur de la variable est différente selon l'id du tableau. Ici, les id contiennent les valeurs entre apostrophes (un, deux, trois). Et pour demander un id rien de plus simple ! Il sont numéroté :) . Toute fois attention car dans un array, la première valeur n'a pas pour id : 1 mais 0. On pourrais comparer ça aux immeubles, qui commence par un étage 0 puis 1, 2,3 etc...</p>

  <p>Donc, vous êtes maintenant capable d'afficher la valeur que vous souhaitez :</p>

  <pre><code class="language-php">
   
  &lt;?php
  $tableau = array('un', 'deux', 'trois'); // On créer la variable $tableau contenant un array avec comme valeur un deux et trois
   
  echo $tableau[0]; // Affichera : un
   
  echo $tableau[1]; // Affichera : deux
   
  echo $tableau[2]; // Affichera : trois
  ?&gt;
   </code></pre>

  <h3>Tableau ordoné</h3>

  <p>Il existe un deuxième type de tableau, c'est les array ordonné. Il permettent de donner un identifiant voulu à une valeur. Par exemple au lieu d'avoir comme id '0' pour la valeur un du dessus, on aurait bien pu lui donner le nom de l'id qu'on voulez. Sachez que des avantages sur les deux type de tableaux existe et qu'aucun prends le pas sur l'autre.</p>

  <p>Juste avant j'utilisais le mot-clé : id mai sachez qu'on appelle cela une clé. Dorénavant, j'utiliserais ce terme, alors comprenez bien que <strong>id = clé.</strong></p>

  <p>Pour créer un array ordonné il suffit d'assigné une clé à une valeur. Pour cela on n'utilise pas le = qui permet déjà d'assigner une valeur à une variable. Mais c'est presque ça, on utilise => (signe égale + chevron).</p>

  <p>Créons maintenant le fameux array ordonné :</p>

  <pre><code class="language-php">
   &lt;?php
  $tableau = array('cle_un' => 'Valeur de la clé 1', 'cle_deux' => 'valeur de la clé 2');
   
  echo $tableau['cle_un'];
  echo $tableau['cle_deux']; 
  ?&gt;
   </code></pre>
  <p>comme vous pouvez le constatez, pour afficher la valeur du tableau, on utilise toujours la clé, mais maintenant qu'elle a un nom, plus besoin de 0, 1, 2...</p>

  <div class="alert conclusion">
  <strong>Conclusion</strong>
  <ul>
  <li>Un tableau est créer à l'aide du mot clé array().
  <li>Un tableau simple commence toujours pas la clé 0
  </ul>
  </div>


name: Les boucles
content:
  <p>Les boucles permettent de répéter une information plusieurs fois, et ça c'est bien pratique ! Prenons l'exemple de news sur un site.
  En général, sur les pages d'accueil on a une liste des derniers news qui peuvent être affiche sous la forme d'une liste :</p>
  <ul>
  <li>news de site 1</li>
  <li>news de site 2</li>
  <li>news de site 3</li>
  <li>news de site 4</li>
  </ul>

  <p>Ou même par bloc, bref, vous avez compris où je veut en venir. Ce système utilise les boucles. On va voir dès à présent deux types de boucles. Sachez que les boucles fonctionne un peu sur le même principe que les condition, à la différence que la boucle répète une commande tant que la condition n'est pas remplie. Quand la condition est satisfaite, alors on sort de la boucle.</>

  <h3>While</h3>
  <p>Le premier type de boucle est while qui peut se traduire par tant que. Alors, comment créer une boucle while :</p>

  <pre><code class="language-php">
  &lt;?php
  while($nombre <= 10)
  {
      $nombre = $nombre + 1;
  }
  // ...suite du code
  ?&gt;
  </code></pre>

  <p>Dans cet exemple, je créer une boucle qui à pour rôle d'ajouter 1 à $nombre tant que $nombre est inférieur ou égale à 10. Donc dès que $nombre atteinds la valeur de 10 la boucle s'arrête et on continue la suite du code.</p>

  <p>Comme un exemple vaut mieu qu'un long discours, on va executer un script qui affiche 10 ligne. Créons donc un fichier lignes.php et inscrivez le code suivant :</p>

  <pre><code class="language-php">
  &lt;?php
  // on créer la variable $numero_ligne et on lui donne la valeur 0
  $numero_ligne = 0;
   
  // On créer une boucle qui affiche le nombre de ligne (10)
  while($numero_ligne <= 10)
  {
  echo 'Ligne numero '.$numero_ligne.'<br />';
      $numero_ligne++; // Cela reviens au même que faire 
      $nombre_ligne = $nombre_ligne + 1
  }
  ?&gt;
  </code></pre>
  <p>Dans cet exemple, vous devriez normalement obtenir:</p>
  <p>Ligne numero 0</p>
  <p>Ligne numero 1</p>
  <p>Ligne numero 2</p>
  <p>Ligne numero 3</p>
  <p>Ligne numero 4</p>
  <p>Ligne numero 5</p>
  <p>Ligne numero 6</p>
  <p>Ligne numero 7</p>
  <p>Ligne numero 8</p>
  <p>Ligne numero 9</p>
  <p>Ligne numero 10</p>

  <div class="alert question">
  <p>Si ce n'est pas le cas, alors vérifiez bien que vous n'avez pas oublier de mettre un ";" ou que vous avez bien concatener votre echo.</p>
  </div>

  <p>Assurez vous que la condition de la boucle soit au fausse au moins une fois. Car si ce n'est pas le cas, alors la boucle serait exécutée à l'infini !</p>

  <h3>For</h3>

  <p>Le second type de boucle est la boucle for. Cette dernière est plus complexe à apréhender mais ne vous inquietez pas, elle n'est pas compliquée. Le résultat obtenu sera le même quelque soit la boucle utilisée. Je vous montre les deux type car certains préfère while et d'autre for.</p>

  <p>Comme je vous l'ai dit, cette boucle est un peu plus complexe car elle est condensé sur une même ligne. Regardons ça:</p>

  <pre><code class="language-php"> 
  &lt;?php
  for($numero_ligne=0; $numero_ligne <= 10; $numero_ligne++) 
  { 
      echo 'Ligne numero '.$numero_ligne.'<br />';
  }
  ?&gt;
   </code></pre>

  <p>Comme vous le voyez, tout ce passe dans la condition. On créer la variable $numero_ligne avec comme valeur 0, puis on indique la condition, et ensuite on incrémente la variable il est important de séparer ces 3 élements par des points-virgule. Enfin, dans la boucle on indique le numéro de la ligne.</p>

  <div class="alert conclusion">
  <strong>Conclusion</strong>
  <ul>
  <li>Les boucles demandent à PHP de répéter des instructions plusieurs fois.</li>
  <li>while : à utiliser de préférence lorsqu'on ne sait pas par avance combien de fois la boucle doit être répétée.</li>
  <li>for : à utiliser lorsqu'on veut répéter des instructions un nombre précis de fois.</li>
  </ul>
  </div>


name: Parcourir les tableaux
content:
  <p>Maintenant que vous conaissez les boucles, je vais pouvoir vous apprendre à parcourrir les tableaux ! Et oui, lorsque un array est créer, il nous arrive très souvent de devoir le parcourrir pour savoir ce qu'il contient. Nous allons étudier deux moyens de le faire dont un que vous conaissez déjà ! For et Foreach.</p>

  <h3>For avec les tableaux</h3>
  <p>Cette boucle est utilisée très souvent pour la array simples (souvenez-vous, les tableaux sans clé défini). En effet, comme les clés sont des numéros, alors il devient très simple de le parcourrir à l'aide de la boucle for ! While marche tout aussi bien mais for est beaucoup plus répendu pour parcourrir les tableaux.</p>

  <pre><code class="language-php">
   
  &lt;?php
  // On créer un array contenant les pays.
  $pays = array('France', 'Angleterre', 'Italie', 'Portugal', 'Allemagne');
   
  //puis on créer une boucle pour tout afficher
  for ($numero=0; $numero < 5; $numero++) 
  { 
      echo $pays[$numero].'<br />';
  }
  ?&gt;
   </code></pre>

  <p>Pas trop compliquer n'est-ce pas ! Si vous avez tout compris jusque là, alors on peu continuer, sinon révisez vos cours héhé !</p>

  <h3>La boucle foreach</h3>

  <p>Même si for s'en sort très bien avec les tableaux, sachez tout de même que foreach est spécialement créer pour ! Cette boucle est utiliser exclusivement pour les tableaux en fait.

  Voyons le code ensemble et décortiquons après :</p>

  <pre><code class="language-php">
  &lt;?php
  $pays = array('France', 'Angleterre', 'Italie', 'Portugal', 'Allemagne');
   
  foreach ($pays as $cle) 
  {
      echo $cle.'<br />';
  }
  ?&gt;
  </code></pre>

  <p>Première chose qu'on remarque : Moins de chose à écrire ! En effet, comme je vous l'ai dit foreach est créer exprès pour parcourir les tableaux. De ce fait, pas besoin de connaître à l'avance le nombre d'éléments ou d'incrémenter la boucle le fait toute seul !</p>

  <p>Alors concrétement qu'est-ce qu'on fait ? Et bien on renseigne la variable du tableau (ici $pays) et on attribut <strong>à chaque tours</strong> la valeur de la clé dans une variable (ici $cle). Il ne nous reste plus qu'a afficher la valeur de $cle qui changera à chaque tour de boucle</p>

  <p>Mais ce n'est pas tout ! Foreach permet aussi de parcourrir un tableau ordonnée ! Il faut juste rajouter une variable qui prendrait la valeur du tableau :</p>

  <pre><code class="language-php">
  &lt;?php
  $membre = array(
  'prenom' => 'Anthony',
  'age' => '25 ans',
  'adresse' => '2 rue truc',
  'ville' => 'bidule-city'
  );
   
  foreach ($membre as $cle => $valeur) 
  {
  echo $cle.' => '.$valeur.'<br />';
  }
  ?&gt;
  </code></pre>

  <p>Comme vous le voyez, la valeur est lié à la variable $valeur <underline><strong>n'oubliez pas</strong></underline> de préciser que $valeur appartient à $cle avec le signe =>. Pour le reste, on affiche juste la cle, et la valeur dans un echo.</p>


name: Formulaires
content:
  <p>Les formulaires sont un élément clé des sites web interactifs, permettant aux utilisateurs de soumettre des données qui peuvent être traitées par un serveur. En PHP, les formulaires sont couramment utilisés pour capturer des informations de l'utilisateur et effectuer diverses opérations telles que l'enregistrement de données, les authentifications, et plus encore.</p>

  <p>Commençons par créer une page HTML simple contenant un formulaire avec un input text et un bouton de validation :</p>

  <pre>
      <code class="language-html">
  &lt;html lang="fr"&gt;
      &lt;head&gt;
          &lt;meta charset="UTF-8"&gt;
          &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
          &lt;title&gt;Mon super formulaire&lt;/title&gt;
      &lt;/head&gt;
      &lt;body&gt;
          &lt;form action="" method="POST"&gt;
              &lt;input type="text" name="message"&gt;
              &lt;button&gt;Valider&lt;/button&gt;
          &lt;/form&gt;
      &lt;/body&gt;
  &lt;/html&gt;
      </code>
  </pre>

  <p>Maintenant qu'on a notre formulaire, on peut le traiter ! C'est à dire récupérer les données entrée par l'utilisateur. Pour ça, on a besoin en premier lieu de vérifier l'existence de la donnée entrée par l'utilisateur. Pour ce faire, une simple condition avant même de traiter l'HTML:</p>

  <pre>
      <code class="language-php">
          &lt;?php
              $message = null;
              if(!empty($_POST) || $message != "") {
                  $message = "&lt;p?&gt;Valeur de message : {$_POST['message']}&lt;/p?&gt;";
              }
          ?&gt;
      </code>
  </pre>

  <p>Alors, que fait ce bout de code ?</p>
  <div class="alert validation">
      <ol>
          <li>On déclare la variable <strong>$message</strong> (qui contiendra la donnée entrée par l'utilisateur) et on lui attribue une valeur nulle.</li>
          <li>On créer une condition pour vérifier si la variable <strong>$message</strong> contiens une valeur grâce à empty qui va vérifier si la variable est nulle. Et vérifier aussi si la valeur contiens du texte</li>
          <li>Si c'est le cas, on attribue à la variable la donnée du forumulaire.</li>
      </ol>
  </div>

  <p>Maintenant qu'on à vérifier ça, on peut afficher la valeur de la variable <strong>$message</strong> en dessous de notre formulaire avec un simple :</p>
  <pre>
      <code class="language-php">
          &lt;?php echo $message ?&gt;
          // La même chose -> &lt;?= $message ?&gt;
      </code>
  </pre>

  <button id="ex03" onclick="show('ex03')" class="button test-me center">Code complet</button>
  <div id="hide-ex03" style="display:none;">
  <pre>
      <code class="language-php">
  &lt;?php
      $message = null;
      if(!empty($_POST) || $message != "") {
          $message = "&lt;p&gt;Valeur de message : {$_POST['message']}";
      }
  ?&gt;
  &lt;html lang="fr"&gt;
      &lt;head&gt;
          &lt;meta charset="UTF-8"&gt;
          &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
          &lt;title&gt;Mon super formulaire&lt;/title&gt;
      &lt;/head&gt;
      &lt;body&gt;
          &lt;form action="" method="POST"&gt;
              &lt;input type="text" name="message"&gt;
              &lt;button&gt;Valider&lt;/button&gt;
          &lt;/form&gt;
          &lt;?= $message; ?&gt;
      &lt;/body&gt;
  &lt;/html&gt;
      </code>
  </pre>
  </div>


# courses_course

name: Développement Web Dynamique
created_at: 2024-06-10 16:02:37.465732
updated_at: 2024-12-14 10:13:47.691190
thumbnail: static/uploads/thumbnails/courses/php.png
content:
  Le cours de PHP vous plonge dans le monde du développement web dynamique en utilisant l'un des langages de script côté serveur les plus populaires et puissants. PHP (Hypertext Preprocessor) est largement utilisé pour créer des sites web interactifs et des applications web robustes.


name: Javascript
created_at: 2024-06-19 09:56:22.700120
updated_at: 2024-12-14 10:13:47.691520
thumbnail: static/uploads/thumbnails/courses/js.png
content:
  JavaScript est un langage de programmation dynamique et essentiel pour le développement web moderne. Créé en 1995, il permet d'ajouter de l'interactivité et de la réactivité aux pages web, enrichissant ainsi l'expérience utilisateur. JavaScript s'exécute directement dans le navigateur de l'utilisateur, permettant des interactions en temps réel sans recharger la page. Il offre la possibilité de manipuler le DOM (Document Object Model) pour modifier la structure et le contenu des pages web en temps réel, offrant ainsi des interfaces utilisateur dynamiques. Grâce à JavaScript, vous pouvez créer des animations, gérer des événements (comme les clics ou les mouvements de souris), et valider des formulaires avant leur envoi au serveur. De plus, des bibliothèques et des frameworks populaires comme jQuery, React, et Angular étendent les capacités de JavaScript et simplifient le développement d'applications web complexes. Enfin, JavaScript est supporté par tous les navigateurs web modernes, garantissant ainsi que vos scripts fonctionnent pour la majorité des utilisateurs d'internet. En conclusion, maîtriser JavaScript est indispensable pour tout développeur web souhaitant créer des sites interactifs et réactifs. Ce cours vous introduira aux bases du JavaScript et vous montrera comment l'utiliser pour enrichir vos projets web.


