Documentation technique - PHP

Les autres langages disponibles :   PHP  Python  Javascript  

Guide pas à pas pour réaliser un challenge. Peu importe le language choisi, tu auras besoin de ta Key secrète, obtenu en créant un compte.


Installation PHP

Il sera prochainement possible de cloner un repo github dédié aux challenges en PHP. En attendant, voici quelques étapes pour pouvoir réaliser les challenges. On dirait que c'est compliqué parce qu'il y a beaucoup d'étapes mais en moins de 5 minutes, c'est en place !



0. Avant propos

Comme les challenges vont être résolus en local, il faut que tu aies un serveur local en place : WAMP, MAMP, XAMPP, Docker, etc. on te laisse le choix.



1. Crée une arborescence en local

/Challenges
  - index.php
  - Game.php

Ou encore :

/Challenges
  - challenge_1.php (ou challenge_foot_1.php)
  - challenge_2.php (ou challenge_wall_e_1.php)
  - Game.php



2. Copie la classe Game.php

Clique ici pour ouvrir le fichier dans un nouvel onglet et copier/coller son contenu : fichier Game.php



3. Copie le lancement d'un challenge

Copie ces quelques lignes ci-dessous dans le fichier index.php ou challenge_1.php ou challenge_trop_genial.php.

<?php
include('Game.php');

$maKey = ''; // Mets ici ta Key 
$codeChallenge = ''; // Mets ici le code challenge
$game = new Game($maKey, $codeChallenge);

$data = $game->getDatasGame(); // Pour comprendre les données proposées par le challenge
echo '<pre>';
print_r($data);
echo '</pre>';	

// ---
// Code dédié au challenge
// ---

// Pour répondre au challenge, à décommenter une fois le challenge complété
// $reponse = ['reponse' => ...];
// $game->push($reponse);
Fichier Game.php


4. Colle ta key secrète

La variable $maKey doit être complétée avec ta key secrète.



5. Renseigne le code d'un challenge

Sur les pages d'un challenge, tu retrouveras son code, qui est en gros son nom écrit en majuscule, un peu comme une constante PHP. Le premier par exemple c'est PIERRE_FEUILLE_CISEAUX.



6. Là tout est Ok mais si tu veux tu peux lire quand même ce dernier paragraphe

Un peu d'explications... Les premières lignes permettent donc de paramétrer ta key secrète ($maKey) et le code du challenge auquel tu veux te frotter ($codeChallenge). L'objet Game se charge alors dans la ligne suivante de contacter l'API pour lancer le challenge (méthode launch) et initialiser les données (méthode init).

La méthode getDatasGame te permet de voir à quoi ressemble les données du challenge.

Une fois ta réponse codée, il te faut renvoyer une réponse à l'API pour contrôler le résultat. On utilise la méthode push, qui prend en paramètre un tableau, qui contient à minima une clé "reponse". Dans l'exemple ci-dessus, il faut compléter les "..." mais la structure du tableau doit être respectée.

Et voilà ! Le challenge en PHP n'a plus de secret pour toi ! Libre à toi ensuite de coder comme bon te semble. Mais n'oublie pas qu'un code PHP propre, c'est toujours mieux :)

Si tu as bien réussi à tout installer et à faire un premier challenge, merci de partager cette superbe nouvelle avec ton entourage. Par contre si tu as échoué, n'hésite pas à nous contacter pour nous insulter. Si l'insulte est recherchée, on essaiera de t'aider.