journal-promo-ada

1er Mai 2020

J’ai commencé à utiliser w3c validator.

J’ai appris :

J’ai lu un article sur les OOCSS (Objet oriented CSS) et un autre.

J’ai commencé à suivre un cours sur les API.

Samedi 2 mai

Je participe au Webinar du Wagon sur les APIs.

Qu’est-ce qu’une API?

It’s an interface, used by programs, to interact with an application.

Pour faire une métaphore. Dans un restaurant pour commander de la nourriture on passe par le serveur (l’interface) pour avoir notre repas. On ne cuisine pas son propre repas.

Pour commander on regarde le menu (la documentation de l’API) et le prix (free/or not).

Vocabulaire :

Où?

un site où on peut chercher des APIs

    ### Exemple avec MapBox API.

    [Mapbox API](https://www.mapbox.com/)

    search in the documentation what we want to do : geocoding (How translate adress into gps coordinates). Geocoding : Airnbnb contact the api given the adress and saying please give me the gps coordinates.

    the API does `forward geocoding`. 

    ### Exemple avec Twilio API

    compagny proposing an api which send text message to someone (used by uber)

    ### Exemple avec Stripe API

    allows you to have a payement system on your website.

Webhooks

Webhooks is an event which triggers a bit of code.

You are cooking in your kitchen. How do you your visitor are here? You install a doorbell. Each time a guest arrived the doorbell rings.

The doorbell is the webhook.

Exemple Shopify

Everytime a user does a purchasse on your plateform your receive an email sying a user bying something on our plateform.

Exemple Stripe

Each time a payement is made stripe stocks the informations of the custumers

capture lead informations and push

Tools

Lundi 4 mai

J’ai lu un article sur les unités Viewport en CSS.

Mardi 5 mai

Mercredi 6 mai

Vendredi 8 mai

Participation à l’atelier DjangoGirls Paris pour s’initier au langage Python avec le framework Django.

J’ai continué le Tutoriel DjangoGirls :

J’ai appris à utiliser Git en ligne de commande : git init $ git config --global user.name "Your Name" $ git config --global user.email you@example.com git status git add --all . git commit -m "mon commit" $ git remote add origin https://github.com/<your-github-username>/my-first-blog.git git push -u origin master

Samedi 9 mai

Participation à l’atelier DjangoGirls Paris pour s’initier au langage Python avec le framework Django.

Je continue le Tutoriel DjangoGirls :

Lundi 10 mai

Début du cours de PHP avec Nicolas Hennette! 🎉

travail sur :

- `<?php echo 'Hello world'; ?>`

- `<?php include "accueil.php"; ?>`

- `<?php 
     $addition = $entier + 5;
     $multiplication = $entier * $decimal;
     $division = $entier / 3;
     $soustraction = $entier - 21;
     $modulo = 7 % 2;    
    ?>`
    
 - `echo gettype($ma_variable);

18h/21h45 atelier DjangoGirls session2 : approfondissement du tutoriel et questions à Raphaël.

Mardi 11 mai

Cours de Php

Mercredi 12 mai

Cours de Php

Exercice sur les fonctions liées aux chaînes de caractères. Utilisation du manuel officiel Php.

    - `strlen` calcule le nombre de caractère dans ma chaine (la taille d'une chaine)
    - `str_replace` la fonction qui permet de remplacer le mot "dolor" dans la chaine par le mot "porte"
    - `str_shuffle` la fonction qui mélange les lettres d'une chaine
    - `strrev` inverse la chaine (la premiere lettre de la chaine se retrouve à la fin)
    - `strpos` retourner la place du mot "elit" dans une chaine
    - `strip_tags` effacer les tags HTML de ma chaine
    - `strtoupper` mettre la chaine en majuscule
    - `substr` Récupérer seulement les 10 premiers caractères de ma chaine
    - `substr` Récupérer seulement les 10 dernier caractères de ma chaine
    - `trim` effacer les espaces en début et en fin de chaine

les constantes : - define('TEMPERATURE_EBULLITION_EAU',100); // on écrit (par convention) les constantes en majuscule. On peut notamment écrire l’url du site avec define plutôt qu’en tant que variable car l’url ne doit pas changer selon les pages du site.

Jeudi 13 mai

`<?php
$fruit = "amande";

switch ($fruit) {
    case 'kiwi' :
    case 'banane' :
        echo 'J\'aime les fruits exotiques <br>';
        break;  // obligatoire pour sortir du switch
    case 'pomme' :
    case 'poire' :
        echo 'J\'aime les fruits classiques <br>';
        break;
    case 'amande' :
        echo 'J\'aime les graines <br>';
        break;
    default :  // cas par défaut : aucun des précédents cas n'a été validé.
        echo 'J\'ai l\'impression que je n\'aime pas trop les fruits<br>';
        break;
}
?>`

EXO : réécrire le dernier switch avec des if / else pour avoir le même résultat


`<?php 
$fruit = "amande";

if ($fruit == 'kiwi' || $fruit == 'banane') {
  echo 'J\'aime les fruits exotiques';
}
else if ($fruit == 'pomme' || $fruit == 'poire') {
  echo 'J\'aime les fruits classiques';
}
else if ($fruit == 'amande') {
  echo 'J\'aime les graines';
}
else {
  echo 'J\'ai l\'impression que je n\'aime pas trop les fruits';
}
?>`

Vendredi 14 mai

Cours de Php

Travail sur les fonctions

Mercredi 20 mai

Cours PHP

Cours grid css avec Laila

Cours Git “faire une pull request avec Laila :

Vendredi 22 mai

J’ai refactorisé ma fonction affichagePath en utilisant les data-attributes, suivant les conseils de Laila et Yannick

AVANT REFACTORISATION :

`function RendreVisible(classPath) {
  let l = `${classPath}line`;
  let t = `${classPath}text`;
  let tb = `${classPath}textbis`;
  let a = `${classPath}arrow` ;
  document.querySelector(l).style.visibility="visible";
  document.querySelector(t).style.visibility="visible";
  document.querySelector(tb).style.visibility="visible";
  document.querySelector(a).style.visibility="visible";
}`

APRES REFACTORISATION :

`function RendreVisible(classPath) {
  document.querySelectorAll('[data-color="' + classPath + '"]').forEach(function(path){
    path.style.visibility="visible";
  });
};`

Laila m’a conseillé une écriture plus moderne pour perfectionner la concaténation de variables :

`function RendreVisible(classPath) {
  document.querySelectorAll(`[data-color="${classPath}"]`).forEach(function(path){
    path.style.visibility="visible";
  });
};`

Mercredi 27 mai

Cours de PHP (correction du formulaire $_GET et commencement de la méthode $_POST)

Remote avec Laila :) :