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

MySQL Numéroter les lignes d’une facture

                   A partir de cette table                           Obtenir ce résultat

NUM REF QTE PRIX    LN NUM REF QTE PRIX
F114895 BOITE12 5 5,00 €   1 F114895 BOITE12 5 5,00 €
F114895 VIS 4 6,00 €   2 F114895 VIS 4 6,00 €
F114895 COCA 1 7,00 €   3 F114895 COCA 1 7,00 €
F114896 BOIT16 1 8,00 €   1 F114896 BOIT16 1 8,00 €
F114896 PAPIER 10 9,00 €   2 F114896 PAPIER 10 9,00 €
F114896 BOITE20 22 10,00 €   3 F114896 BOITE20 22 10,00 €
F114896 BIC 1 11,00 €   4 F114896 BIC 1 11,00 €
F114897 FIC15 45 12,00 €   1 F114897 FIC15 45 12,00 €
F114897 COCA 1 13,00 €   2 F114897 COCA 1 13,00 €
F114897 PAIN 10 14,00 €   3 F114897 PAIN 10 14,00 €
F114897 FROMAGE 12 15,00 €   4 F114897 FROMAGE 12 15,00 €

La requête MySQL :

UPDATE CDE AS a
LEFT JOIN 
(
	SELECT NUM  FROM CDE
	GROUP BY NUM
) AS b ON b.NUM=a.NUM 

SET LN = @ordre := IF(a.NUM= @NUM_mem, @ordre+1, ( @NUM_mem:=b.NUM) OR @ordre:=1)
WHERE b ON b.NUM=a.NUM

Si vous avez plus simple je suis peneur

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

VI editeur Linux

Aide-mémoire VI / VIM : les commandes essentielles à connaître

L’éditeur VI — et sa version améliorée VIM — est un incontournable du monde Linux et Unix. Présent sur quasiment tous les serveurs et systèmes Unix/Linux, il permet d’éditer rapidement des fichiers texte directement depuis le terminal. :contentReference[oaicite:0]{index=0}

Même s’il peut sembler déroutant au départ, VI devient extrêmement puissant une fois les commandes de base maîtrisées. Voici un aide-mémoire pratique pour apprendre rapidement les principales commandes. :contentReference[oaicite:1]{index=1}

Ouvrir un fichier avec VI

vi fichier.txt

Cette commande ouvre le fichier s’il existe, ou crée un nouveau fichier vide dans le cas contraire. :contentReference[oaicite:2]{index=2}

vi + fichier.txt

Ouvre le fichier directement à la fin du document. :contentReference[oaicite:3]{index=3}

Les différents modes de VI

VI fonctionne avec plusieurs modes principaux : :contentReference[oaicite:4]{index=4}

  • Mode commande → mode par défaut
  • Mode insertion → permet d’écrire du texte
  • Mode Ex → commandes avancées précédées de “:”

Pour revenir au mode commande, appuyez simplement sur :

ESC

Commandes d’insertion

Commande Action
i Insérer avant le curseur
a Insérer après le curseur
I Début de ligne
A Fin de ligne
o Nouvelle ligne dessous

Ces commandes permettent de passer du mode commande au mode insertion. :contentReference[oaicite:5]{index=5}

Déplacements dans le texte

Commande Action
h Gauche
j Bas
k Haut
l Droite
w Mot suivant
b Mot précédent
0 Début de ligne
$ Fin de ligne
G Dernière ligne

VI privilégie les déplacements clavier sans souris, ce qui le rend extrêmement rapide une fois maîtrisé. :contentReference[oaicite:6]{index=6}

Suppression de texte

Commande Action
x Supprimer caractère
dd Supprimer ligne
D Supprimer jusqu’à la fin
u Annuler dernière action

Copier / Coller

Commande Action
yy Copier ligne
p Coller après
P Coller avant

Recherche dans le fichier

/mot

Recherche un mot dans le fichier.

n

Passe à l’occurrence suivante.

Sauvegarder & quitter

Commande Action
:w Sauvegarder
:q Quitter
:q! Quitter sans sauvegarder
:wq Sauvegarder et quitter
ZZ Sauvegarder et quitter rapidement

Pensez à sauvegarder régulièrement : VI ne sauvegarde pas automatiquement votre travail. :contentReference[oaicite:7]{index=7}

Pourquoi apprendre VI aujourd’hui ?

Malgré son âge, VI reste un outil incontournable pour :

  • administrer des serveurs Linux
  • modifier rapidement des fichiers de configuration
  • travailler à distance via SSH
  • intervenir en mode secours
  • éditer du code efficacement

Une fois les commandes de base assimilées, VI devient extrêmement rapide et productif. :contentReference[oaicite:8]{index=8}

A TESTER

Choses à tester, si vous avez des infos, n’hésitez pas à commenter

unnamed_001

cloudmagic Client email pour Android, IOS, MAC et Chrome

De nombreuses fonctionnalités originales, multi-comptes pièces jointes gdoc, dropbox… A tester

unnamed_001

BLUEMIND Serveur email complet avec webmail performant et pas mal d’option