CSS bouts de trucs

Calcul dans les styles

<style>
  #monobjet[
    width:180px;
    width:100%;    // tout le div contenant
    margin-left:180px;  // monobjet va sortir de 180px vers la droite
      // solution
    width:calc(100% - 180px);  // tout le div contenant - 180px;  
      // calcul avec + - * /  des % px, em  ne pas oublier d’entourer les opérateurs par des espaces
  }
</style>

Pour afficher un truc du genre : Ctrl+Shift+M

<kbd class="kbd">Ctrl</kbd>+<kbd class="kbd">Shift</kbd>+<kbd class="kbd">M</kbd>
<style>
kbd {
    background-color: #f7f7f7;
    border: 1px solid #ccc;
    color: #333;
    font-size: 11px;
    line-height: 1.4;
    text-shadow: 0 1px 0 #fff;
    display: inline-block;
    padding: .1em .6em;
    margin: 0 .1em;
    white-space: nowrap;
    box-shadow: 0 1px 0 rgba(0,0,0,.2),0 0 0 2px #fff inset;
    border-radius: 3px;
}
</style>

WORPRESS ajout recherche Google

Google mets à disposition des recherche personnalisées. Il est possible de faire une recherche sur son site WordPress, et d’afficher les résultat dans une page comme si le moteur Google était intégré à WordPress.
Le moteur Google permet de savoir ce que les internautes peuvent trouver lors d’une recherche Google, ce qui est souvent différent de ce que vous voulez. Par contre il n’est à jour que quelques temps après la publication des articles… Pour ce qui est des modifications sur les articles, il faut parfois attendre très longtemps.
Le moteur interne de WordPress retourne le vrai contenu, à jour… mais ne corrige rien, on peut donc passer à coté du bon article pour une faute de frappe ou d’orthographe.

1 récupérer le code fourni par Google contenant les ID, A le code du formulaire de recherche, et B celui pour le résultat.
2 Créer une page, par exemple RECHERCHE, en mode texte coller le code Google B et copier le permalien
3 thème, éditeur -> searchform.php, remplacer le code d’origine par celui de Google A
Il est possible d’ajouter le code Google pour avoir simultanément les deux moteurs.

4 remplacer le form action par le permalien de RECHERCHE.
C’est tout

Il est ensuite possible de « bricoler le formulaire de recherche avec style=…. pour l’adapter au thème

Javascript change recharge page

charge une page en javascript

var url ='http://example.com';

// à utilser de préférence
window.location.href=url;

//  remplace aussi l'entrée dans l'historique du navigateur (bouton back faussé)
window.location.replace(url);

window.location.assign(url);

// ne pa sutiliser
window.location = url;
document.location....

Javascript évènements

&lt;button id="monbouton" name="button"&gt;Click me&lt;/button&gt;
&lt;script&gt;
  function faire_un_truc(){
    // faire quelque chose
    alert('truc fait');
  }
  document.getElementById('monbouton').addEventListener('click', faire_un_truc);
    //ou
  document.querySelector('#monbouton').addEventListener('click', faire_un_truc);
    // pour enlever
  document.querySelector('#monbouton').removeEventListener('click', faire_un_truc);
    // avec la fonction incorporé
  document.querySelector('#monbouton').addEventListener("click", function(){
     alert('truc fait');
  });
    // idem avec référence à l'objet appelant (le bouton devient rouge)
  document.querySelector('#monbouton').addEventListener("click", function(){
     this.style.backgroundColor = "red";
  });
&lt;/script&gt;
// Autre façon code plus facile à maintenir car le bouton appelle l'action
// avec les listener il n'est pas rare de s'y perdre
&lt;button  onClick="faire_un_truc();"&gt;Click me&lt;/button&gt;

javascript promise

Méthode pour exécuter du code asynchrone

<button name="button" onClick="testPromise();">Click me</button>
<div id="log"></div>
<script>
	$('#message1').html('promise page charg&eacute;e')
		
	'use strict';
	var comptePromesse = 0;

	function testPromise() {
		var thisComptePromesse = ++comptePromesse;
		
		var log = document.getElementById('log');
		log.insertAdjacentHTML('beforeend', thisComptePromesse + ') Started (<small>Debut du code synchrone</small>)<br/>');

	  // on crée une nouvelle promesse :
		var p1 = new Promise(
			// La fonction de résolution est appelée avec la capacité de 
			// tenir ou de rompre la promesse
			function(resolve, reject) {  
				var tst;
				log.insertAdjacentHTML('beforeend', thisComptePromesse + ') Promise started (<small>Debut du code asynchrone</small>)<br/>');
				// Voici un exemple simple pour créer un code asynchrone
				/*window.setTimeout(
					function() {
					  // On tient la promesse !
					  resolve(thisComptePromesse+'aaaaaa');
					}, Math.random() * 2000 + 1000
				);*/
                                // un autre exemple
				tst=Math.random();
				if(tst>0.5){resolve('OKOKOKOK');}else{reject('NONONONONO');}
				
				//resolve('OK');
				
			}
		);

		// On définit ce qui se passe quand la promesse est tenue
		// et ce qu'on appelle (uniquement) dans ce cas
		// La méthode catch() définit le traitement à effectuer
		// quand la promesse est rompue.
		p1.then(
			// On affiche un message avec la valeur
			function(val) {
				log.insertAdjacentHTML('beforeend', val +') Promise fulfilled (<small>Fin du code asynchrone</small>)<br/>');
			}
		).catch(
			// Promesse rejetée
			function(val) { 
				//console.log("promesse rompue"+val);
				log.insertAdjacentHTML('beforeend', val +') Promise rompue (<small>Fin du code asynchrone</small>)<br/>');
			}
		);

		log.insertAdjacentHTML('beforeend', thisComptePromesse + ') Promise made (<small>Fin du code synchrone</small>)<br/>');
	}	
</script>

Clique sur bouton -> testPromise()
Création objet p1 new Promise -> function(resolve, reject) en asynchrone
p1.then est appelé par resolve(‘truc en retour’)
p1.then().catch() est appelé par reject(‘un autre truc en retour’)

http://www.html5rocks.com/en/tutorials/es6/promises/
https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise

Javascript / JQUERY document.ready

Le code javascript contenu dans une page à tendance à s’exécuter au moment ou il est lu (chargé) par le navigateur. Si le code interprété utilise par exemple un DIV qui n’est pas encore arrivé au navigateur -> PB. Pour cela il existe

<script type="text/javascript">
  $(document).ready(function(){
    // code à executer
  });
</script>

Il est possible d’avoir plusieurs document.ready dans une page
Ne pas oublier jquery, avec un truc du genre

<script type="text/javascript" src="jquery-1.2.6.min.js"></script>

Clipart images photos open

finda.photo Photos libres de droits moteur de recherche par thème et couleur
openclipart 30 000 images avec moteur de recherche
findicons 150 000 icones, ico png… avec moteur de recherche
tineye.com recherche image identique ou semblable
cooltext Générateur de logo text simpliste mais parfois suffisant
icones.pro 150 000 icones, ico png… avec moteur de recherche
morguefile Photos et images libres de droits avec moteur de recherche
pixabay Photos et images libres de droits avec moteur de recherche
imagebase Photos et images libres de droits avec moteur de recherche
photopin Photos et images libres de droits avec moteur de recherche
flaticon Des millier d’icones plates monochromes par thèmes, PNG, SVG; EPS, PSD, base64