Expressions régulières

// variable enrourée de {{ }} 
// double pour éviter de capturer if(){} et autre accolades simples 
var formule = 'ma formule avec une {{variable}} et autre chose'; 
var mavariable = '12'; 
// remplace une variable par sa valeur avant un eval 
var moneval = formule.replace(/{{(.*?)}}/g, mavariable) ; 
console.log(moneval); // ma formule avec une 12 et autre chose 
// 'habille' la variable pour la trouver dans un objet avant un eval 
var moneval = formule.replace(/{{(.*?)}}/g, 'montableau[\'$1\']') ; 
// ma formule avec une montableau['variable'] et autre chose' 
console.log(moneval); 

Notepad ++ ajouter apostrophes aux variables PHP
mavariable[param] -> mavariable[« param »]

recherche \[([a-zA-Z0-9_]*)\]
remplace \["\1"\]

Construction en ligne d’expressions régulières, REGEX avec explications et aides https://regex101.com/#javascript

Notes javascript

Rappel, pour tester du javascript ICI

NODE.JS

Très bon article  pour débuter

installation Debian

apt-get install nodejs 

update-alternatives –install /usr/bin/node nodejs /usr/bin/nodejs 100   –> maintenant nodejs ET node   utilisables

curl https://www.npmjs.com/install.sh | sh --> installation de npm pour les bibliothèques

utilisation : node monscript.js

node -v et npm -v pour controler

Programmation outils

notepad Notepad++  Windows uniquement, Linux avec Wine  free
Winscp  client FTP SFTP avec un cache très performant, s’utilise avec Putty et Notepad++  free
putty-05-535x535 Putty     LE client SSH  fonctionne seul ou avec Winscp  free

Navicat    Gestion des bases de données  produit très cher… mais le prix est justifié
MySQL Workbench Comme Navicat mais plutôt free<§td>
phpMyAdmin  gestion des Bases MySQL en PHP Très pratique, mais rien avoir avec Navicat.  Nombreuses attaques. Le mieux est de ne l’activer que lorsque que l’on en a besoin.
visuel_studio_code VS Code  Editeur gratuit de Microsoft pour PHP, Javascript, HTML, CSS … vraiment pas mal Windows, Linux, Mac 

Javascript boucles

// for ( initialisation variables ; condition à tester ; à exécuter à chaque passage
// on peut omettre une section, mais il faut les ; 
for (i = 0, len = cars.length, text = ""; i < len; i++) {
    text += cars[i] + "<br>";
}
// on peut omettre une section, mais il faut les ; 
// ex 
var i=0;
for (; i < len; ) { i++;}

//**************************************************
// for sur les propriétés d'un objet ou d'un array
var obj = {a:1, b:2, c:3};
    
for (var prop in obj) {
  console.log("obj." + prop + " = " + obj[prop]);
}

// Output:
// "obj.a = 1"
// "obj.b = 2"
// "obj.c = 3"

// attention aucune garanties sur l'ordre, notamment d'un navigateur à l'autre

//**********************************************
while (i < 10) {
    text += "The number is " + i;
    i++;
}

//**********************************************
myArray.forEach(function(item, index) {
    console.log(item, index);
});