WordPress sur NAS

Copier le dossier web\wordpress vers un nouveau dossier web\new_wp

lancer wp-login.php

Username : admin
Password : m…..#7..

Setting General

modifier Site Address (URL)http://fougere.myds.me:8080/new_wp

Timezone UTC+1

http://fougere.myds.me:8080/new_wp/wp-admin/install.php

install_db_wp

 

install_db_wp1

 

install_db_wp_login

 

 

 

 

 

 

 

 

 

 

 

 

 

Dans la base MySql

Dans la table wp_options

Modifier les les options : siteurl et home en mettant Dans la base MySql
http://fougere.myds.me:8080/new_wp

(IP de la Freebox)

ou http://88.189.236.181:8080/new_wp

———————————————

Remontée de d’un backup

exemple : avec un backup 3948620-2.sql du site sam-soul

il faut modifier les liens vers le NAS

install_db_wp2

 

 

 

 

 

 

 

install_db_wp3

install_db_wp4

 

install_db_wp5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Activer le theme.

http://fougere.myds.me:8080/recettes/wp-login.php

 

Se connecter avec le mot de passe de l’ancien site .

install_db_wp6

 

Remplacer wordpress par Recettes dans les 2 fichiers ci-après

\\DISKSTATION\web\Recettes\wp-config.php (5 hits)
Line 19: define(‘DB_NAME’,’wordpressblog’);
Line 22: define(‘DB_USER’,’wordpress’);
Line 93: define(‘WP_SITEURL’, $pageURL . ‘/wordpress’);

\\DISKSTATION\web\Recettes\wp-config-sample.php (3 hits)
Line 93: define(‘WP_SITEURL’, $pageURL . ‘/wordpress’);

Créer un user : recettes
GRANT USAGE ON *.* TO ‘recettes’@’localhost’;

GRANT ALL PRIVILEGES ON `recettes`.* TO ‘recettes’@’localhost’;

lancer http://192.168.0.135/Recettes/wp-login.php

se connecter : Eric /c….#…3

dans SETTINGS

Modifier l’URL dans Site Address (URL) : http://192.168.0.135/Recettes

Copier le dossier wordpress/etc sous Recettes
Modifier le fichier SYNO.SDS.WorfPress.conf
En remplaçant wordpress par Recettes

Version MySql

SHOW VARIABLES LIKE ‘version%’

Chez OVH :

Variable_name             Value
version                   5.1.66-0+squeeze1-log
version_comment           (Debian)
version_compile_machine   x86_64
version_compile_os        debian-linux-gnu

En local (sur clé USB)

Variable_name 	          Value
version 	          5.5.24-log
version_comment 	  MySQL Community Server (GPL)
version_compile_machine   x86
version_compile_os 	  Win32

wamp-portable.bat

Copier-coller le contenu ci-après dans un fichier que vous nommerez wamp-portable.bat

@ECHO OFF
SETLOCAL EnableDelayedExpansion

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::                                                                                ::
::  Wamp Portable                                                                 ::
::                                                                                ::
::  A DOS Batch script to make WampServer portable.                               ::
::                                                                                ::
::  Copyright (C) 2012-2013 Cr@zy <webmaster@crazyws.fr>                          ::
::                                                                                ::
::  Wamp-Portable is free software; you can redistribute it and/or modify         ::
::  it under the terms of the GNU Lesser General Public License as published by   ::
::  the Free Software Foundation, either version 3 of the License, or             ::
::  (at your option) any later version.                                           ::
::                                                                                ::
::  Wamp-Portable is distributed in the hope that it will be useful,              ::
::  but WITHOUT ANY WARRANTY; without even the implied warranty of                ::
::  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the                  ::
::  GNU Lesser General Public License for more details.                           ::
::                                                                                ::
::  You should have received a copy of the GNU Lesser General Public License      ::
::  along with this program. If not, see http://www.gnu.org/licenses/.            ::
::                                                                                ::
::  Related post: http://goo.gl/g0rWG                                             ::
::  Usage: Just launch wamp-portable.bat in the same folder as wampmanager.exe    ::
::                                                                                ::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

CLS
TITLE Wamp Portable v1.6

ECHO.
ECHO.
ECHO    #########################################################################
ECHO    #                                                                       #
ECHO    #   @   @ @@@@@ @   @ @@@@@ @@@@@ @@@@@ @@@@@ @@@@@ @@@@@ @     @@@@@   #
ECHO    #   @   @ @   @ @@ @@ @   @ @   @ @   @   @   @   @ @   @ @     @       #
ECHO    #   @   @ @@@@@ @ @ @ @@@@@ @   @ @@@@@   @   @@@@@ @@@@@ @     @@@@    #
ECHO    #    @@@  @   @ @   @ @     @   @ @  @    @   @   @ @   @ @     @       #
ECHO    #    @ @  @   @ @   @ @     @@@@@ @   @   @   @   @ @@@@@ @@@@@ @@@@@   #
ECHO    #                                                                       #
ECHO    #   Author : Cr@zy                               Date    : 09/25/2013   #
ECHO    #   Email  : webmaster@crazyws.fr                Version : 1.6          #
ECHO    #                                                                       #
ECHO    #########################################################################

:: Wamp launcher
SET wampLauncher=%TEMP%\wampLauncher.vbs
SET wampLauncherScript=%TEMP%\wampLauncher.bat
SET wampmanagerDaemon=%~dp0wampmanager.exe

:: Get the latest version of PHP on Wamp
FOR /R bin\php %%v IN (php.*exe) DO (
    SET PHP=%%v
)

:: Run PHP
%PHP% -n -d output_buffering=1 -f "%~f0"
ENDLOCAL
EXIT /b

:: wampserver-portable PHP script
= 1) {
        echoListener(logTitle($str . " " . $dots . " " . ($status ? "OK" : ($customError === false ? "KO" : $customError))));
        if (!empty($values) && is_array($values)) {
            foreach ($values as $key => $value) {
                $count = strlen($key);
                $spaces = "";
                for ($i=$count; $i<=7; $i++) {                     $spaces .= " ";                 }                 echoListener("\n" . ($withKey ? $key : "") . ($withKey && $withValue ? $spaces . " : " : "") . ($withValue ? $value : ""));             }         }     } else {         echoListener("\n" . $str . " " . $dots . " " . ($status ? "OK" : ($customError === false ? "KO" : $customError)));     }          if (!$status && $customError === false) {         exitApp();     } } function logTitle($title) {     $logTitle = "\n\n\n\n======================================================================\n";     $logTitle .= $title;     $logTitle .= "\n======================================================================";     return $logTitle; } function execCommand($cmds, $echoStdout=true) {     global $verbose, $tmpStdout;     $logs = array();     $cmds = is_array($cmds) ? $cmds : array($cmds);     $stdout = " >\"" . $tmpStdout . "\" 2>&1";
    foreach($cmds as $cmd) {
        $log = "";
        if ($verbose >= 1) echoListener("\n> " . $cmd);
        `$cmd$stdout`;
        if (file_exists($tmpStdout)) {
            $lines = file($tmpStdout, FILE_IGNORE_NEW_LINES);
            foreach ($lines as $line) {
                $line = trim($line);
                if (!empty($line)) {
                    $log .= $line . "\n";
                    if ($verbose == 2 && $echoStdout) {
                        echoListener("\n" . $line);
                    }
                }
            }
            if (!empty($log)) {
                $logs[] = $log;
            }
            @unlink($tmpStdout);
        }
    }
    return $logs;
}

function versionsAppList($dir, $substr, $bins) {
    $appArr = array();
    if (is_dir($dir) && $appDirHandle = opendir($dir)) {
        while (false !== ($appDirName = readdir($appDirHandle))) {
            $appPath = getcwd() . "\\" . str_replace("/", "\\", $dir) . "\\" . $appDirName;
            if ($appDirName != '.' && $appDirName != '..' && is_dir($appPath) ) {
                $appVersion = substr($appDirName, $substr);
                foreach ($bins as $bin) {
                    $appBin = str_replace("/", "\\", $bin);
                    if (is_file($appPath . '\\' . $appBin)) {
                        $appArr[$appVersion] = array(
                            'path'  =>  $appPath,
                            'bin'   =>  $appBin
                        );
                    }
                }
            }
        }
        ksort($appArr, SORT_NUMERIC);
    }
    return $appArr;
}

function versionsAppPaths($list, $type) {
    $paths = array();
    foreach ($list as $versions => $value) {
        if (count(array_keys($paths, $type . ';' . $value['path'])) == 0) {
            $paths[] = $type . ';' . $value['path'];
        }
    }
    return $paths;
}

function foundFiles($path, $toFound) {
    $files = array();
    if ($handle = opendir($path)) {
        while (false !== ($file = readdir($handle))) {
            if ($file != "." && $file != ".." && is_file($path . '\\' . $file)) {
                foreach($toFound as $elt) {
                    if (endWith($file, $elt) || empty($elt)) {
                        $files[] = $path . '\\' . $file;
                    }
                }
            } elseif ($file != "." && $file != ".." && is_dir($path . '\\' . $file)) {
                $tmpFiles = foundFiles($path . '\\' . $file, $toFound);
                foreach($tmpFiles as $tmpFile) {
                    $files[] = $tmpFile;
                }
            }
        }
    }
    return $files;
}

function writeToFile($file, $string) {
    $handle = fopen($file, 'w');
    fwrite($handle, $string);
    fclose($handle);
}

function getAltPath($path) {
    $pathAlt[] = ucfirst($path);
    $pathAlt[] = str_replace('/', '\\', ucfirst($path));
    $pathAlt[] = lcfirst($path);
    $pathAlt[] = str_replace('/', '\\', lcfirst($path));
    return $pathAlt;
}

function replaceWithNewPath($oldPath, $newPath, $filePath) {
    $fileContent = file_get_contents($filePath);
    $oldPathAlt = getAltPath($oldPath);
    $newPathAlt = getAltPath($newPath);
    $count = 0;
    foreach($oldPathAlt as $key => $rpcPath) {
        if (preg_match("#" . str_replace('\\', '\\\\', $rpcPath) . "#", $fileContent)) {
            if ($key == 0 || $key == 2) {
                $fileContent = str_replace($rpcPath, $newPathAlt[0], $fileContent, $countRpc);
                $count += $countRpc;
            } else {
                $fileContent = str_replace($rpcPath, $newPathAlt[1], $fileContent);
                $count += $countRpc;
            }
        }
    }
    writeToFile($filePath, $fileContent);
    return $count;
}

function deleteFolder($folderpath) {
    if (is_dir($folderpath)) {
        $dir_handle = opendir($folderpath);
    }
    if (!$dir_handle) {
        return false;
    }
    while ($file = readdir( $dir_handle )) {
        if ($file != '.' && $file != '..') {
            if (!is_dir($folderpath . '/' . $file)) {
                unlink($folderpath . '/' . $file);
            } else {
                deleteFolder($folderpath . '/' . $file);
            }
        }
    }
    closedir($dir_handle);
    rmdir($folderpath);
    return true;
}

function get_extension($file) {
    if (is_file($file) && preg_match('/^[^\x00]+\.([a-z0-9]+)$/i', $file, $matchResult)) {
        return strtolower($matchResult[1]);
    }
}

////////////////////////////////////////////////
// Start process
////////////////////////////////////////////////

// Get wamp config
$wampConfig = parse_ini_file($wampConfigPath, true);
logInfo("Parse wampmanager.conf", isset($wampConfig['main']['installDir']));

// Get oldPath and newPath
$oldPath = $wampConfig['main']['installDir'];
$newPath = str_replace('\\', '/', getcwd());
logInfo("Paths", !empty($oldPath) && !empty($newPath), array(
    "oldPath"   =>  $oldPath,
    "newPath"   =>  $newPath,
));

// Get php versions list
$phpArr = versionsAppList("bin/php", 3, array("php.exe"));
logInfo("PHP versions", !empty($phpArr), $phpArr, true, false);

// Get apache versions list
$apacheArr = versionsAppList("bin/apache", 6, array("bin/apache.exe", "bin/httpd.exe"));
logInfo("Apache versions", !empty($apacheArr), $apacheArr, true, false);

// Get mysql versions list
$mysqlArr = versionsAppList("bin/mysql", 5, array("bin/mysqld.exe", "bin/mysqld-nt.exe"));
logInfo("MySQL versions", !empty($mysqlArr), $mysqlArr, true, false);

// Get mariadb versions list
$mariadbArr = versionsAppList("bin/mariadb", 7, array("bin/mysqld.exe", "bin/mysqld-nt.exe"));
logInfo("MariaDB versions", !empty($mariadbArr), $mariadbArr, true, false, 'NOT FOUND');

// Stop wampmanager
logInfo("Stop wampmanager", true);
$logsStopWampmanager = execCommand("TASKLIST /FI \"IMAGENAME eq wampmanager.exe\" /FO LIST | find \"wampmanager.exe\"");
if (!empty($logsStopWampmanager)) {
    execCommand("TASKKILL /IM wampmanager.exe /F");
    execCommand("TIMEOUT /T 3 /NOBREAK", false);
} elseif ($verbose == 2) {
    echoListener("\nNot launched.");
}

// Stop wampapache service
logInfo("Stop wampapache service", true);
execCommand("NET STOP wampapache");

// Uninstall wampapache service
logInfo("Uninstall wampapache service", true);
$apachePath = end($apacheArr);
$apachePath = $apachePath['path'] . '\\' . $apachePath['bin'];
$apacheScript = $apachePath . " -k uninstall -n wampapache";
execCommand(array($apacheScript, "SC delete wampapache"));

// Stop wampmysqld service
logInfo("Stop wampmysqld service", true);
execCommand("NET STOP wampmysqld");

// Uninstall wampmysqld service
logInfo("Uninstall wampmysqld service", true);
$mysqlPath = end($mysqlArr);
$mysqlPath = $mysqlPath['path'] . '\\' . $mysqlPath['bin'];
$mysqlScript = $mysqlPath . " --remove wampmysqld";
execCommand(array($mysqlScript, "SC delete wampmysqld"));

// Stop wampmariadb service
logInfo("Stop wampmariadb service", true);
execCommand("NET STOP wampmariadb");

// Uninstall wampmariadb service
if (!empty($mariadbArr)) {
    logInfo("Uninstall wampmariadb service", true);
    $mariadbPath = end($mariadbArr);
    $mariadbPath = $mariadbPath['path'] . '\\' . $mariadbPath['bin'];
    $mariadbScript = $mariadbPath . " --remove wampmariadb";
    execCommand(array($mariadbScript, "SC delete wampmariadb"));
}

// First launch ?
if (!is_dir($rootBackupPath)) {
    $backupsPath = $rootBackupPath . "#original";
}

// Create backups directory
if (!is_dir($backupsPath)) {
    mkdir($backupsPath, null, true);
}
logInfo("Create backups directory", is_dir($backupsPath));

// Get files to scan
$eltToScan = array(
    'alias'     =>  array(''),
    'apache'    =>  array('.ini', '.conf'),
    'mysql'     =>  array('my.ini'),
    'php'       =>  array('.ini'),
);

$pathsToScan = array();
foreach ($eltToScan as $type => $elt) {
    if ($type == 'alias') {
        $pathsToScan[] = $type . ';' . getcwd() . '\\alias';
    } elseif ($type == 'apache') {
        $versionsAppPaths = versionsAppPaths($apacheArr, $type);
        foreach ($versionsAppPaths as $value) {
            $pathsToScan[] = $value;
        }
    } elseif ($type == 'mysql') {
        $versionsAppPaths = versionsAppPaths($mysqlArr, $type);
        foreach ($versionsAppPaths as $value) {
            $pathsToScan[] = $value;
        }
    } elseif ($type == 'mariadb' && !empty($mariadbArr)) {
        $versionsAppPaths = versionsAppPaths($mariadbArr, $type);
        foreach ($versionsAppPaths as $value) {
            $pathsToScan[] = $value;
        }
    } elseif ($type == 'php') {
        $versionsAppPaths = versionsAppPaths($phpArr, $type);
        foreach ($versionsAppPaths as $value) {
            $pathsToScan[] = $value;
        }
    }
}

$filesToScan[] = $wampConfigPath;
$filesToScan[] = $wampTplPath;
$filesToScan[] = $wampIniPath;
foreach ($pathsToScan as $elt) {
    $path = explode(";", $elt);
    $type = $path[0];
    $path = $path[1];
    $foundFiles = foundFiles($path, $eltToScan[$type]);
    foreach ($foundFiles as $value) {
        $filesToScan[] = $value;
    }
}

logInfo("Files to scan", count($filesToScan) > 2, $filesToScan, false);

// Backup files before edit
$backupFiles = array();
foreach ($filesToScan as $file) {
    $infofile = pathinfo($file);
    $backupFileFolder = $backupsPath . str_replace(str_replace('/', '\\', $newPath), '', $infofile['dirname']);
    $backupFile = $backupFileFolder . "\\" . $infofile['basename'];
    if (!is_dir($backupFileFolder)) {
        mkdir($backupFileFolder, null, true);
    }
    if (copy($file, $backupFile)) {
        $backupFiles[] = $backupFile;
    }
}

logInfo("Backup files", count($backupFiles) > 2, $backupFiles, false);

// Replace old path in files
$rpcFiles = array();
foreach ($filesToScan as $file) {
    $echoStr = $file;
    $dots = "";
    for ($i=strlen($echoStr); $i<=90; $i++) $dots .= ".";     $countRpc = replaceWithNewPath($oldPath, $newPath, $file);     $rpcFiles[] = $echoStr . " " . $dots . " " . ($countRpc > 0 ? $countRpc . " found" : "none");
}

logInfo("Replace old path in files", count($rpcFiles) > 2, $rpcFiles, false);

// Purge logs
if ($purgeWampLogs) {
    $purgeLogs = array();
    if (is_dir($wampLogsPath)) {
        $dir_handle = opendir($wampLogsPath);
        if ($dir_handle) {
            while ($file = readdir( $dir_handle )) {
                $ext = get_extension($wampLogsPath . $file);
                if ($file != '.' && $file != '..' && $ext == 'log') {
                    $purgeLogs[] = $wampLogsPath . $file;
                    @unlink($wampLogsPath . $file);
                }
            }
            closedir($dir_handle);
        }
    }
    logInfo("Purge logs", true, $purgeLogs, false);
}

// Install wampmysqld service
$mysqlVersion = $wampConfig['mysql']['mysqlVersion'];
$mysqlVersion = str_replace('"', '', $mysqlVersion);
$mysqlPath = $mysqlArr[$mysqlVersion]['path'] . '\\' . $mysqlArr[$mysqlVersion]['bin'];
$mysqlInstallParams = $wampConfig['mysql']['mysqlServiceInstallParams'];
$mysqlInstallParams = str_replace('"', '', $mysqlInstallParams);
$mysqlService = $mysqlPath . " " . $mysqlInstallParams;

logInfo("Install wampmysqld service", true);
execCommand($mysqlService);
execCommand("TIMEOUT /T 1 /NOBREAK", false);
execCommand("NET START wampmysqld");

if (!empty($mariadbArr)) {
    // Install wampmariadb service
    $mariadbVersion = $wampConfig['mariadb']['mariadbVersion'];
    $mariadbVersion = str_replace('"', '', $mariadbVersion);
    $mariadbPath = $mariadbArr[$mariadbVersion]['path'] . '\\' . $mariadbArr[$mariadbVersion]['bin'];
    $mariadbInstallParams = $wampConfig['mariadb']['mariadbServiceInstallParams'];
    $mariadbInstallParams = str_replace('"', '', $mariadbInstallParams);
    $mariadbService = $mariadbPath . " " . $mariadbInstallParams;

    logInfo("Install wampmariadb service", true);
    execCommand($mariadbService);
    execCommand("TIMEOUT /T 1 /NOBREAK", false);
    execCommand("NET START wampmariadb");
}

// Install wampapache service
$apacheVersion = $wampConfig['apache']['apacheVersion'];
$apacheVersion = str_replace('"', '', $apacheVersion);
$apachePath = $apacheArr[$apacheVersion]['path'] . '\\' . $apacheArr[$apacheVersion]['bin'];
$apacheInstallParams = $wampConfig['apache']['apacheServiceInstallParams'];
$apacheInstallParams = str_replace('"', '', $apacheInstallParams);
$apacheService = $apachePath . " " . $apacheInstallParams;

logInfo("Install wampapache service", true);
execCommand($apacheService);
execCommand("TIMEOUT /T 1 /NOBREAK", false);
execCommand("NET START wampapache");

// Delete old backups
if ($maxBackups > 0) {
    $listBackups = array();
    if ($handle = opendir($rootBackupPath)) {
        while (false !== ($file = readdir($handle))) {
            if ($file != "." && $file != ".." && is_dir($rootBackupPath . $file) && is_numeric($file)) {
                $listBackups[] = $rootBackupPath . $file;
            }
        }
    }
    if (!empty($listBackups) && count($listBackups) > $maxBackups) {
        sort($listBackups);
        $toDelete = count($listBackups) - $maxBackups;
        $listBackupsDelete = array();
        for ($i=0; $i<$toDelete; $i++) {             $listBackupsDelete[] = $listBackups[$i];             deleteFolder($listBackups[$i]);         }         logInfo("Delete old backups", count($listBackupsDelete) > 0, $listBackupsDelete, false);
    }
}

// Now ready to use
echoListener("\n\n");
echoListener("Operation completed successfully!\nWamp is now ready to use!");
echoListener("\n\n");
if (!$autoLaunch) {
    echoListener("Press any key to launch Wamp...");
    `pause`;
}

// Launch wampmanager
echoListener("\n\nLaunch wampmanager\n\n");
`ECHO set args = WScript.Arguments >%wampLauncher%`;
`ECHO num = args.Count >>%wampLauncher%`;
`ECHO. >>%wampLauncher%`;
`ECHO if num = 0 then >>%wampLauncher%`;
`ECHO   WScript.Quit 1 >>%wampLauncher%`;
`ECHO end if >>%wampLauncher%`;
`ECHO. >>%wampLauncher%`;
`ECHO sargs = "" >>%wampLauncher%`;
`ECHO if num ^> 1 then >>%wampLauncher%`;
`ECHO   sargs = " " >>%wampLauncher%`;
`ECHO   for k = 1 to num - 1 >>%wampLauncher%`;
`ECHO       anArg = args.Item(k) >>%wampLauncher%`;
`ECHO       sargs = sargs ^& anArg ^& " " >>%wampLauncher%`;
`ECHO   next >>%wampLauncher%`;
`ECHO end if >>%wampLauncher%`;
`ECHO. >>%wampLauncher%`;
`ECHO Set WshShell = WScript.CreateObject("WScript.Shell") >>%wampLauncher%`;
`ECHO. >>%wampLauncher%`;
`ECHO WshShell.Run """" ^& WScript.Arguments(0) ^& """" ^& sargs, 0, False >>%wampLauncher%`;

`ECHO @ECHO OFF>%wampLauncherScript%`;
`ECHO SETLOCAL EnableDelayedExpansion>>%wampLauncherScript%`;
`ECHO.>>%wampLauncherScript%`;
`ECHO start /w %wampmanagerDaemon%>>%wampLauncherScript%`;
`ECHO.>>%wampLauncherScript%`;
`ECHO NET STOP wampapache>>%wampLauncherScript%`;
`ECHO $apacheScript>>%wampLauncherScript%`;
`ECHO TIMEOUT /T 4 /NOBREAK>>%wampLauncherScript%`;
`ECHO SC delete wampapache>>%wampLauncherScript%`;
`ECHO.>>%wampLauncherScript%`;
`ECHO NET STOP wampmysqld>>%wampLauncherScript%`;
`ECHO $mysqlScript>>%wampLauncherScript%`;
`ECHO TIMEOUT /T 4 /NOBREAK>>%wampLauncherScript%`;
`ECHO SC delete wampmysqld>>%wampLauncherScript%`;
`ECHO.>>%wampLauncherScript%`;
`ECHO ENDLOCAL>>%wampLauncherScript%`;

`wscript.exe %wampLauncher% %wampLauncherScript%`;

if ($enableLogs) file_put_contents($logsPath, "@@@\n@@@ END WAMP-PORTABLE " . date('YmdHis') . "\n@@@\n\n\n\n\n\n\n\n\n\n\n\n", FILE_APPEND);

?>

WAMP sur clé USB

http://sam-soul.fr/Info/wamp-portable-bat/

Installation

Before running the script, you can change some variables (line 70).

$timezone – The default timezone used by all date/time functions. Default : Europe/Paris
$enableLogs – Enable wamp-portable log file. Generate wamp-portable.log file. Default : true
$autoLaunch – Automatically closes the wamp-portable window. Default : false
$purgeWampLogs – Purge logs from Wamp logs folder. Default false;
$maxBackups – Maximum number of backups to keep (0 = unlimited). Default : 10
$verbose – Control the debug output (0=simple, 1=report, 2=debug). Default 0
Next,

Download and install WampServer 32-bit >= 2.0.
Copy wamp folder where ever you want.
Remove WampServer from Programs and Features.
Delete unins000.dat and unins000.exe from the copied folder.
Put the wamp-portable.bat in the same directory as wampmanager.exe.

Usage

Just launch wamp-portable.bat to start WampServer (do not launch wampmanager.exe).
A backup folder is created each time you launch wamp-portable in the backups directory. This folder contains all files edited by the wamp-portable script.

Redirection d’URL

J’ai ajouté dans le fichier www/WordPress3/index.php

<?php
/**
 * Front to the WordPress application. This file doesn't do anything, but loads
 * wp-blog-header.php which does and tells WordPress to load the theme.
 *
 * @package WordPress
 */

/**
 * Tells WordPress to load the WordPress theme and output it.
 *
 * @var bool
 */
header("Status: 301 Moved Permanently", false, 301);
header("Location: http://www.sam-soul.fr/index.html");
exit();
define('WP_USE_THEMES', true);

/** Loads the WordPress Environment and Template */
require('./wp-blog-header.php');

et / ou dans le fichier header.php

<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title><?php wp_title('|', true, 'left'); ?></title>
<link rel="profile" href="http://gmpg.org/xfn/11" />
<link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>" />
header("Status: 301 Moved Permanently", false, 301);
header("Location: http://www.sam-soul.fr/index.html");
exit();
<?php wp_head(); ?>
</head>

Migrer une base WordPress créée par module OVH vers une base MySQL « normale »

La création de blogs et autres sites web avec les modules d’OVH a l’avantage
de se faire en quelques clics de souris mais l’inconvénient d’entrainer
une certaine « lourdeur » voire carrément des blocages, notamment lorsque
l’on veut faire évoluer son site (mise à jour automatique de WordPress)
ou encore ajouter des plugins et autres add-ons.

Le but de la manipulation décrite ici est de passer facilement d’une base
MySQL créée par module OVH WordPress et relativement inaccessible
vers une base MySQL « normale », notamment accessible par PhpMyAdmin
et autres outils classiques.

En dehors du fichier « wp-config.php », il n’y a aucune modification à faire
dans les fichiers du site web (fichiers PHP, Javascript, images, feuilles
de style, etc.)

Ne pas se fier à la relative longueur de ce texte, si tout se passe bien,
vous en avez pour moins de 5 minutes 

Lire l’ensemble du texte avant de se lancer.

Etape 1 : créer une nouvelle base de données dans le manager du site web
d’OVH (dans « Hébergement » / « Gestion de MySQL » / « Nouvelle base MySQL »)

Etape 2 : attendre l’email d’OVH confirmant la bonne création de cette base
et noter les identifiants de connexion à celle-ci (login, mot de passe, etc.)

Si le script signale un problème d’accès à la nouvelle base et que vous êtes
sûr et certain d’utiliser le bon nom d’hôte, de base, de login et de mot de passe,
vous pouvez patienter un peu (disons 1 heure ou 2) ou sinon vous pouvez essayer
de réinitialiser le mot de passe d’accès à la base.

Etape 3 : Faire un copier-coller du script PHP qui suit et l’enregistrer dans
votre PC domicile/bureau sous un nom tel que « wp_move_db.php ».
(vous pouvez l’appeler comme bon vous semble mais l’extension « .php »
est obligatoire)

Le faire via un éditeur de texte ultra-simple du genre le « bloc-notes » sous Windows.
Ne pas utiliser de traitement de texte type « Microsoft Word » ou équivalent
qui risquerait d’introduire des caractères parasites invisibles.

Si vous utilisez « text edit » sous MacOS, attention au format du fichier,
cf le message n°53 et suivant de ce topic.

Etape 4 : Modifier au début de ce fichier les informations de connexion
à la nouvelle base MySQL (le script doit trouver tout seul les informations
de connexion à l’ancienne base) que vous venez de créer à l’étape 1.

Etape 5 : Une fois le script mis à jour, le transférer par FTP (avec FileZilla
par exemple) et le placer dans le même répertoire que le fichier « wp-config.php »
de votre installation WordPress (par exemple dans le répertoire « WordPress3 »)

Etape 6 : lancer l’exécution du script en tapant son adresse dans votre navigateur web :

http://www.votre_site.fr/WordPress3/wp_move_db.php

ou encore

http://www.votre_site.fr/wp_move_db.php

selon l’endroit où se trouve votre installation WordPress.

Le script devrait s’exécuter en quelques secondes et vous afficher
« Fin normale du programme » si tout s’est bien déroulé.

Etape 7 : par défaut, le script se contente de créer un nouveau
fichier « wp-config-nouveau.php » contenant les informations de connexion
à votre nouvelle base WordPress et laisse intact votre ancien « wp-config.php ».

Vous avez le choix :

– soit de renommer manuellement (par FTP) ce fichier en « wp-config.php »
(en effaçant/renommant au préalable l’ancien)

– soit de laisser faire cette modification par le script PHP, dans ce cas placer
la variable « $rename » à 1 au début du script. Le fichier courant « wp-config.php »
sera sauvegardé sous le nom « wp-config-ancien.php ».

Une fois le fichier « wp-config.php » mis à jour, votre installation WordPress
utilisera votre nouvelle base de données et non plus l’ancienne.
La migration est alors terminée 

Etape optionnelle : le script sauvegarde l’ancienne base dans un fichier
SQL compressé, « wp_20110930.gz » par exemple (format « wp_YYYYMMDD.gz »).
Une fois la migration terminée, vous pouvez effacer (par FTP) ce fichier
ou encore le recopier localement afin d’en avoir une sauvegarde.

Précisions : le script PHP de migration ne peut en aucune façon détruire/modifier
votre ancienne base de données (il ne fait que la lire).

Par précaution, avant de lancer l’exécution du script, faite une copie locale
(par FTP) de votre ancien fichier « wp-config.php » afin d’en garder une trace
juste au cas où.

<?PHP

// --------------------------------------------------

/*
   AVANT d'exécuter ce script, vous devez, impérativement, avoir créé
   une nouvelle base de données pour WordPress via le manager
   du site web d'OVH.

   Une fois la base créée, vous aller recevoir un email d'OVH
   intitulé "[MySQL] La base MySQL ...". A l'intérieur se trouvent
   les informations de connexion que vous allez devoir reprendre
   dans ce script :

     Serveur        : $new_db_host
     Utilisateur    : $new_db_user
     Nom de la base : $new_db_name
     Mot de passe   : $new_db_password

   Par exemple, si dans l'email vous avez :

     Serveur        : mysql5-1.starter
     Utilisateur    : mon_login
     Nom de la base : mabase
     Mot de passe   : XYZ1234

   cela donnera dans ce script :

    $new_db_host = "mysql5-1.starter";
    $new_db_user = "mon_login";
    $new_db_name = "mabase";                
    $new_db_password = "XYZ1234";                

*/

    $new_db_host = "";
    $new_db_user = "";
    $new_db_name = "";
    $new_db_password = "";

    // ----------------------------------

    $rename = 0;        // Valeurs possibles : 0 ou 1. 1 signifiant que le programme va modifier les informations
                            // de connexion dans le fichier "wp-config.php" afin que WordPress ne se connecte plus
                            // à l'ancienne base mais à la nouvelle base.

                            // 0 signifie que ce script va seulement créer le nouveau fichier "wp-config-nouveau.php",
                            // il ne vous restera plus qu'à le renommer manuellement par FTP en "wp-config.php" afin
                            // de permettre à WordPress d'utiliser la nouvelle base.

    $db_charset = "";     // Valeurs possibles : 'utf8' ou 'latin1', à ne changer que si les caractères accentués
                            // de la nouvelle base sont incorrects

    $DEBUG = 0;        // Valeurs possibles 0 ou 1, afin d'afficher davantage d'informations lors de l'exécution

// **********************************************************************************************

function GetCharset ($db,$db_name)
{
        $cmd = "SHOW TABLE STATUS FROM `$db_name` LIKE 'wp_users'";
        $result=mysql_query ($cmd,$db);
        $myrow=mysql_fetch_array($result);

        $db_charset = "utf8"; // Par défaut, on utilise l'Unicode

        if ($myrow)
        {
            if ($myrow["Collation"] == "utf8_general_ci")
            {
                $db_charset = "utf8";
            }
            else
            {
                $db_charset = "latin1";
            }
        }

    return ($db_charset);
}

function my_exec ($cmd, $error_msg)
{
    global $DEBUG;

       if ($DEBUG)
       {
           print "cmd = $cmd<br>\n";
       }

       $statut = system($cmd);

       if ($statut === FALSE)
       {
           print "<br>".$error_msg;
           exit;
       }
}

// **********************************************************************************************

    // --------------------------------------------------------------
    // Récupération des données de connexion à l'ancienne base WordPress
    // dans le fichier 'wp-config.php'

    $tab = file("wp-config.php");

    if ($tab === FALSE)
    {
        print "Impossible de lire le fichier 'wp-config.php'<br>\n";
        print "Ce script PHP doit être dans le même répertoire que le fichier 'wp-config.php' de WordPress .<br>\n";
        exit;
    }

    $db_name ="";
    $db_host = "";
    $db_user = "";
    $db_password = "";

    for ($i=0; $i<50; $i++)
    {
        $ligne = $tab[$i];

        if (strpos($ligne,'define(\'DB_NAME') !== FALSE)
        {
            preg_match('/(.*)\'(.*)\'(.*)\'(.*)\'(.*)/', $ligne, $data);
            $db_name = $data[4];
        }

        if (strpos($ligne,'define(\'DB_USER') !== FALSE)
        {
            preg_match('/(.*)\'(.*)\'(.*)\'(.*)\'(.*)/', $ligne, $data);
            $db_user = $data[4];
        }

        if (strpos($ligne,'define(\'DB_PASSWORD') !== FALSE)
        {
            preg_match('/(.*)\'(.*)\'(.*)\'(.*)\'(.*)/', $ligne, $data);
            $db_password = $data[4];
        }

        if (strpos($ligne,'define(\'DB_HOST') !== FALSE)
        {
            preg_match('/(.*)\'(.*)\'(.*)\'(.*)\'(.*)/U', $ligne, $data);
            $db_host = $data[4];
        }
    }

    if (($db_name == "") || ($db_user == "") || ($db_password == "") || ($db_host == ""))    
    {
        print "Probleme lors de la recuperation des donnees de connexion depuis le fichier 'wp-config.php'";
        exit;
    }

    if (strpos ($db_host, "modules") === FALSE)
    {
        print "Attention, votre fichier 'wp-config.php' semble ne pas utiliser le module OVH WordPress.<br><br>\n";

        print "Si vous avez deja execute une premiere fois ce script, verifiez que votre fichier<br>\n";
        print "'wp-config.php' contient bien les informations de connexion a votre ancienne base de donnees<br>\n";
        print "et non celles de la nouvelle base.<br>\n";

        exit;
    }

    // ----------------------------------------------------------------
    // Connexion a la nouvelle base de données
    // Seulement dans le but de s'assurer que les paramètres de connexion sont les bons

    $db = mysql_connect($new_db_host, $new_db_user, $new_db_password);

    if ($db === FALSE) 
    {
            print "Connexion impossible à la nouvelle base de donnees : ".mysql_error();
            print "Verifiez bien vos informations : nom d'hote, login et surtout mot de passe<br>\n";            
            exit;
    }
    else
    {
            // On teste seulement la connexion a la nouvelle base de donnee

            $statut = mysql_select_db ($new_db_name, $db);

        if ($statut === FALSE) 
        {
               print "Impossible de selectionner la nouvelle base de donnees : ".mysql_error();
               print "Verifiez bien vos informations : nom de base<br>\n";
               mysql_close ($db);
               exit;
        }    
        else
        {
               mysql_close($db);
            }
    }

    // ----------------------------------------------------------------
    // Connexion a l'ancienne base de données (créee par le module OVH)

    $db = mysql_connect($db_host, $db_user, $db_password);

    if ($db === FALSE) 
    {
            print "Connexion impossible à l'ancienne base de donnees : ".mysql_error();
            exit;
    }

    $statut = mysql_select_db ($db_name, $db);

    if ($statut === FALSE) 
    {
           print "Impossible de selectionner l'ancienne base de donnees : ".mysql_error();
           mysql_close ($db);
           exit;
    }    

    $db_charset = GetCharset ($db,$db_name);

    if ($DEBUG)
    {    
        print "db_name = $db_name<br>\n";    
        print "db_user = $db_user<br>\n";
        print "db_password = $db_password<br>\n";
        print "db_host = $db_host<br>\n";
        print "db_charset = $db_charset<br>\n";
    }

    // ------------------------------------------------------------------
    // Sauvegarde de l'ancienne base de données (créee par le module OVH)

    $date_actuelle = date ("Ymd",time());
    $backup_filename = "wp_".$date_actuelle.".gz";

    $cmd = "mysqldump --host='$db_host' --user='$db_user' --password='$db_password' -e --default-character-set='$db_charset' '$db_name' | gzip -c > $backup_filename ";
    my_exec ($cmd, "Erreur lors de l'execution du mysqldump"); 

    mysql_close ($db); 

    print "La sauvegarde (mysqldump) de l'ancienne base s'est bien deroulee.<br>\n";

    // --------------------------------------------------------------
     // Injection des données de l'ancienne base dans la nouvelle base

     if (($new_db_name == "") || ($new_db_host == "") || ($new_db_password == "") || ($new_db_user == ""))
     {
         print "<br>Erreur : vous devez indiquer les informations de connexion à la nouvelle base de donnees,<br>\n";
         print "Cf les explications en commentaires au début de ce script.<br>\n";
         exit;
     }

    $cmd = "gzip -d < $backup_filename | mysql --host='$new_db_host' --user='$new_db_user' --password='$new_db_password' '$new_db_name'";
    my_exec ($cmd, "Erreur lors de l'injection des donnees dans la nouvelle base"); 

    print "L'injection des donnees de l'ancienne base dans la nouvelle s'est bien déroulee.<br>\n";

    // --------------------------------------------------------------------------
    // On va créer un nouveau fichier "wp-config.php" contenant les informations
    // de connexion à la nouvelle base de données.

    $fp = fopen ("wp-config-nouveau.php","w");

    if (!$fp)
    {
        print "<br>Impossible d'ouvrir en ecriture le nouveau fichier 'wp-config-nouveau.php'<br>\n";
        exit;
    }

    foreach ($tab as $ligne)
    {
        if (strpos($ligne,'define(\'DB_NAME') !== FALSE)
        {
            $ligne = "define('DB_NAME', '".$new_db_name."');\n";
        }

        if (strpos($ligne,'define(\'DB_USER') !== FALSE)
        {
            $ligne = "define('DB_USER', '".$new_db_user."');\n";
        }

        if (strpos($ligne,'define(\'DB_PASSWORD') !== FALSE)
        {
            $ligne = "define('DB_PASSWORD', '".$new_db_password."');\n";
        }

        if (strpos($ligne,'define(\'DB_HOST') !== FALSE)
        {
            $ligne = "define('DB_HOST', '".$new_db_host."');\n";
        }

        fwrite ($fp, $ligne);
    }

    fclose ($fp);

    print "Le fichier 'wp-config-nouveau.php' a bien ete cree.<br>\n";

    if ($rename)
    {
        my_exec ("mv wp-config.php wp-config-ancien.php", "Erreur lors du renommage de l'ancien fichier 'wp-config.php'");
        my_exec ("cp wp-config-nouveau.php wp-config.php", "Erreur lors du renommage du nouveau fichier 'wp-config.php'");

        print "Le fichier 'wp-config-nouveau.php' a bien ete renomme en 'wp-config.php'<br>\n";
        print "Vous pouvez desormais utiliser WordPress avec votre nouvelle base de donnees.<br>\n";
    }
    else
    {
        print "Il ne vous reste plus qu'a renommer par FTP le fichier 'wp-config-nouveau.php'<br>\n";
        print "en 'wp-config.php' afin de permettre à WordPress d'utiliser la nouvelle base de données<br>\n";
    }

    print "<br><br>Fin normale du programme.<br>\n";
?>

Edit 06/XII/2011 : Adaptation pour WordPress 2.5
Edit 24/V/2012 : Ajout d'informations pour Text Edit sous MacOS
Edit 30/V/2012 : Renforcement des contrôles sur les paramètres d'accès à la nouvelle base
Edit 18/XI/2012 : Ajout d'informations en cas de souci d'accès à la nouvelle base

http://forum.ovh.com/showthread.php?t=73712

Mise à jour template online-marketer pour SAM-SOUL.FR

header.php

remonmer le pavé

<?php
 $header_image = get_header_image();
 if ( ! empty( $header_image ) ) :
 if ( function_exists( 'get_custom_header' ) ) {
 $header_image_width = get_custom_header()->width;
 $header_image_height = get_custom_header()->height;
 } else {
 $header_image_width = HEADER_IMAGE_WIDTH;
 $header_image_height = HEADER_IMAGE_HEIGHT;
 }
 ?>

Mettre en commentaire

<!--
 <hgroup id="top-header">
 <div id="site-title"><a href="<?php echo home_url( '/' ); ?>" title="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a></div>
 <div id="site-description"><?php bloginfo( 'description' ); ?></div>
 </hgroup>
  -->

ligne 45 <?php get_search_form(); ?>

content.php ligne 7 à 11
<div class="entry-meta meta">
 <?php onlinemarketer_posted_on(); ?>
 </div><!-- .entry-meta -->
 <?php endif; ?>
 </header><!-- .entry-header -->

 

footer.php

Mettre en commentaire tout le pavé.

 div id="site-generator"

content.php

Mettre en commentaire (au début)

div class="entry-meta meta"

Mettre en commentaire tout le pavé footer (en bas de la page) juste avant

edit_post_link

 

Les guillemets, sur WordPress.

Une simple une expression entre guillemets et WordPress vous transforme automatiquement vos  » en guillemets français « (ouvrant) et » (fermant).

Il suffit donc de la désactiver en supprimant le filtre appliqué sur le contenu avec wptexturise

Ajoutez la ligne suivante dans le fichier functions.php de votre thème WordPress, et le tour est joué!

remove_filter('the_content', 'wptexturize');

Lucène pour la recherche sous Drupal

Installation d’Apache Lucène pour la recherche sous Drupal

Tue, 06/23/2009 – 20:01

Qu’est ce que Lucène?

Lucene est un moteur de recherche libre écrit en Java qui permet d’indexer et de rechercher du texte. C’est un projet open source de la fondation Apache mis à disposition sous licence Apache. Il est également disponible pour les langages Ruby, Perl, C++, PHP. Pour plus d’information : http://fr.wikipedia.org/wiki/Lucene

Ou trouver Lucène ?

Le module peut-être téléchargé directement sur ce site, dans les fichiers attachés en bas de page, ou sur la page suivante : http://drupal.org/project/luceneapi (version actuelle : 6.x-1.1)

En plus du module, l’API est requise (toujours téléchargeable en bas de page) ou sur le site de Sourceforge (version actuelle : 6.x-1.0)

Comment l’installer?

Copier le dossier LuceneApi dans le répertoire sites/all/modules . Copier le dossier lib (contenu dans LuceneApi-Lib) directement dans le répertoire LuceneApi (sites/all/modules/luceneapi).

Ensuite, il suffit simplement d’activer les modules, et de les configurer comme désiré.

Les options de recherche

Ranked search results

Lucene has a more sophisticated scoring algorithm that returns the most relevant content first.

Wildcard searching

ap* matches apple, application, te?t matches test, tent.

Boolean operators

AND, OR, AND NOT are supported. + and – are supported as well.

The queries Drupal AND NOT Joomla and Drupal -Joomal are equivalent.

Term grouping

php AND (Drupal OR Zend) matches PHP articles about Drupal or Zend.

Fuzzy searching

test~ matches test, tent based on their Levenshtein distance.

Proximity searching

« Chris Pliakas »~2 matches Chris Middle Name Pliakas because Chris and Pliakas are within 2 words of each other.

Term boosting

php drupal^4 matches PHP and Drupal, but more importance will be placed on Drupal.

The higher the boost factor number, the more relevant the term becomes.

Fielded searching

drupal +title:theming -name:chris matches Drupal articles with the word theming in the title not authored by Chris.

Word stemming (2.x only)

test matches test, testing, tests, tested.

Attachment Size
luceneapi-lib-6.x-1.0.zip 169.28 KB
luceneapi-6.x-1.1.zip 47.87 KB

Installation de Drupal sur Free

2 bis – Installation de Drupal sur Free

sam, 02/07/2009 – 17:30 — admin

Ce chapitre ne fait pas partie du livre Atelier Drupal.

Free propose un espace d’hébergement conséquent, 10 Go, qui a l’avantage d’être gratuit. Il est possible d’installer Drupal chez Free bien que quelques limitations soit gênantes. La plus ennuyeuse pour Drupal est l’impossibilité d’activer le modrewrite de php.

1. Création du compte
Créer un compte pour héberger ses pages perso n’est pas compliqué, mais demande une certaine patience. En effet, votre compte pages perso ne sera activé que 24 voir 48 heures après votre demande et si vous n’avez pas de compte, vous devrez attendre une lettre que free vous enverra par la poste.
Création compte mail
La première chose à faire est de se créer une adresse mail :
Si vous ne possédez pas encore d’accès free :

  • Rendez-vous sur le site http://www.free.fr.
  • Cliquez sur l’onglet S’ABONNER.
  • Dans la liste de gauche, cliquez sur Accès gratuit.
  • Remplissez les champs du cadre de droite.

Ainsi, vous recevrez par la poste vos informations sur votre nouveau compte.

Si possédez un compte free ou si vous avez reçu les informations de votre compte :

  • Rendez-vous sur le site http://www.free.fr.
  • Cliquez sur l’onglet MON COMPTE.
  • Entrez vos Identifiants et Mot de passe.
  • Cliquez sur le bouton Connexion.

Vous arrivez alors sur votre interface de gestion. Depuis cette page, vous pouvez gérer votre compte mail et vos Pages Perso :

free1.png
L’interface d’administration de votre compte free

Activer votre compte pour les pages personnelles Permet de demander l’activation de votre espace
Ré-activer votre compte pour les pages personnelles (si celui-ci a été suspendu) Effectue une nouvelle demande si votre compte a été désactivé
Personnalisez le mot de passe de connexion FTP Modification du mot de passe uniquement pour la connexion FTP
Personnalisez le mot de passe de connexion SQL Modification du mot de passe uniquement pour l’accès à votre base SQL (Et donc à phpMyAdmin)
Consulter les statistiques d’accès webalizer de votre site web Permet d’avoir les statistiques de fréquentation de votre site
Activez les statistiques phpmyvisites de votre site web Autre interface de présentation des statistiques de fréquentation
Consulter les statistiques d’accès phpmyvisites de votre site web
Activer votre base de données MySQL permet de créer une base MySQL
Accéder et gérer votre base de données MySQL accès à phpMyAdmin
  • Cliquez sur le lien Activer votre compte pour les pages personnelles.
  • Chosissez Base MySQL.
  • Cliquez sur bouton >

Votre compte sera alors activé une ou deux journée après la demande. Pour savoir si celui-ci est activé, tentez de vous connecter à phpMyAdmin grâce au lien Accéder et gérer votre base de données MySQL.

free2.png
Votre compte est activé !

2. Transfert des fichiers de DrupalVous allez maintenant installer Drupal à partir de ses fichiers source. Il faut donc télécharger Drupal et transférer les fichiers vers votre serveur.

Connexion ftp au serveur

astuce.png L’extension FireFTP de Firefox sera utilisée pour transférer les fichiers via ftp (https://addons.mozilla.org/fr/firefox/addon/684).

Créer un compte sur FireFTP pour vous connecter à votre serveur

  • Dans Firefox, cliquez sur le menu Outils/FireFTP.
  • Dans la liste déroulante qui permet de choisir les comptes ftp, cliquez sur Create an account…
  • Host : ftp://ftpperso.free.fr
  • Login : Votre Login free.
  • Password : Votre mot de passe free.

free3.png
Compte FTP sur FireFTP

  • Cliquez sur le bouton OK.
  • Cliquez sur le bouton Connect de la page principale de FireFTP.

Si tout c’est bien passé, vous devriez être connecté à votre compte FTP.
Téléchargement et Upload de l’archive Drupal

  • Rendez-vous à la section Download du site web Drupal (http://www.drupal.org/) ou cliquez sur le lien Latest release et téléchargez la dernière version de Drupal.

free4.png
Page d’accueil de drupal.org

  • Décompressez votre archive dans un répertoire local de votre ordinateur.
information.png Si vous ne pouvez pas décompresser votre archive .tar.gz, utilisez le logiciel libre 7zip : http://www.7-zip.org.
  • Sélectionnez l’ensemble du contenu du répertoire drupal-6.x.
  • Copiez tous les fichiers sur votre répertoire distant grâce à FireFTP.

free5.png
Transfert des fichiers de Drupal

Modification du .htaccess Du fait des limitations imposées par free, certaines directives du fichier .htaccess provoquent une erreur 500 à l’installation de Drupal. Vous devez donc modifier le .htacces à la racine de Drupal :

information.png Les fichiers commençant par le caractère « . » sous unix sont des fichiers cachés. Donc, avec FireFTP, si le fichier .htaccess n’apparaît pas dans votre répertoire Drupal, allez dans Tools – Options puis cochez la case Show hidden files de l’onglet General.
  • Editez le fichier .htaccess : avec FireFTP, clic droit sur le fichier – Open
  • Supprimez toutes les lignes
  • Ajoutez les lignes suivantes au fichier :
#
# Apache/PHP/Drupal settings:
## Don’t show directory listings for URLs which map to a directory.
Options -Indexes# Follow symbolic links in this directory.
Options +FollowSymLinks# Make Drupal handle any 404 errors.
ErrorDocument 404 /index.php

PHP 1

# $Id: .htaccess,v 1.90.2.1 2008/07/08 09:33:14 goba Exp $

  • Enregistrez le fichier
[inline_upload|file=information.png|title=information] La ligne PHP 1 permet de forcer l’utilisation de la version 5 de PHP..

Lancez un navigateur internet et entrez l’adresse : http://votrelogin.free.fr. Vous devriez voir apparaître la page d’accueil de Drupal.

free6.png
Drupal est prêt à être installé !

3. Installation de la langue française
La priorité est maintenant d’installer Drupal en Français :

  • Cliquez sur le lien Learn how to install Drupal in other languages de la page http://votrelogin.free.fr.
  • Cliquez sur Determine if a translation of this Drupal version is available, ce qui doit vous rediriger vers la section Translations (Traductions) du site internet Drupal (http://www.drupal.org).
  • Téléchargez alors le fichier French translation pour la version 6.x de Drupal.
  • Décompressez l’archive en local sur votre ordinateur.
  • Sélectionnez l’ensemble du contenu de l’archive.
  • Copiez le sur votre répertoire distant grâce à FireFTP.

free7.png

Envoie des fichiers de la langue française.

free8.png
Drupal est prêt à être installé… en francais !

Voilà ! Vous êtes prêts à installer Drupal !

  • Choose Language (Choix de la langue) : Bien sûr, sélectionnez Français pour passer à l’étape suivante.

4. Installation de la base de données

Pour que Drupal fonctionne correctement, il faut lui indiquer les paramètres de votre base de données.

  • Type de base de données : mysqli
  • Nom d’utilisateur : Nom d’utilisateur de votre base de données.
  • Mot de passe : le mot de passe que vous avez entré lors de la création de la base de données.
  • Cliquez sur Options avancées.
  • Serveur de base de données : Serveur de base de données à utiliser.

free9.png
Installation de la base de données par l’installateur Drupal

  • Cliquez sur le bouton Sauvegarder et poursuivre.

5. Configuration du site
Maintenant que la base est créée, vous allez entrer les paramètres qui permettront à Drupal de créer le premier utilisateur : l’administrateur.
Complétez les champs de la manière suivante :

  • Nom du site : Recettes !
  • Adresse e-mail du site : contact@mondomaine.com (Entrez une adresse valide)
  • Nom d’utilisateur : admin
  • Adresse e-mail : contact@mondomaine.com (Entrez une adresse valide)
  • Mot de passe : Entrez un mot de passe sécurisé

free10.png
Paramètres pour la création du premier utilisateur

  • Cliquez sur le bouton Sauvegarder et poursuivre.
  • Cliquez sur le lien votre nouveau site.

free11.png
L’installation de Drupal est terminée !

information.png Votre site Drupal est installé mais pas sécurisé. La directive FileMatch étant interdite par Free, tous les répertoires sont accessibles en lecture. pour protéger un répertoire et ses sous-repertoire, il faudra créer un fichier .htaccess dans chacun d’eux contenant la directive : deny from all.
En particulier, il est important de protéger le répertoire /sites/default car il contient le fichier settings.php contenant votre mot de passe.
information.png Avec Drupal, par défaut, il est possible pour chaque utilisateur de créer son propre compte sans vérification. Cela peut vous poser un problème de sécurité. Pour modifier cela allez sur Administrer – Gestion des utilisateurs – Paramètres des utilisateurs et choisissez l’option Seuls les administrateurs du site peuvent créer de nouveaux comptes. Puis, cliquez sur le bouton Enregistrer la configuration.

Vous pouvez maintenant partir à la découverte de Drupal !

HTML/CSS -> Fichier .htaccess chez free.fr

Bonjour à tous !

Je vais essayer de vous expliquer clairement la méthode pour protéger l’accès à un dossier par mot de passe sur l’hébergeur free.fr, qui est légèrement différente que celle classique.

C’est vrai il y a une annexe dans les cours php à propos des .htaccess et .htpasswd. Et bien oui, mais elle n’est pas exactement identique chez free.
Mais alors, comment s’y prendre?
Dans le tuto, nous allons protéger le dossier admin par un système de mots de passe.

I. Création du fichier .htaccess:

Le but de ce tuto n’est pas d’expliquer comment envoyer sur le serveur des fichiers de ce style, on trouve de nombreuses explications sur le net à ce propos.

Après avoir créé le fichier .htaccess, vous devez y insérer ceci:

PerlSetVar AuthFile admin/password/.htpasswd
AuthName « Acces Restreint »
AuthType Basic
require valid-user

Pour l’adapter à votre site, vous devez remplacer deux valeurs:
admin/password/.htpasswd: Ceci représente l’emplacement du fichier contenant la liste des mots de passe.
Cette valeur est le chemin du fichier contenant les mots de passe depuis la racine du serveur. Dans le cas de l’exemple, le fichier .htpasswd serait situé dans le dossier admin puis le dossier password.
Quel est l’intêret de créer un dossier password si nous voulons simplement protéger le dossier admin? Nous le verrons plus tard, mais il s’agit d’une question de sécurité, vous comprendrez plus tard.

« Acces Restreint »: Vous pouvez modifier le texte que portera la fenêtre qui s’ouvrira pour rentrer le pseudo et le mot de passe, pour informer l’utilisateur de l’accessibilité du dossier. Attention tout de même de ne pas enlever les guillemets, faute de quoi la protection ne marchera pas convenablement.

II. Création du dossier password qui contiendra le fichier .htpasswd:

Nous allons donc placer ce dossier dans le dossier que nous souhaitons protéger dans notre exemple, mais vous pouvez le placer dans n’importe quel répertoire de votre serveur, il suffit juste de remplacer les valeurs indiquant le chemin du fichier contenant les pass dans le fichier .htaccess.

Pour des raisons de sécurité nous allons faire en sorte que ce fichier ne soit accessible à personne, y compris vous. Nous allons alors créer un fichier .htaccess dans le répertoire password qui permettra de refuser son accès à tout visiteur.
Il suffira donc d’y insérer une ligne:

deny from all

Il est évident que cette étape n’est pas obligatoire, mais elle est conseillée par Free pour encore plus de sécurité. Si vous voulez ne pas la considérer, vous pouvez faire comme dans l’exemple des annexes, mais en gardant tout de même la syntaxe propre à free.

III. Mise en place du fichier .htpasswd:

Chez Free, il n’est pas indispensable que le fichier contenant les pseudos et mot de passe soit appelé .htpasswd. Vous vous souvenez on indique dans le .htaccess le chemin de ce fichier, et bien il peut s’appeler comme on le désire, password.txt, exemple.php, enfin comme on le désire.

Nous allons rencontrer la plus grande différence entre la protection par mot de passe entre Free et les autre. Vous vous souvenez sur un serveur « classique », les mots de passe sont cryptés et enregistrés de cette manière dans le .htpasswd.

Chez Free vous ne devez pas crypter les mots de passe. En effet l’hébergeur a désactivé cette fonction. Il suffit donc de mettre les mots de passe en clair dans le fichier les contenant. Vous voyez maintenant l’intêret de sécuriser davantage le fichier contenant les mots de passe?

Le fichier .htpasswd doit contenir la ligne suivante pour un pseudo utilisateur :

pseudo:motdepasse

Si vous voulez autoriser l’entrée à plusieurs pseudos, vous pouvez répéter cette ligne en changeant mot de passe et pseudo en allant à la ligne.

pseudo:motdepasse
administrateur:admin
moderateur:modo

Vous pouvez en mettre tant que vous voulez.

Ce fichier ne doit contenir ni espaces ni tabulations.

Voila, j’espère que vous aurez compris et réussi à installer les restrictions d’accès.
Je rappelle que celles-ci sont SPECIFIQUES à l’hébergeur Free.fr.

Bon courage à tous.
ben.popeye

Par ben.popeye, le 07 Juillet 2005 à 12h13

Déclaration Doctype

Template

Use the following markup as a template to create a new XHTML 1.0 document using a proper Doctype declaration. See the list below if you wish to use another DTD.

 An XHTML 1.0 Strict standard template

… Your HTML content here …

(X)HTML Doctype Declarations List

HTML 4.01
Strict

Transitional

Frameset

XHTML 1.0
Strict (quick reference)

Transitional

Frameset

XHTML 1.1DTD:

XHTML Basic 1.1 (quick reference):

HTML 5 [NOT a standard yet]

MathML Doctype Declarations

MathML 2.0DTD:

MathML 1.01DTD:

Compound documents doctype declarations

XHTML + MathML + SVGDTD:

XHTML + MathML + SVG Profile (XHTML as the host language) – DTD:

XHTML + MathML + SVG Profile (Using SVG as the host) – DTD:

Optional doctype declarations

Beyond the specificities of (X)HTML processing, Doctype declarations in XML languages are only useful to declare named entities and to facilitate the validation of documents based on DTDs. This means that in many XML languages, doctype declarations are not necessarily useful.

The list below is provided only if you actually need to declare a doctype for these types of documents.

SVG 1.1 FullDTD:

SVG 1.0DTD:

SVG 1.1 BasicDTD:

SVG 1.1 TinyDTD:

Historical doctype declarations

The doctype declarations below are valid, but have mostly an historical value — a doctype declaration of a more recent equivalent ought to be used in their stead.

HTML 2.0DTD:

HTML 3.2DTD:

XHTML Basic 1.0DTD:

Comment se débarrasser de TEXT ENHANCE

le plus facile : aller sur le site text-enhance.com.
tour en bas de la page, cliquer sur : Opt-out

Normalement ça suffit.

si non à la question , « If you want to uninstall Text Enhance, follow the instructions listed here. » (si vous voulez désinstaller Text-enhance cliquez icic)
cliquez sur « here », et vous arrivez sur la page avec les différentes instructions pour Chrome, IE ou Firefox. comme ci dessous :

If you installed the Chrome Extension (CRX):

Step 1:
Open Chrome, click on the Settings icon, and navigate to Tools -> Extensions.

Step 2:
Select the Text Enhance plugin from the list of extensions, and click Uninstall.

That’s it, Text Enhance plug-in is now uninstalled!

If you installed the Firefox Addon (XPI):

Step 1:
Open Firefox, and navigate to Tools -> Add-ons.

Step 2:
Select the Text Enhance plugin from the list of add-ons, and click Uninstall.

That’s it, Text Enhance plug-in is now uninstalled!

If you installed the plugin for other browsers:

Step 1:
Click Start, and navigate to: Control Panel.

Step 2:
Select « Add/Remove Programs » from the Control Panel. For Windows Vista/7 users, this will be called « Programs/Features ».

Step 3:
Select the Text Enhance plugin from the list of software, and click Uninstall/Remove.

That’s it, Text Enhance plug-in is now uninstalled!

Choisissez votre navigateur et suivez les instructions.

pourquoi chercher loin ce que l’on a sous le pied…..

Codes couleurs HTML

Nom de la couleur Aperçu Codage RVB
aliceblue ███████ aliceblue #F0F8FF
antiquewhite ███████ antiquewhite #FAEBD7
aqua ███████ aqua #00FFFF
aquamarine ███████ aquamarine #7FFFD4
azure ███████ azure #F0FFFF
beige ███████ beige #F5F5DC
bisque ███████ bisque #FFE4C4
black ███████ black #000000
blanchedalmond ███████ blanchedalmond #FFEBCD
blue ███████ blue #0000FF
blueviolet ███████ blueviolet #8A2BE2
brown ███████ brown #A52A2A
burlywood ███████ burlywood #DEB887
cadetblue ███████ cadetblue #5F9EA0
chartreuse ███████ chartreuse #7FFF00
chocolate ███████ chocolate #D2691E
coral ███████ coral #FF7F50
cornflowerblue ███████ cornflowerblue #6495ED
cornsilk ███████ cornsilk #FFF8DC
crimson ███████ crimson #DC143C
cyan ███████ cyan #00FFFF
darkblue ███████ darkblue #00008B
darkcyan ███████ darkcyan #008B8B
darkgoldenrod ███████ darkgoldenrod #B8860B
darkgray ███████ darkgray #A9A9A9
darkgreen ███████ darkgreen #006400
darkkhaki ███████ darkkhaki #BDB76B
darkmagenta ███████ darkmagenta #8B008B
darkolivegreen ███████ darkolivegreen #556B2F
darkorange ███████ darkorange #FF8C00
darkorchid ███████ darkorchid #9932CC
darkred ███████ darkred #8B0000
darksalmon ███████ darksalmon #E9967A
darkseagreen ███████ darkseagreen #8FBC8F
darkslateblue ███████ darkslateblue #483D8B
darkslategray ███████ darkslategray #2F4F4F
darkturquoise ███████ darkturquoise #00CED1
darkviolet ███████ darkviolet #9400D3
deeppink ███████ deeppink #FF1493
deepskyblue ███████ deepskyblue #00BFFF
dimgray ███████ dimgray #696969
dodgerblue ███████ dodgerblue #1E90FF
firebrick ███████ firebrick #B22222
floralwhite ███████ floralwhite #FFFAF0
forestgreen ███████ forestgreen #228B22
fuchsia ███████ fuchsia #FF00FF
gainsboro ███████ gainsboro #DCDCDC
ghostwhite ███████ ghostwhite #F8F8FF
gold ███████ gold #FFD700
goldenrod ███████ goldenrod #DAA520
gray ███████ gray #808080
green ███████ green #008000
greenyellow ███████ greenyellow #ADFF2F
honeydew ███████ honeydew #F0FFF0
hotpink ███████ hotpink #FF69B4
indianred ███████ indianred #CD5C5C
indigo ███████ indigo #4B0082
ivory ███████ ivory #FFFFF0
khaki ███████ khaki #F0E68C
lavender ███████ lavender #E6E6FA
lavenderblush ███████ lavenderblush #FFF0F5
lawngreen ███████ lawngreen #7CFC00
lemonchiffon ███████ lemonchiffon #FFFACD
lightblue ███████ lightblue #ADD8E6
lightcoral ███████ lightcoral #F08080
lightcyan ███████ lightcyan #E0FFFF
lightgoldenrodyellow ███████ lightgoldenrodyellow #FAFAD2
lightgreen ███████ lightgreen #90EE90
lightgrey ███████ lightgrey #D3D3D3
lightpink ███████ lightpink #FFB6C1
lightsalmon ███████ lightsalmon #FFA07A
lightseagreen ███████ lightseagreen #20B2AA
lightskyblue ███████ lightskyblue #87CEFA
lightslategray ███████ lightslategray #778899
lightsteelblue ███████ lightsteelblue #B0C4DE
lightyellow ███████ lightyellow #FFFFE0
lime ███████ lime #00FF00
limegreen ███████ limegreen #32CD32
linen ███████ linen #FAF0E6
magenta ███████ magenta #FF00FF
maroon ███████ maroon #800000
mediumaquamarine ███████ mediumaquamarine #66CDAA
mediumblue ███████ mediumblue #0000CD
mediumorchid ███████ mediumorchid #BA55D3
mediumpurple ███████ mediumpurple #9370DB
mediumseagreen ███████ mediumseagreen #3CB371
mediumslateblue ███████ mediumslateblue #7B68EE
mediumspringgreen ███████ mediumspringgreen #00FA9A
mediumturquoise ███████ mediumturquoise #48D1CC
mediumvioletred ███████ mediumvioletred #C71585
midnightblue ███████ midnightblue #191970
mintcream ███████ mintcream #F5FFFA
mistyrose ███████ mistyrose #FFE4E1
moccasin ███████ moccasin #FFE4B5
navajowhite ███████ navajowhite #FFDEAD
navy ███████ navy #000080
oldlace ███████ oldlace #FDF5E6
olive ███████ olive #808000
olivedrab ███████ olivedrab #6B8E23
orange ███████ orange #FFA500
orangered ███████ orangered #FF4500
orchid ███████ orchid #DA70D6
palegoldenrod ███████ palegoldenrod #EEE8AA
palegreen ███████ palegreen #98FB98
paleturquoise ███████ paleturquoise #AFEEEE
palevioletred ███████ palevioletred #DB7093
papayawhip ███████ papayawhip #FFEFD5
peachpuff ███████ peachpuff #FFDAB9
peru ███████ peru #CD853F
pink ███████ pink #FFC0CB
plum ███████ plum #DDA0DD
powderblue ███████ powderblue #B0E0E6
purple ███████ purple #800080
red ███████ red #FF0000
rosybrown ███████ rosybrown #BC8F8F
royalblue ███████ royalblue #4169E1
saddlebrown ███████ saddlebrown #8B4513
salmon ███████ salmon #FA8072
sandybrown ███████ sandybrown #F4A460
seagreen ███████ seagreen #2E8B57
seashell ███████ seashell #FFF5EE
sienna ███████ sienna #A0522D
silver ███████ silver #C0C0C0
skyblue ███████ skyblue #87CEEB
slateblue ███████ slateblue #6A5ACD
slategray ███████ slategray #708090
snow ███████ snow #FFFAFA
springgreen ███████ springgreen #00FF7F
steelblue ███████ steelblue #4682B4
tan ███████ tan #D2B48C
teal ███████ teal #008080
thistle ███████ thistle #D8BFD8
tomato ███████ tomato #FF6347
turquoise ███████ turquoise #40E0D0
violet ███████ violet #EE82EE
wheat ███████ wheat #F5DEB3
white ███████ white #FFFFFF
whitesmoke ███████ whitesmoke #F5F5F5
yellow ███████ yellow #FFFF00
yellowgreen ███████ yellowgreen #9ACD32