journal-promo-ada

Avril 2020

Mardi 1er

J’ai continué tout doucement la refonte de Codevores. Difficile d’y voir clair dans tous le code produit avant. J’ai l’impression que repartir de 0 aurait été plus simple.

Cet après midi reprise du cours Animation sur OpenClassRoom. j’ai appris:

Il faut optimiser les performances du navigateurs pour les animations CSS :

Créer des animations fluides avec transform :

Modifier le point d’ancrage d’un élèment grâce à transform-origin:

Analyser la performances des animations avec Chrome DevTools :

Animer les couleurs avec opacity :

Jeudi 2 Avril

J’ai repris tous le bloc 2 du cours Animation d’Openclassroom en essayant de refaire les exercices. Je me rends compte que je bloque sur certaine traduction de Scss en Css.

Gauthier partage une application permettant de traduire en direct le scss en css : SassMeister.

Vendredi 3 Avril

Visioconférence d’Olivier, développeur dont les langages favoris sont Javascript et Java! :) J’apprends que :

Samedi 4 Avril

Je continue le cours Animations d’OpenClassRoom.

Des animations plus complexes avec la règle CSS @keyframes

Utiliser les propriétés de l’animation CSS

Manipulez et réutilisez les animations CSS

Lundi 6 Avril

Début du cours Openclassroom PHP.

fonctionnement d’un site écrit en PHP.

Il existe deux types de sites web :

Les visiteurs du site sont appelés les clients. Ils demandent au serveur qui héberge le site de leur transmettre les pages web.

PHP est un langage exécuté par le serveur. Il permet de personnaliser la page en fonction du visiteur, de traiter ses messages, d’effectuer des calculs, etc. Il génère une page HTML.

MySQL est un système de gestion de bases de données. Il se charge du stockage des informations (liste des messages, des membres…).

Ecrire son premier script

Les variables

Mercredi 8 Avril

J’ai continué les modifications de mon site Codevores en ajoutant un input slider et je l’ai relié en javascript pour afficher le prix choisi par l’utilisateur. J’ai participé à la réunion Descodeuses pour réfléchir ensemble sur les modalités de reprise de la formation en le 2 Mai.

Jeudi 9 Avril

J’ai continué les modifications de mon site codevores. J’ai reconnecté les boutons hamburger dont j’avais changé les classes. Il faut encore que je réorganise pour afficher correctement le menu.

J’ai assisté au Meet-up sur le Sketchnoting organisé par les Duchesses (Mathilde. L) et Flutter. Pierre Tibulle présente le sketch noting ou “facilitation graphique” :

Vendredi 10 Avril

Reprise des cours de PhP

Les boucles :

Les arrays

Les tableaux (ou arrays) sont des variables représentées sous forme de tableau. Elles peuvent stocker de grandes quantités d’informations.

Chaque ligne d’un tableau possède une clé (qui permet de l’identifier) et une valeur.

Il existe deux types de tableaux :

Pour parcourir un tableau, on peut utiliser:

Il existe de nombreuses fonctions permettant de travailler sur des tableaux et notamment d’effectuer des recherches :

Les Fonctions

PHP propose des centaines et des centaines de fonctions prêtes à l’emploi pour tous types de tâches : envoyer un e-mail, récupérer l’heure, crypter des mots de passe, etc.

Si PHP ne propose pas la fonction dont on a besoin, il est possible de la créer avec le mot-clé “function”.

Les erreurs en PHP

Les erreurs les plus courantes

Les erreurs rares

Mardi 14 avril

Reprise du cours php d’OpenClassRoom

Transmettre des données avec L’URL

Transmettre des données avec un formulaire

Jeudi 16 avril

J’ai continué à modifier mon site Codevores.

J’ai avancer d’un chapitre le cours de PHP et j’ai réussi le tp consistant à créer deux pages php dont l’une est protégée par un mot de passe qui doit être donné par l’utilisateur dans le champ input password de la première page php.

<?php
htmlspecialchars($_POST['mdp']);

if (isset($_POST['mdp'])){
  if ($_POST['mdp'] == 'kangourou') {
    echo('voici les informations confidentielles');
  } else {
    echo('Vous n'avez pas les autorisations');
  }
} else {
    echo('Vous n'avez pas les autorisations');
    }
?>

Vendredi 17 avril

Je continue le cours de PHP

Les variables superglobales

Les variables superglobales sont des variables automatiquement créées par PHP. Elles se présentent sous la forme d’arrays contenant différents types d’informations.

Samedi 18 Avril

J’ai recommencé à travailler sur le projet de site de Clément.

- J'ai construit une page sous forme de grille d'images regroupant tout ses projets. J'ai utilisé la propriété `grid`de CSS. C'est très responsive. Même s'il est dit que cela soit mal supporté par Internet Explorer. Il y a apparemment des tutos pour adapter la grid sous IE donc il faudra que je me plonge là dedans. 

## Dimanche 19 Avril

Je continue à travailler sur le site de Clément.

J’ai mis en place un filtre de couleur au hover d’une image de la page works.html. J’ai mis du temps à comprendre comment faire car Clément voulait une couleur qui ne faisait pas partie des filterproposé par css. J’ai donc filouté en changeant l’opacité de l’image au hoveret en mettant un background-color avec la couleur choisie.

J’ai tenté de modifier mon script slideshow pour qu’au passage de la souris le slideshow se stoppe sur l’image choisie. C’est plus compliqué que prévue. Le setTimeOut de mon script doit être stoppé avec clearTimeOutprenant comme argument la valeur retournée par SetTimeOut. Mais je n’y arrive pas. :(

## Lundi 20 Avril

Je continue le site de Clément.

Olivier m’a aidé a trouver une solution alternative pour mon slideshow :

Lundi 27 Avril

Je reprends le cours Openclassroom de PHP

Lire et écrire dans un fichier

PHP permet d’enregistrer des informations dans des fichiers sur le serveur.

Il faut au préalable s’assurer que les fichiers autorisent PHP à les modifier. Pour cela, il faut changer les permissions du fichier (on parle de CHMOD) à l’aide d’un logiciel FTP comme FileZilla. Il faut donner la permission 777 au fichier (et parfois au dossier) pour permettre à PHP de travailler dessus.

<?php
$monfichier = fopen('compteur.txt', 'r+'); // 1 : on ouvre le fichier 

$pages_vues = fgets($monfichier); // On lit la première ligne du fichier (nombre de pages vues). Si on voulait lire plusieurs lignes il faudrait faire une boucle.
$pages_vues += 1; // On augmente de 1 ce nombre de pages vues
fseek($monfichier, 0); // On remet le curseur au début du fichier
fputs($monfichier, $pages_vues); // On écrit le nouveau nombre de pages vues

fclose($monfichier); // 3 : quand on a fini de l'utiliser, on ferme le fichier

echo '<p>Cette page a été vue ' . $pages_vues . ' fois !</p>';
?>

À moins de stocker des données très simples (ex: nombres de visites sur le site), l’utilisation des fichiers n’est pas la technique la plus adaptée. Mieux vaut faire appel à une base de données.

Qu’est ce qu’une base de données

Une base de données est un outil qui stocke les données de manière organisée et permet de les retrouver facilement.

On communique avec MySQL grâce au langage SQL. Ce langage est commun à tous les systèmes de gestion de base de données (avec quelques petites différences pour certaines fonctionnalités plus avancées).

PHP fait l’intermédiaire entre nous et MySQL.

Une base de données contient plusieurs tables.

Chaque table est un tableau où les colonnes sont appelées « champs » et les lignes « entrées ».

Mardi 28 Avril

Je continue les cours Openclassroom PHP

Ecrire des données

Pour dialoguer avec MySQL depuis PHP, on fait appel à l’extension PDO de PHP.

Avant de dialoguer avec MySQL, il faut s’y connecter. On a besoin de :

<?php
try
{
	$bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', '');
}
catch(Exception $e)
{
        die('Erreur : '.$e->getMessage());
}
?>

Les requêtes SQL commençant par SELECT permettent de récupérer des informations dans une base de données.

$reponse = $bdd->query('SELECT nom FROM jeux_video LIMIT 0, 10');

Il faut faire une boucle en PHP pour récupérer ligne par ligne les données renvoyées par MySQL.

while ($donnees = $reponse->fetch())
{
	echo $donnees['nom'] . '<br />';
}

Le langage SQL propose de nombreux outils pour préciser nos requêtes, à l’aide notamment des mots-clés :

Pour construire une requête en fonction de la valeur d’une variable, on passe par un système de requête préparée qui permet d’éviter les dangereuses failles d’injection SQL.