Archive pour la catégorie ‘php’

URL rewriting avec un .htaccess – initiation par un exemple simple

L'URL rewriting est une technique incontournable pour permettre un bon référencement et qui permet d'améliorer la lisibilité des liens vers vos pages.

Exemple simple

Créez un fichier .htaccess à la racine de votre site contenant :

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^page/([_a-z0-9]*).html$  index.php?param=$1 [L]

Maintenant, si vous allez sur http://www.monsite.ext/page/exemple.html ce sera la page http://www.monsite.ext/index.php?param=exemple qui sera affichée.

Pour aller plus loin

Je vous conseille l'excellent article de Webrankinfo qui expliquer clairement les différentes méthodes autorisées.

script PHP de sauvegarde de site internet – MySQL dump et création d’une archive ZIP des fichiers du serveur

Ce script permet de sauvegarder très rapidement votre site internet. Vous allez avec votre navigateur sur la page du script PHP et celui-ci va effectuer automatiquement les actions suivantes

  1. dump de votre base de donnée MySQL
  2. création d'une archive de la BDD dans le répertoire que vous aurez choisi
  3. création de la liste des fichiers à sauver (vous pouvez demander à sauver touts vos fichiers accessibles en FTP)
  4. création d'une archive ZIP de ces fichiers qui inclue l'archive de la BDD préalablement sauvée
  5. affichage d'un lien permettant de télécharger l'archive ZIP

Ce script est entièrement fonctionnel, mais il mériterai d'être amélioré (affichage de la liste des archives, permettre de les supprimer, …).

N'hésitez pas à me suggérer des améliorations.

Téléchargements

Pastel Backup v1.0

Utilisation

  • Sur votre serveur, créez les répertoires suivants (par exemple) :
    • /sauvegardes
    • /sauvegardes/MySQL
    • /sauvegardes/completes
  • Vérifiez les droits pour qu'ils soient accessibles en écriture
  • Téléchargez et dézippez Pastel Backup
  • Ouvrez les 3 fichiers avec un éditeur en UTF-8 :
    • pastel-backup.php : personnalisez les variables après //PARAMÈTRES
    • .htaccess : donnez le chemin de .htpasswd
    • .htpasswd : paramétrez votre login et mot de passe (génération sur ce site par exemple)
  • Uploadez ces fichiers dans /sauvegardes
  • Testez en lançant le fichier /sauvegardes/pastel-backup.php !

Appliquer des attributs CSS seulement à un navigateur et/ou une version

Il existe de nombreuses possibilités pour cibler un navigateur avec CSS :

HTML

<!--[if IE 5.0]> pour IE 5.0 <![endif]-->
<!--[if IE 5.5000]> pour IE 5.5 <![endif]-->
<!--[if IE 6]> pour IE 6.0 <![endif]-->
<!--[if IE 7]> pour IE 7.0 <![endif]-->
<!--[if IE 8]> pour IE 8.0 <![endif]-->
<!--[if gte IE 7]> pour IE 7 et supérieur <![endif]-->
<!--[if lt IE 7]> pour IE inférieur à IE 7 <![endif]-->
<!--[if lte IE 6]> pour IE 5.0, IE 5.5 et IE 6.0 mais pas IE7.0 <![endif]-->

On peut alors charger un fichier CSS dans une de ces conditions.

Mais ça ne fonctionne que pour Internet Explorer.

Javascript

Avec jQuery, la fonction jQuery.browser permet de cibler un navigateur et une version.

Par exemple, on peut l'utiliser ainsi :

if (jQuery.browser.msie && parseInt(jQuery.browser.version) < 7) $('body').addClass('msieLte6');

Mais jQuery.browser est voué à disparaitre dans quelques années.

PHP

C'est la solution la plus sûre et qui marche avec tous les navigateurs.

Voici le code que je met pour la balise <body> :

<body class="<?php
class Browser
{
    private $props    = array("Version" => "unknown",
                                "Name" => "unknown",
                                "Agent" => "unknown") ;
    public function __Construct()
    {
        $browsers = array("firefox", "msie", "opera", "chrome", "safari",
                            "mozilla", "seamonkey", "konqueror", "netscape",
                            "gecko", "navigator", "mosaic", "lynx", "amaya",
                            "omniweb", "avant", "camino", "flock", "aol");
        $this->Agent = strtolower($_SERVER['HTTP_USER_AGENT']);
        foreach($browsers as $browser)
        {
            if (preg_match("#($browser)[/ ]?([0-9.]*)#", $this->Agent, $match))
            {
                $this->Name = $match[1] ;
                $this->Version = $match[2] ;
                break ;
            }
        }
    }
    public function __Get($name)
    {
        return $this->props[$name] ;
    }
}
$browser = new Browser ;
echo 'browserName-'.$browser->Name.' browserVersion-'.intval($browser->Version) ;
?>">

Ensuite, en CSS, je cible de cette manière :

.browserName-msie.browserVersion-6 #elementId {
    attribut: 'valeur';
}

Pastel Whois – script de whois en ajax à intégrer dans votre site web

Principe

Ce script permet d'intégrer dans votre site internet un moteur de recherche de noms de domaine libres ou pas.

Réalisé en ajax, il évite de recharger la page à chaque recherche.

Affichage du whois pour les noms de domaines non disponibles.

Possibilité de rechercher jusqu'à 35 extensions à la fois, dont les françaises. Ces extensions sont définies dans le fichier whois-server-list.php, donc vous pouvez en modifier la liste.

Le script est gratuit, et libre à vous de vous le customiser. N'hésitez pas à poster ici vos éventuelles contributions.

Exemple d'intégration

whois.pastel.pro et www.pastel.pro

whois.pastel.pro

Téléchargement

Pastel Whois version 1.2

Utilisation

Téléchargez, décompressez et uploadez sur votre serveur.

Le fichier index.php est utilisable directement pour comprendre le fonctionnement.

N'hésitez pas à poster pour me demander ce que vous ne comprenez pas.

Retourner au début

Blog Pastel.pro

Ce blog est destiné à partager notre expérience sur la conception de sites web (programmation, design, référencement, ...) aux webmasters. Chaque sujet présente l'essentiel, avec un minimum de texte.