Articles

Affichage des articles du 2013

CaenCamp 16

Les embouteillages et les courses de Noël ayant dispersé les participants, je vous met à disposition mes slides sur la Gestion de Projet Agile.

J'espère bientôt faire une nouvelle présentation. Merci aux participants qui ont réussi à venir !

Les slides de la présentation sont disponible : ICI !

Plateforme WEB-SMS sur Rapsberry PI

Image
Voilà ! J'ai enfin trouvé le temps de vous mettre en ligne ma plateforme de SMS maison. J'ai fait en sorte de pouvoir l'utiliser avec un NAS Synology afin qu'il me prévienne par SMS et non plus par e-mail des problèmes qu'il rencontre.

Comment ca marche ? Un dessin vaut mieux que de longs discours...


Attention : Je ne fais pas de support, ni de service après vente !! donc :

Vous devez connaitre un peu la programmation PHP, savoir utiliser un logiciel de transfert SFTP ( sudo apt-get install bareFTP ), savoir installer un Debian sur votre rapsberry et vous en servir, avoir suivi mon précédent tuto sur l'utilisation et la configuration d'un vieux téléphone portable sur Rapsberry via Gammu

Je ne suis biensûr pas responsable de votre forfait et des coûts d'envoi de vos sms ! De plus si vous publiez votre raspberry sur Internet, vous risquez d'avoir des sms qui partent tout seul si une personne mal intentionnée s'aperçoit que vous hébergez ce servic…

CaenJS - NodeJS et les WebSocket par la pratique

Mais... dites-moi... Il semblerais bien que j'ai oublié de vous mettre en ligne ma présentation au CaenJS - NodeJS et les WebSockets par la pratique !
Bon, oubliez le fait que j'ai l'air d'avoir une sérieuse envie d'uriner (je suis un peu rouillé des conférences mais j'me soigne !) et concentrez vous sur la présentation ;)
Les codes sources et les slides sont dispo en lien sous la vidéo.

Code Source: https://github.com/lalmat/CaenJS/ Slides: https://github.com/lalmat/CaenJS/blob/master/Pr%C3%A9sentation/CaenJS%20-%20nodeJS.odp

MythBusterPHP : PDO est-il plus lent que le Driver MySQL ?

Aujourd'hui j'ai eu un petit soucis avec MySQL. Un traitement s'est mis soudain à prendre 100 fois plus de temps que ce que j'avais prévu.

Ayant basculé récemment le Framework de la boite sur des requêtes préparées avec PDO, j'ai eu un peu peur qu'il en soit la cause.

J'ai navigué un peu sur le net et j'ai trouvé pas mal de gens qui soutenaient que PDO était deux fois plus lent que le driver MySQL en PHP...

Du coup j'ai pris une grosse requête et j'ai fait le test. Plus de 5000 lignes sont retournées dans cette requête qui compte un joli nombre de champs (53) et de jointures (15 dont 9 externes).

Voici le code de test :

Les résultats : 
------------------------------------------------- 
Resultats Mysqli 
------------------------------------------------- 
Connexion : 0.00981 s 
Requete   : 0.61539 s 
Fetch     : 0.07401 s 
Close     : 0.00006 s 

------------------------------------------------- 
Resultats PDO 
-------------------------------------------…

Cable RJ45-USB pour onduleur MGE Ellipse 600 Max

Image
Petit message juste pour en faire profiter la communauté.

Voilà un bon bout de temps que je recherchais sur le net le schéma de branchement du cable "com" pour les onduleurs MGE Ellipse 600.

On en a récupéré tout un stock à la boite et ils fonctionnent encore parfaitement. Idéal pour secourir mon NAS en cas de panne de courant.

Le seul hic c'est qu'il manquait le cable de communication.

Bravo à un de nos gars du service tech pour en avoir déniché un. On a pu en faire plusieurs qui fonctionnent parfaitement avec le schéma de branchement suivant :


Hope it helps !

Ah mais ouaaiiiiiiii...

Image
Vous êtes joueurs je le sens alors voilà un joli bout de code qui m'a bien amusé aujourd'hui. A votre avis est-ce Réponse A ou Réponse B qui s'affiche ?




Alors hum ?

Beh oui c'est la A qui s'affiche.... 
But... Wait... Fucking why ?! Et le use du trait alors ?! 
Selon la bible :  
"Une méthode héritée depuis une classe mère est écrasée par une méthode issue d'un Trait."

"Wiskey Tango Foxtrot" comme dirait l'autre hein...


Alors si vous aussi vous pensiez que ça allait afficher "B" c'est que vous avez oublié le "Late State Binding"... Le truc que vous aviez sans doute lu il y a quelques années comme moi, mais que vous aviez décidé d'oublier immédiatement car jamais vous ne devriez avoir à vous en servir... Beh en fait, si.
Voilà le code pour afficher B: 

Envoyer des SMS avec un Raspberry PI

Image
Il y a quelques semaines j'ai découvert le Raspberry PI ! Formidable petit ordinateur autour des 45€, pouvant faire tourner sur une distrib débian dédiée. Il s'alimente par un simple port USB et possède toutes les interfaces (USB/HDMI/Ethernet/Etc) pour batir autour de lui pleins de projets délirants.

En rangeant mon garage j'ai remis la main sur mon vieux Sony Ericsson K750i et son câble data USB.


Un Raspberry PI... Un vieux téléphone... 

Humm... Et si on envoyais des sms ?

Une fois la distribution Raspbian installé sur le Raspberry, branchez le portable au port USB, connectez-vous dessus en SSH puis faites un "lsusb" pour voir si votre portable est reconnu :


Si c'est le cas, vous devriez avoir une ligne correspondant à votre téléphone (dernière ligne ici).

Ensuite voyons si nous avons des ports séries pour communiquer avec, un "dmesg" nous en dira plus :

On peut voir les lignes "cdc_acm" qui nous indiquent que le portable et joignable sur …

CRUD vs LSD !

Image
Tout le monde connais le design pattern CRUD, accronyme de "Create-Read-Update-Delete"... Pour vous j'ai inventé (enfin je crois...) le LSD ! Accronyme de "Load-Save-Delete" !



Concrètement : prenons une table SQL utilisateur "User", composé d'un identifiant (user_id), d'un login (user_login), d'un mot de passe (user_paswd) et d'une adresse e-mail (user_email).

1) Dans un fichier qui représentera les objets manipulés en PHP (Entities), on décrit l'objet/table ainsi que son objet de recherche :

2) Dans un fichier d'accès aux données (DAO) on écrit le LSD, auquel on adjoint des fonctions privées pour la création de la requête SQL de recherche et la construction de l'objet User :

Il nous manque les méthodes privées de construction de requête et de remplissage de l'objet :
Et voilà !

Dorénavant, si je veux récupérer l'ensemble des utilisateurs, il me suffit de construire la fonction suivante :


Si je veux uniquement u…

NOOB Le film !

La Web Série NOOB est une série très amateur qui vise à représenter les expériences des MMORPG à travers leur vidéos.

Si leur jeu d'acteur est vraiment moyen, ils ont pour eux leur coté sympathique et la justesse des expériences amusantes voire lolesques et même parfois rolfesque (oui j'ose le mot !). Ils ont réaliser les 4 premières saisons de leur série avec des bouts de ficelles, de l'huile de coude et un surtout un large support des fans.

Si je vous parle de tout ça c'est parce qu'ils ont monté le projet d'un film sur la plateforme de crownfounding Ulule. Ce post est là pour faire le Buzz et vous faire découvrir l'univers de NOOB au cas où vous auriez zappé de vous y intéresser. Ils ont déjà atteint leur budget mais le but est de les envoyer aux Quebec pour soutenir le film à l’international. Pour cela il faut réussir à réunir 150.000€.

Et comme les petites rivières font les grands fleuves...