mission Game of Thrones 2

Créé en 2018 et modifié le 24 Sep 2019

Débuter en programmation objet avec JavaScript

 

  • Réaliser une classe utilisateur dans utilisateur.js possédant un email et un login.
  • Réaliser une table utilisateur contenant un login, un email, une date d’inscription et un mot de passe dans votre SGBDR.
  • Enregistrer quelques utilisateurs.
  • Réaliser un formulaire connexion.html qui permette de saisir le login et le mot de passe d’un utilisateur avec Bootstrap.
  • Réaliser une page connexion.php pour vérifier le login et le mot de passe .
  • Valider les champs du formulaire grâce à un appel Ajax de connexion.php dans un fichier function.js. Les variables de sessions sont récupérées normalement dans connexion.php, envoyées en ajax avec la méthode post.
  • Récupérer l’email de l’utilisateur lors de cet appel Ajax et instancier un objet de la classe utilisateur.
  • Enregistrer le login en variable local et l’email en variable de session sur le navigateur avec JavaScript.
  • Afficher le login et l’email sur mesPersonnages.php.
  • Permettre lors d’une nouvelle ouverture du navigateur de récupérer le login de l’utilisateur dans le formulaire.
  • Seul les utilisateurs connectés auront accès à la page mesPersonnages.php. Un test JavaScript coté client ne permet pas de […]

mission Hearthstone 5

Découverte d’Ajax

Partie 1

  • Ajouter un bouton nommé Ajax avec pour identifiant result sur votre page index.php.
  • Ajouter l’évènement suivant au fichier function.js sans $(document).ready(function ()  s’il y est déjà.
$(document).ready(function () {
//click sur l'id btn
$('#btn').click(function () {
$.ajax("http://localhost/bonjour.php",//appel de bonjour.php sur le serveur web
{
type: "GET",
success: function (resultat) {
$("#result").html(resultat);
}
});
});
});
  • Cliquer sur le bouton, Hello devrait s’afficher. JS vient d’appeler le contenu d’une page PHP.
  • Changer l’appel de formLogin.html en supprimant l’action du formulaire. Le bouton de validation appellera grâce à Ajax recupLogin.php qui n’a pas besoin d’être modifié.
  • Changer l’appel de formRarity.html également pour un appel Ajax. Afficher un message en console grâce à « complete » d’Ajax.

Partie 2

  • Ajouter sur viewCartes.php un champ qui permet de rechercher un nom de carte. Lors de l’insertion d’une lettre dans le champ, on souhaite que le navigateur complète le nom avec certains prédéfinis.
    Pour cela réaliser un fichier autocomplete.js et utiliser la méthode autocomplete de JQUERY avec un tableau de nom prédéfinis dans ce fichier.
  • Améliorer le système en récupérant les noms de la bases de données en réalisant un fichier autocomplete.php. La page PHP devra afficher après votre requête SQL:
["Accro au [...]

mission Hearthstone 4

JavaScript et JQuery

Partie 1

  • Réaliser un fichier bonjour.js qui affiche bonjour. Inclure ce fichier dans index.php.
  • Afficher Hello en console également.
console.log("Hello");
  • Réaliser un fichier function.js et l’inclure dans index.php. Permettre grâce à une fonction nomCouleur de saisir le nom et la couleur de la carte et d’afficher une phrase en console contenant ces deux éléments .
<script src="function.js"></script>
<script>nomCouleur();</script>

Partie 2

  • Permettre grâce à une fonction score de saisir de la vie et l’attaque d’une carte et afficher la somme en console.
  • Dans une fonction meilleurScore, indiquer parmi deux cartes celle qui a la somme la plus haute en utilisant la fonction précédente.
  • Réaliser une fonction sommeScore qui permette d’indiquer la somme de 4 cartes.
  • Permettre à l’utilisateur de choisir le nombre de cartes à additionner dans cette fonction sommeScore.
  • Réaliser une fonction attaque qui soustrait un montant passé en argument de la vie d’une carte.
  • Permettre à l’utilisateur de saisir cet argument.
  • Permettre d’enregistrer chaque score dans un tableau grâce à la fonction mesCartes.

Partie 3

  • Vérifier avec JavaScript les input de formCarte.html grâce veriForm. La fonction renverra un booléen.
    • l’attaque est comprise entre 0 […]

JavaScript

– support stone  thrones otelo finder ristoo zoo tickoon finder

Présentation

Crée en 1995, JavaScript ou JS est un langage de scripts. Il sert principalement à contrôler les données saisies dans des formulaires ou modifier le code HTML. Le JS est exécuté coté client par le navigateur. Le code est donc accessible par l’utilisateur dans son ensemble. Il est toutefois possible d’écrire du JS coté serveur.

JS ne fonctionne pas de la même façon que Java. NetScape, fondateur de JavaScript était partenaire de Sun, créateur de Java. Pour des raisons commerciales, ils ont choisi ce nom. JS peut être remplacé par des technologies similaires comme Ruby, Python ou Dart qui sont des langages de scripts

Avantages

  • le plus rapide
  • à la mode
  • indépendant de l’OS

Inconvénients

  • différent des langages classiques

Métiers

 

Syntaxe de base

On écrit du JS entre des balises script.

<script>
alert(‘coucou’) ;
</script>

Il est nécessaire de finir les […]

mission NodeJS

Etape 1 :Installation et démarrage

  • Installer NodeJS https://nodejs.org/en/download/
  • Réaliser un fichier bonjour.js
console.log("Bonjour");
  • Tester le fichier.
node "dossier"/bonjour.js
  • Installer le module express grâce à npm.
npm install express --save

Création du serveur

  • Dans un fichier index.js
//L'application requiert l'utilisation du module Express.
var express = require('express'); 
 
var hostname = 'localhost'; 
var port = 8080;

// Nous créons un objet de type Express.  
var app = express(); 
 
// Démarrer le serveur 
app.listen(port, hostname, function(){
	console.log("Mon serveur fonctionne sur http://"+ hostname +":"+port+"\n"); 
});
  • Lancer le serveur, puis le tester, un message « cannot GET / » s’affiche.

Implémentation d’une URI /bonjour en GET

  • Le serveur devra renvoyer bonjour

Exemple de code serveur

var express = require('express');
var hostname = 'localhost';
var port = 8080;
var app = express();

//Afin de faciliter le routage (les URL que nous souhaitons prendre en charge dans notre API), nous créons un objet Router.
//C'est à partir de cet objet myRouter, que nous allons implémenter les méthodes.
var myRouter = express.Router();

myRouter.route('/waza')
// GET
.get(function(req,res){
res.json({message : "Youhou", methode [...]

API Gateau

Base de données

réaliser une base de données patisserie avec une table gateau. Cette table possédera comme champs un id et un nom.
insérer 10 sortes de gâteaux

API

Permettre à votre API de répondre aux routes suivantes grâce à SLIM dans un seul fichier index.php.

  1. gateau en POST pour insérer un gateau
  2. gateau/{id} en GET pour afficher un gateau
  3. gateaux en GET pour lister tous les gateaux
  4. gateau/{id} en DELETE pour supprimer un gateau
  5. gateau/{id} en PUT pour modifier un gateau

Réaliser le fichier htacess qui permet de regiriger les URI vers index.php
Implémenter les routes, dans un premier temps, elle répondront seulement « ok »
Ecrire une fonction qui se connecte à la base de données.
Relier chaque route à une fonction qui execute le service demandé.

Client

Réaliser une interface cliente uniquement en HTML, JQuery et Ajax pour utiliser les routes précédentes.
Afficher tous les boutons sur une seul page.
Appeler les routes grâce à JQuery qui lance une fonction Ajax au click du bouton. Les parametres seront transmis en dur dans l’URL dans un premier temps.
Permettre à l’utilisateur de saisir les informations du gateau pour la route 1, et l’id du gateau pour […]

Ship

On souhaite réaliser une application qui permette le déchargement des marchandises de navire rentrant du nouveau monde.

Partie 1

  • Réaliser la base de données
--
-- Base de données : `ship`
--

-- --------------------------------------------------------

--
-- Structure de la table `dechargement`
--

DROP TABLE IF EXISTS `dechargement`;
CREATE TABLE IF NOT EXISTS `dechargement` (
`id` int(11) NOT NULL,
`idNavire` int(11) NOT NULL,
`dateD` date NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Déchargement des données de la table `dechargement`
--

INSERT INTO `dechargement` (`id`, `idNavire`, `dateD`) VALUES
(1, 1, '1610-08-11');

-- --------------------------------------------------------

--
-- Structure de la table `lignedechargement`
--

DROP TABLE IF EXISTS `lignedechargement`;
CREATE TABLE IF NOT EXISTS `lignedechargement` (
`idDechargement` int(11) NOT NULL,
`idMarchandise` int(11) NOT NULL,
`quantite` double NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Déchargement des données de la table `lignedechargement`
--

INSERT INTO `lignedechargement` (`idDechargement`, `idMarchandise`, `quantite`) VALUES
(1, 1, 3);

-- --------------------------------------------------------

--
-- Structure de la table `marchandise`
--

DROP TABLE IF EXISTS `marchandise`;
CREATE TABLE IF NOT EXISTS `marchandise` (
`id` int(11) NOT NULL,
`nom` varchar(50) NOT NULL,
`poidsUnitaire` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Déchargement des données de la table `marchandise`
--

INSERT INTO `marchandise` (`id`, `nom`, `poidsUnitaire`) VALUES
(1, 'tabac', 2),
(2, 'indigo', 2),
(3, 'vanille', 2),
(4, [...]

Mission fish

Soit plusieurs fichiers dans différents répertoires de la forme :

rep1/
f1.jpg
f2.jpg
f3.jpg
..
wiwi.pdf
wawa.pdf

rep2/
f1.jpg
f2.jpg
f3.jpg
...
wiwi.pdf
wawa.pdf

rep3/
f1.jpg
f2.jpg
f3.jpg
..
wiwi.pdf
wawa.pdf

Chaque fichier est différent. On souhaite tout rassembler dans un seul répertoire avec comme préfix le nom du répertoire.
Exemple : repglobal/rep1-f1.jpg

  • Réaliser le programme dans le langage de votre choix, Python, PHP ou autre.
  • Améliorer le programme pour sélectionner uniquement les images.
  • Faire en sorte que les sous répertoire soient pris en compte (rep3/rep3a).

 

 

 

 

from pathlib import Path
import shutil
for p in  Path('.').glob('./**/*'):
   if p.is_file():
       word=str(p)
       word = word.replace("\\", "_")
       print(word)
       shutil.move(p,word)

 

mission RegEx

En PHP

  1. Rechercher le mot piano dans la phrase «  j’adore le piano »
  2. Modifier le mot piano pour le mettre en majuscule.
  3. Tester si la première lettre de « j’adore la programmation » est une voyelle grâce à une expression comportant une classe de caractère.
  4. Tester si le dernier mot correspond à programmation.
  5. Tester si la phrase  « youhou :) »  contient  «  :) »
  6. Vérifier si une adresse mail correspond au domaine sio.fr
  7. Remplacer le mot Lili par Lulu.

En HTML

  1. Vérifier qu’un champ input ne contienne que les mots home, tome, gomme.

En JS

  1. Proposer à l’utilisateur de rentrer son nom via JS, tester si le nom ne contient que des lettres. On acceptera les minuscules et majuscules. Insérer la valeur dans un champ input dans votre page HTML.

En CSS

  1. Ajouter à votre page HTML 3 phrases. Chaque phrase est entourée par une balise span possédant un id. On mettra comme id toto, tata puis lili.
  2. Réaliser un code CSS qui ne sélectionne que les deux premiers div grâce à une expression et définit une couleur de fond à bleu.

Sous le SGBDR MySQL

  1. Rechercher les noms des clients qui commencent par d et finissent par e.
  2. Rechercher […]

mission JavaScript

Etape 1 variable, affichage et saisie

Afficher bonjour grâce à JS dans une page HTML.

Sortir le code JS dans une page externe et exécuter le script sur la page HTML.

Permettre la saisie du nom et du prénom et afficher une phrase contenant les deux.

Permettre la saisie de deux nombre et afficher le résultat (il faut utiliser la fonction parseInt(valeur) pour transformer la saisie qui est une chaine en nombre.

Etape 2 les conditions if else

Demander à l’utilisateur de saisir un nombre, afficher s’il est supérieur ou inférieur à 20.

Etape 3 la condition switch

Réaliser un menu qui permette d’additionner, de soustraire, de multiplier ou de diviser deux nombres.

Etape 4 les boucles

Ecrire une boucle qui permette d’additionner 5 nombres saisie par l’utilisateur et d’afficher le résultat.

Ecrire une boucle qui permette de multiplier les nombres saisis par l’utilisateur tant qu’il le souhaite, choisir sa condition de sortie.

Etape 5 les fonctions

Réaliser une fonction qui affiche bonjour avec votre nom.

Réaliser une fonction qui prenne en paramètre un argument et qui affiche « bonjour » + l’argument

L’appel de cette fonction se fera à la suite en écrivant tout simplement le nom de la fonction et le paramètre voulu. Permettre à l’utilisateur de […]

Go to Top