APACHE URL rewriting

Permet de faire par exemple :
http://mapage.php?client=418899&ref=f78957 –> http://facture/418899/carte

Le lien que vois PHP –> le lien qui circule sur le WEB et dans les pages

Utilisé à une époque pour améliorer le référencement, il reste encore utile dans bien des cas
L(URL normale plein de paramètre est remplacée par des choses plus parlante, ou au contraire masquée derrière des codes
Les lien dans la page web peuvent être normaux ou réécrit. Le lien qui arrive dans PHP (ou autre) est celui avec les ?client=418899&facture=f78957 … dans la mesure ou les règles de réécriture sont bien faites

Placer ces règles soit dans un .htaccess pour faire la mise au point ou sur un mutualisé, soit dans le fichier de conf d’Apache (mieux)

Options FollowSymLinks
RewriteEngine on
RewriteBase /

RewriteRule ^facture/([0-9]+)/([a-zA-Z]+)/(.*)$ mapage.php?client=$1&ref=$2&par=$3 [L]

Ecplication : toute URL commençant par http://facture/ des_chiffres / des_lettres / n_importe_quoi deviendra
mapage.php?client=des_chiffres&ref=des_lettres&par=n_importe_quoi

le motif est une expression régulière

plus de détails ICI

Javacript règles

* Pour un code plus clair et plus facile à maintenir.
* Déclaration des variables en début de fonction
* Déclaration des fonctions juste avant de les utiliser
* = espace avant et après comme (+,-,/,*)
* Ne pas utiliser  » préférer ‘ (réserver le » pour PHP, et donc règle inverse en PHP)
* espace après une virgule, pas avant
* Fonction, pas d’espace devant { }ou devant ()  function(par1, par2){ code } OK  function (par1,par2) { code } pas bon<
* Dans tous les autres cas ( est précédé d’un espace
* Toujours mettre ; à la fin de la ligne, même si cela fonctionne sans 
* Ligne trop longue -> à éviter : pb de lisibilité. Si pas autre solution, \ pour découper en plusieurs lignes (attention, pas d’espace après\)

* ‘use strict’; dès que possible pour être obligé de bien gérer les variables et faire remonter des erreurs invisibles autrement, accessoirement le code est plus rapide

function() {
  'use strict';

  // un monde plus sûr

}

Javascript liens intéressants

* Livre en ligne en anglais, très bien fait et très complet
* Livre en anglais complet

* Plein de livres

Design patern
* Livre en anglais
* Petit tuto en ligne en français

Outils
* jslint émulateur en ligne très utile pour tester du code ou apprendre à mieux écrire du JS
* jsbin émulateur en ligne plus complet avec HTML et CSS
* codepen émulateur en ligne plus complet avec HTML et CSS et des tas de codes exemples
* Doc devtools Chrome outils de dev présents dans le navigateur
* Doc devtools Firefox
* Doc devtools Edge de Microsoft

vidéos
* Style écriture du code, excellant, en anglais
* Plein d’autres dont certaines incontournables, en anglais

Bibliothèques
* Des centaines de bibliothèques de code très bon

Développement mobile notes

Google Chrome Ctrl+Shift+M passe en mode émulation mobile succinct

debug chrome mobile de puis chrome desktop
ripple appli chrome pour simuler un mobile

VIM

Editeur ligne de commande linux apt-get install vim

vim monficher –> ouvrir le fichier à éditer  

ESC :syntax on –> coloration syntaxique  
ESC :nu –> numérotation des lignes 
ESC –> Retour à la navigation dans le document (à faire tout le temps avant de continuer) 
touches flèche ou hjkl pour naviguer H haut de l’écran L en bas
i ou touche insert –> Modification (insert)  
v –> sélection de bloc de lignes (mode visuel)  
CTRL v –> sélection de bloc (mode visuel)  
gg –> début du fichier  
G –> fin du fichier  
$ –> fin de la ligne  
0 –> début de la ligne  
: –> Action (mode commande)
ESC :w –> enregistre
ESC :q –> quitte  ESC:q! quitte sans enregistrer
ESC :help commande
D –> couper la ligne   P –> Coller
O –> inserer une ligne
u –> annule la dernière action
/ –> recherche n –> continue la recherche
* –> recherche le mot sous le curseur

Le pavé numérique du clavier n’est pas toujours reconnu… utiliser les chiffres du clavier normal

CSS avec des variables

  :root {
    --main-bg-color: brown;  // set variable
  }
  .menu {
    color: white;
    background-color: var(--main-bg-color);
  }
  .page {
    color: red;
    background-color: var(--main-bg-color);
 }

Il peut être intéressant de définir des variables dans les CSS. Cet exemple ce code n’est pour l’instant utilisable qu’avec Firefox version bureau.. les autres navigateurs risquent de s’y mettre, à surveiller