Le Blog du Piaf

Aller au contenu | Aller au menu | Aller à la recherche

egg-easter.png

vendredi, février 5 2010

Ma classe pour accéder facilement à MySQL, TiSQL

Un matin, on se dit : "tiens? et si je faisais une classe mysql en php" :angel: (et oui, je rêve souvent de pHp la nuit :rolleyes: ). Cette classe permet d'effectuer des requêtes a un server MySQL facilement. Il suffit d'écrire la requête, et le resultat est retourné. L'avantage, c'est qu'il n'y y plus besoin de faire plusieurs ligne. Et les requêtes sont préparés. Optimisation et surtout protection contre l'injection SQL.

La classe est disponible sur ce lien class.tisql.phps.

Comment l'utiliser?

Inclure et instancier la classe.


  1. <?php
  2. require_once('class.tisql.php');
  3. $tisql = new TiSQL('localhost', 'utilisateur_mysql', 'motDePasseMysql');
  4. ?>

Deux méthodes principaux : singleQuery et multiQuery.

singleQuery renvoie le résultat sous forme d'objet par défaut. Il est possible de changer le format de retour.


  1. <?php
  2. $result = $tisql->singleQuery('SELECT * FROM user WHERE id = ?', array('1'));
  3. echo $result->id;
  4. ?>

Pour changer le type de donnée, il faut mettre une 3ème options.


  1. <?php
  2. $result = $tisql->singleQuery('SELECT * FROM user WHERE id = ?', array('1'), PDO::FETCH_ASSOC);
  3. echo $result[id];
  4. ?>

La seconde méthode est multiQuery. Elle est utilisé lorsque la requête renvoie plusieurs lignes de résultat. Elle renvoie une ressource MySQL. Il faut donc la traiter.


  1. <?php
  2. $result = $tisql->multiQuery('SELECT * FROM user WHERE id > ? and id < ?', array('1', '10'));
  3. while($data = $result->fetch()){
  4. echo $data->id;
  5. }
  6. ?>

D'autre méthode ont été implémenté, pour avoir des infos sur le nombre de requête ou la dernière entrée insérer. La doc dispo sur doc.tisql.phps

Enjoy ;)

Signature

dimanche, janvier 24 2010

Partager un clavier et une sourie avec Synergy

Logo synergyLorsque l'on a plusieurs ordinateur, on aimerais bien pouvoir tous les contrôler facilement. Il y a bien VNC, mais ça consomme beaucoup de ressource, notamment à cause de l'export de la vidéo du système hôte.

Qu'est ce qu'un KVM ?

KVM
KVM pour Keyboard-Video-Mouse. Ce dispositif permet de partager un clavier, une sourie et écran entre plusieurs ordinateur. Ainsi, il est possible à tout moment de changer de PC avec un bouton. Problème, c'est que ça coûte cher.


Synergy, une solution logiciel

Avec synergy, seul la sourie et le clavier sont partagés. Chaque ordinateur possède son propre écran. Les ordinateurs "client" sont tous relié au "serveur" par réseau. Le serveur est la machine qui partage la sourie et le clavier. Les clients sont les ordinateurs qui vont recevoir les coordonnés de la sourie ou les touches du clavier. Ainsi, cette méthode permet de n'envoyer que les commandes sourie et clavier. Les ressources mobilisés sont très faibles.

Synergy

Peu de place utilisé sur le bureau, faible consommation en ressource réseau et CPU. L'idéal :D En plus du partage de matériel, il est possible de faire un copier-coller entre les machines.

Synergy demo

La configuration est très simple et bien documenté sur le site : Synergy Il fonctionne sous Windows, Mac et Linux.

Signature

dimanche, janvier 10 2010

Identifiez vous avec Open ID

OpenID, qu'est ce que c'est?

Open ID est un système d'identification décentralisé. A l'aide d'une simple URL, il est possible de ce connecté à tous les site supportant ce protocole. Fini les interminable formulaire d'inscription et procédure de contrôle. Une simple URL, qui contient toutes les informations nécessaire, et l'inscription est terminé. De plus, il suffit de ne retenir qu'un simple identifiant, et la connexion aux autres site se fait automatiquement.

Comment est-ce que ça fonctionne?

Vous naviguez sur un site et vous souhaitez déposer un commentaire. Le site propose une identification par son propre système et OpenID. Dans le champ OpenID, déposer le lien de type http://username.pip.verisign.com/. Ensuite, le site va lire ce lien et contacter le fournisseur OpenID (ici c'est Verisign). Il faut donc être connecté chez Verisign (auquel cas, il va demander une authentification). Il y aura échange d'information, le site va demandé le nom, l'adresse email. Et le fournisseur va les lui donner. De retour sur le site, tous les champs sont remplis, il n'y a plus qu'a commenter :yipee:

Comment se procurer un OpenID?

Pour avoir un OpenID, il faut d'abord s'inscrire chez un fournisseur d'identifiant. Par exemple myOpenID ou Verisign. Google ou Yahoo sont des fournisseur OpenID, l'adresse email est l'identifiant.

Une fois connecté chez le fournisseur, vous avez un lien de type http://username.pip.verisign.com/.

Ou trouver des sites utilisant OpenID?

Ce blog utilise OpenID :P Pour commenter les articles, il suffit d'entre son lien OpenID, et hop ça marche :clapclap: . Un site recense un grand nombre de site comptable OpenID http://openiddirectory.com/

Petit note : Facebook permet de lier son compte Facebook à OpenID (ou Google, Yahoo). Ainsi, plus besoin de rentrer ses identifiants. Cela se passe dans "Settings > Linked Accounts" (Option > Lien un compte).

Bonus : Transformer un nom de domaine en lien OpenID

Pour pouvoir mieux mémoriser sont OpenID, on peut le mettre dans son nom de domaine. Comment?
Il suffit de créé une page HTML et de placer les balises suivantes entre <head> et </head>:

<link rel="openid.server" href="http://pip.verisignlabs.com/server" />
<link rel="openid.delegate" href="http://[USERNAME].pip.verisignlabs.com" />
<link rel="openid2.provider" href="http://pip.verisignlabs.com/server" />
<link rel="openid2.local_id" href="http://[USERNAME].pip.verisignlabs.com" />
<meta http-equiv="X-XRDS-Location" content="http://pip.verisignlabs.com/user/[USERNAME]/yadisxrds" />

Ces balises sont utilisés pour un compte de type Verisign, mais normalement ça devrait fonctionner. Pour ma part, j'ai utilisé un sous-domaine http://openid.lepiaf-blog.com/ .



Photo, Source 1, Source 2

dimanche, octobre 4 2009

4 roues, une voiture, et 5 roues un ovni ?

et bien ! une belle affaire sur ebay et c'est un changement total. merci jonathan pour cette magnifique paire de platine rossignol 5x80mm et longue de 326mm. C'est vrai que la première fois qu'on chausse se genre de roller, on à l'impression d'avoir des skis :drop: . Moi qui ai toujours eu des platines de 245mm, ça change complètement sa façon de rouler. Fini les accélération de furieux :( , mais à moi la vitesse :clapclap: niark niark niark . En plus c'est beaucoup plus stable.

Rollerblade et rossignol

Drôle de mariage, des boots rollerblade twister 3 et des platine rossignol 5 roues. Boots confortable et solide, de quoi dévorer des kilomètres facilement ;) J'arrive a faire des slides tout de même :blblbl: . Il me faut encore de l'entrainement, je ne maitrise pas encore complètement, mais ça va venir. J'ai trop envie d'en refaire :D

Signature

vendredi, octobre 2 2009

eAccelerator, booster PhP

Par moment, l'éléPHPant est assez lourd :drop: , et pour éviter que le serveur ne s'écroule sous son poids, il faut mettre des éléments en cache. Le système dotclear, par exemple, à son propre système de cache. Il met en cache les templates, mais ce n'est pas suffisant. Et si on mettait le code en cache, le pré-compiler.

Plusieurs système de cache existe, les plus connu, zend, apc et eaccelerator. Ici, je vais parler de eAccelerator.

lundi, septembre 28 2009

La Powerball, un sport de g33k

Etre plus de 14h sur sa chaise, ça fait beaucoup. A défaut de vouloir bouger ses fesses, il peut bien bouger ses bras. En plus, entretenir ses bras, c'est bon pour l'endurance et la précision ( et les head shot sur CS :drop: )

Mais alors, quel est le bon outil ? Des haltères ? Non, trop fatiguant, et ça prend du temps. La solution, la powerball

samedi, septembre 26 2009

Un peu de rangement dans cette armoire

Aujourd'hui j'ai passé un merveilleux samedi :lol: J'ai refais le réseau de ma boite. J'avais l'impression de l'armoire réseau était une marmite de spaghetti.

Mais avant tout, il faut concevoir et faire les plans

plan-iminent.png

Et puis viens le jour de la réalisation.

mercredi, septembre 23 2009

StarCom : Une authorité de certification gratuite

Le problème des certificats auto-signé (voir Apache sécurisé en 5min avec OpenSSL) c'est qu'il affiche un avertissement. Ce qui n'est pas très rassurant pour l'utilisateur. Avertissement firefox

Si on ne veut pas cet avertissement, il faut donc un certificat SSL signé par une autorité de certification (Certificate Authority). Problème, c'est que c'est payant est très cher. Mais, il en existe des gratuits. La aussi un problème ce pose, le navigateur ne reconnais pas le CA et le rejète (comme CA Cert).

Avec StarCom, ce n'est plus le cas, puisque le certificat sera bien reconnu par le navigateur. L'inscription se fait tout simplement sur le site : https://www.startssl.com/

Une fois l'inscription terminé, générer votre certificat et la clé privé. Attention, la clé privé qui sera inscrite dans le textarea sera protégé par un mot de passe, il faudra le décrypter pour que apache puisse la lire. Dans tool box -> decrypt private key.

Pour utiliser ce certificat, placer le certificat et la clé privé au même endroit que la précédente (si elle est existante).

SSLCertificateFile /etc/apache2/server.crt SSLCertificateKeyFile /etc/apache2/server.key

Relancer apache, et voila :D Validation starcom

Noté que pour se reloguer sur le panneau de config de starcom, il faut utiliser sa clé privé qui est stocké dans le navigateur. Il faut l'enregistrer sur une clé USB ou autre. Sinon, tout est perdu.

Signature

mardi, septembre 22 2009

Simple Upload : La nouvelle version

SimpleUpload Banner

Il y a un an, j'ai créé mon premier site en php, c'était simple upload. C'était la première version. Un article a d'ailleurs été écris pour célébrer cet évènement :grin: Simple Upload, la première version.

En un mot, Simple Upload permet l'hébergement de photo et d'image. Il est simple d'utilisation et totalement gratuit.

vendredi, août 21 2009

Apache sécurisé en 5 min avec OpenSSL

appache-ssl.jpg

Tout d'abord, les pré-requis :

  • Un serveur sous linux
  • Un serveur apache
  • OpenSSL
  • Et du temps... :lol:

- page 1 de 10