Archive pour la catégorie ‘PHP & MySQL’

Tutoriels Admin Debian

Samedi 3 mai 2008 | PHP & MySQL
Man, un ami de poids

J'ai mis en ligne collection de tutoriels sur l'administration d'un serveur dédié.

Ils reprennent l'essentiel - sans être infaillibles - pour la mise en place d'une structure d'hébergement (Apache, PHP, MySQL et compagnie) sous Linux, avec notamment une partie consacrée à DTC, qui contrairement à ce que son nom indique est un panel plutôt open source qui monte, qui monte...

  1. Première connexion : SSH, accès root et bases
  2. Apache et PHP : le serveur web
  3. MySQL : les bases de données
  4. Proftpd : le serveur FTP
  5. Postfix : le serveur mail POP3 et SMTP
  6. Sauvegarde automatique : avec backup-manager et export FTP
  7. Sécurisation : les règles de base, un firewall avec iptables, fail2ban...
  8. Bind : exécuter le serveur DNS en chroot
  9. Monitoring : garder un oeil sur son serveur grâce à monit et logwatch
  10. Roundcube : un webmail léger et rapide
  11. Panel DTC : pour installer et gérer les services web, ftp, mysql, e-mail, dns...
Admin MySQL Admin backup

Ruby on Rails 2

Mardi 11 décembre 2007 | PHP & MySQL
Ruby on Rails

Cela semble passer inaperçu, et pourtant Ruby on Rails 2, le célèbre framework basé sur l'architecture MVC, est sorti le 7 décembre. Il est très plaisant et continue honorablement sur la lancée de la première version.

Voir l'annonce officielle : Riding Rails : Rails 2.0 : It's done !.

PHP, filesize et gros morceaux

Lundi 10 décembre 2007 | PHP & MySQL

La fonction filesize de PHP (testé en version 5.1.2) se vautre lamentablement avec les fichiers de trop grande taille (18 Go par exemple).

Warning: filesize(): stat failed for ...

Voici une solution alternative :

$size = exec("ls -l '".$filename."' | awk '{print $5}'");

Select massage From Table

Mardi 20 mars 2007 | PHP & MySQL

Annonce contextuelle sur le site MySQL.com :

Memento MySQL

Mercredi 21 février 2007 | PHP & MySQL

J'ai l'humble honneur d'annoncer la publication du Memento MySQL aux éditions Eyrolles, dans lequel je me suis attaché à condenser l'essentiel de MySQL pour les débutants comme pour les utilisateurs confirmés.

Il est disponible sur Eyrolles.com, Amazon, Alapage, les autres sites de vente en ligne, et dans les librairies habituelles.

Je tiens à remercier une petite main qui m'a sérieusement aidé pour la relecture et les corrections :)

MySQL

Sommaire :

  • Création d'une base / de tables
  • Connexion à une base de données
  • Renommer/supprimer bases, tables et clés
  • Types de champs
  • Types d'index (clés)
  • Gestion des utilisateurs
  • Modifier la structure d'une table
  • Requêtes
  • Requêtes conditionnelles avec WHERE
  • Déclencheurs
  • Groupage et tri
  • Fonctions mathématiques
  • Unions et jointures
  • Fonctions diverses
  • Manipulation de chaînes de caractères
  • Fonctions de dates
  • Procédures stockées et fonctions
  • Transactions
  • Vues
  • Administration et performances
  • Variables serveur

M3uCheck

Mardi 18 juillet 2006 | PHP & MySQL
Hooked on a feeling - David Hasselhoff my Idol

Voici un petit script PHP bidon pour vérifier l'intégrité des fichiers d'une playlist m3u :

m3ucheck.php

Utile lorsqu'on gère ses listes pour iPod de façon externe (import/export depuis iTunes) et lorsque les fichiers risquent de bouger... (NB : à exploiter de préférence en ligne de commande).

CakePHP

Vendredi 5 mai 2006 | PHP & MySQL
CakePHP

CakePHP est un framework imitant le fonctionnement de RubyOnRails sous licence MIT. Il reproduit le concept MVC (Modèle-Vue-Contrôleur) avec la même structure de fichiers, les helpers, le scaffolding et les ACL étant aussi de la partie. Il est compatible avec PHP4 et PHP5, et s'intègre bien avec Ajax. Un tuto propose de mettre le cake au four et de le ressortir au bout de 15 minutes avec une application de blog.

CakePHP est intéressant pour un serveur ne supportant que le PHP et n'hébergeant pas encore RoR. Cependant rien ne vaut l'original. zZine en dresse un portrait intéressant.

Tartine d’Ajax

Jeudi 13 avril 2006 | PHP & MySQL

Ajax se révèle d'une nouvelle petite utilité, par l'entremise d'un script de Markku Uttula intitulé AEL (Ajax Error Logger). Il s'agit de garder une trace des erreurs JavaScript survenues côté client dans un log côté serveur, via PHP, ASP ou JSP par exemple. Ce détournement est principalement basé sur la redéfinition de la fonction :

window.onerror = function (message, url, ligne) { ... }

Cependant son script étant un peu bordélique désorganisé, je me suis permis d'en proposer une variante plus simple à comprendre (JS+Ajax+PHP).

Nutaela

(Ceci est une capture d'écran, n'essayez pas de cliquer sur les boutons :x)
La source est disponible ici : nutaela.zip

PhpOCR

Lundi 3 avril 2006 | PHP & MySQL
OCR

PhpOCR est une classe PHP permettant la reconnaissance de caractères dans une image. Il s'agit bien du même principe utilisé par les programmes d'OCR pour scanners. L'outil peut être entraîné pour reconnaître au mieux les caractères dessinés et ensuite analyser des textes beaucoup plus longs dans des documents réels.

Bench PHP en dessert

Mercredi 8 février 2006 | PHP & MySQL

Puisque cela faisait longtemps...

Php et Echo

Il est plus performant d'écrire :

echo '<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta name="description" content="';
echo $meta_description;
echo '" />
<meta name="keywords" content="';
echo $meta_keywords;
echo '" />
<link rel="alternate" type="application/rss+xml" title="';
echo $rss_title;
echo ' RSS" href="rss.php" />
<link rel="alternate" type="application/rss+xml" title="';
echo $rss_title;
echo ' RSS 2.0" href="rss2.php" />
<link rel="shortcut icon" type="images/x-icon" href="favicon.ico" />
<meta name="DC.title" content="';
echo $title;
echo '" /></head>';

... que d'écrire :

echo '<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta name="description" content="'.$meta_description.'" />
<meta name="keywords" content="'.$meta_keywords.'" />
<link rel="alternate" type="application/rss+xml" title="'.$title.' RSS" href="rss.php" />
<link rel="alternate" type="application/rss+xml" title="'.$title.' RSS 2.0" href="rss2.php" />
<link rel="shortcut icon" type="images/x-icon" href="favicon.ico" />
<meta name="DC.title" content="'.$title.'" /></head>';

Ceci provient de la concaténation préalable de la chaîne de caractères à afficher. On pourrait préjuger qu'une somme d'instructions multiples (echo ici même) nuirait aux performances. Or la première solution s'en sort un peu mieux. Moralité, si vous avez de longues chaînes aux pieds, allez-y petit à petit, au lieu de tout concaténer. Bien sûr il s'agit là encore d'une optimisation au niveau atomique, il y a bien d'autres façons de miner un script au C4.