Javascript position de la souris

<div onClick="test(parametre, event)">

function test(parametre, e)
{
  var x=e.clientX; //nombre de pixels depuis la droite de la fenêtre
  var y=e.clientY;
  console.log ("X coords: " + x + ", Y coords: " + y);

  var x=e.pageX;  // nombre de pixels depuis la droite de la page web

  var x=e.screenX;  // nombre de pixels depuis la droite de l'ecran

}

VIRTUALBOX

vbox_logo2_gradientvboxlogodown 

Machines virtuelles officielles Windows  fournies par Microsoft ICI   slmgr –rearm ou sauvegarder l’état

Machines virtuelles Linux des plus récentes aux plus anciennes ICI

Encore du Linux ICI

Du vieux Linux et Android ICI

PHP EN UTF-8

htmlentities retourne toute la chaine vide si au moins un accent en UTF-8
autres pb en UTF-8
solutions :

htmlentities($string, ENT_QUOTES, 'UTF-8');
htmlspecialchars($str, ENT_NOQUOTES, "UTF-8");

//MySQL
  $link = mysql_connect('localhost', 'user', 'password');
  mysql_set_charset('utf8', $link);  // anciennes versions
  mysql_query("SET NAMES 'utf8'");   // Plutôt utiliser cette solution

Fonctions chaines dans PHP ne comptent pas correctement la longueur
:
dans le php.ini mbstring.func_overload = 7
détails ici

Article complet 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

Access internet Guadeloupe

http://www.speedtest.net

Comparatif de deux lignes même et unique PC, même heure, dans la journée, puis le soir.

A Numéricable « la fibre »  30 Mb  qui est en fait du câble coaxial

B Orange ADSL 20 Mb 

  ping Descendant Montant
Guadeloupe-Guadeloupe      
Numéricable / SFR  106 ms / 145
 2.92 mb / 1.17 le soir
 0.92 mb / 0.94
Orange  122 ms / 18 ms
 7.01 mb / 6.98 le soir
 0.80 mb / 0.84
Guadeloupe-USA      
Numéricable /SFR  111 ms / 112
 2.08 ms / 1.37 le soir
 0.91 mb / 0.90
Orange  101 ms / 110
 7,11 Mb / 6.58 le soir
 0.82 Mb / 0.86
 Guadeloupe-Europe      
Numéricable / SFR  124 Ms / 153
 2.36 Mb / 1.20 le soir
 0.92 Mb / 0.93
Orange  140 Ms / 133
 5.98 Mb / 6.82 le soir
 0.82 Mb / 0.73

A la ligne est vendue pour du 30 Mb en réalité c’est du 3 mb Le débit pour joindre des sites hors Guadeloupe reste à 3Mb, contrairement à Mediaserv qui ne dispose pas d’assez de bande passante pour servir tous ces clients. Le soir par contre c’est limite utilisable, ne comptez regarder un film en streaming. Ce qui est étonnant, c’est la stabilité du ping malgré la baisse de débit. Reste utilisable en SSH mais plusen RDP

B La ligne 20M n’en fait que 8, ce qui globalement est deux à trois fois mieux que Numéricable, l’accès au reste du monde est très correct. Cette ligne est régulièrement en panne, coupure, micro-coupure… comme souvent pour L’ADSL mal entretenu en climat tropical

J’ai fait d’autres mesures comme la gigue qui est plus critique que le débit en utilisation pro. Numéricable et Orange donnent des résultats similaires tout à fait acceptables.

Numéricable ne livre pas ce qui est vendu (débit / 10, cuivre au lieu de fibre) mais le résultat reste tout à fait convainquant pour une utilisation en entreprise. Voire un poil mieux pour le ping et la gigue. Le câble coaxial utilisé (rien à voir avec la fibre optique annoncée) est moins sensible à l’humidité. Comme le réseau est plus récent, la maintenance est plus simple.

L’infrastructure Orange est nettement un cran au dessus. Malheureusement « le dernier kilomètre » est en très mauvais état. Avoir un internet performant ne sert à rien s’il est coupé régulièrement.  Pour ceux dont la ligne téléphonique cuivre est en bon état, Orange est la meilleure solution. Mais le réseau vieillissant et les interventions bâclées n’arrangent rien. Une petite réorganisation du service technique Orange pourrait changer la donne.

PHPExcel

PHPExcel

Lecture ecriture de fichiers Excel en PHP

<?php 
require_once($_SERVER[DOCUMENT_ROOT]."/monchemin/class/PHPExcel.php");
require_once($_SERVER[DOCUMENT_ROOT]."/monchemin/class/PHPExcel/IOFactory.php");
$modele  = $_SERVER[DOCUMENT_ROOT]."/monchemin//modele/excel_modele.xls";
$excelReader = PHPExcel_IOFactory::load($modele); //charge le fichier excel
$excelReader->setActiveSheetIndex(1);   // sélection deuxième onglet (1) facultatif

$excelReader->getActiveSheet()->SetCellValue("C2", "test");   // Mets "test" dans la cellule C2

// acces aux cellule en numérique pratique pour des boucles
$excelReader->getActiveSheet()->setCellValueByColumnAndRow(1, 3, "test");   // Mets "test" dans la cellule B3

// mets une date MySQL dans la cellule C4
$bidon=faire_date($row["DATE"],$excelReader, "C4" );

// force le format texte pour afficher par exemple un code barre
$excelReader->getActiveSheet()->setCellValueExplicit("F5", $row[GENCOD], PHPExcel_Cell_DataType::TYPE_STRING);

// envoi le fichier excel au navigateur
header("Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
header("Content-Disposition: attachment;filename=mon_nouveau_fichier.xls");
header("Cache-Control: max-age=0");
$objWriter = PHPExcel_IOFactory::createWriter($excelReader, "Excel5");
  
$objWriter->save("php://output");

// ou pour sauver dans un fichier sur le disque (sans les header)
$objWriter->save("monfichier.xls");


function faire_date($dt,&$excelReader, $cel ){
	$date1 = explode("-",$dt);
	$time1 = PHPExcel_Shared_Date::FormattedPHPToExcel($date1[0], $date1[1], $date1[2]);
	$excelReader->getActiveSheet()->getStyle($cel)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_DDMMYYYY);
	$excelReader->getActiveSheet()->SetCellValue($cel, $time1); 
}
?>

Microsoft excel affiche parfois des messages concernant l’intégrité ou la sécurité des fichiers produits. Préparer les modèles avec Libreoffice évite ce problème

quelques liens

exemples de code