Monétisation de sites web & ressources pour les webmasters
Vous n'êtes pas identifié(e).
Pages : 1
Il peut etre intéressant de comparer les performances de différents hébergements, mais sur du mutualisé on ne peut pas forcément lancer les outils appropriés. On peut donc utiliser des outils de mesure du temps de chargement des pages, mais on peut aussi utiliser des benchmarks. C'est intéressant, car on voit bien des tendances se dégager avec les quelques tests que j'ai effectués.
Les scripts de benchmark utilisés:
-PHP Benchmark Performance Script
<?php
/*
##########################################################################
# PHP Benchmark Performance Script #
# ø 2010 Code24 BV #
# #
# Author : Alessandro Torrisi #
# Company : Code24 BV, The Netherlands #
# Date : July 31, 2010 #
# version : 1.0 #
# License : Creative Commons CC-BY license #
# Website : http://www.php-benchmark-script.com #
# #
##########################################################################
*/
function test_Math($count = 140000) {
$time_start = microtime(true);
$mathFunctions = array("abs", "acos", "asin", "atan", "bindec", "floor", "exp", "sin", "tan", "pi", "is_finite", "is_nan", "sqrt");
foreach ($mathFunctions as $key => $function) {
if (!function_exists($function)) unset($mathFunctions[$key]);
}
for ($i=0; $i < $count; $i++) {
foreach ($mathFunctions as $function) {
$r = call_user_func_array($function, array($i));
}
}
return number_format(microtime(true) - $time_start, 3);
}
function test_StringManipulation($count = 130000) {
$time_start = microtime(true);
$stringFunctions = array("addslashes", "chunk_split", "metaphone", "strip_tags", "md5", "sha1", "strtoupper", "strtolower", "strrev", "strlen", "soundex", "ord");
foreach ($stringFunctions as $key => $function) {
if (!function_exists($function)) unset($stringFunctions[$key]);
}
$string = "the quick brown fox jumps over the lazy dog";
for ($i=0; $i < $count; $i++) {
foreach ($stringFunctions as $function) {
$r = call_user_func_array($function, array($string));
}
}
return number_format(microtime(true) - $time_start, 3);
}
function test_Loops($count = 19000000) {
$time_start = microtime(true);
for($i = 0; $i < $count; ++$i);
$i = 0; while($i < $count) ++$i;
return number_format(microtime(true) - $time_start, 3);
}
function test_IfElse($count = 9000000) {
$time_start = microtime(true);
for ($i=0; $i < $count; $i++) {
if ($i == -1) {
} elseif ($i == -2) {
} else if ($i == -3) {
}
}
return number_format(microtime(true) - $time_start, 3);
}
$total = 0;
$functions = get_defined_functions();
$line = str_pad("-",38,"-");
echo "<pre>$line\n|".str_pad("PHP BENCHMARK SCRIPT",36," ",STR_PAD_BOTH)."|\n$line\nStart : ".date("Y-m-d H:i:s")."\nServer : {$_SERVER['SERVER_NAME']}@{$_SERVER['SERVER_ADDR']}\nPHP version : ".PHP_VERSION."\nPlatform : ".PHP_OS. "\n$line\n";
foreach ($functions['user'] as $user) {
if (preg_match('/^test_/', $user)) {
$total += $result = $user();
echo str_pad($user, 25) . " : " . $result ." sec.\n";
}
}
echo str_pad("-", 38, "-") . "\n" . str_pad("Total time:", 25) . " : " . $total ." sec.</pre>";
?>
-PHP SERVER - GENERAL PHP PERFORMANCE COMPARISON SCRIPT
<?php
/* ----------------------------------------------------------------
* PHP SERVER - GENERAL PHP PERFORMANCE COMPARISON SCRIPT
* ----------------------------------------------------------------
* COPYRIGHT BY ANDREAS MEHRRATH
* MINDCATCH SOFTWARE SOLUTIONS (c)
* FILENAME: php_perfmon.php
* LC: 2013-07-16, V. 1.1
* ----------------------------------------------------------------
*
* PHP SERVER PERFORMANCE MEASURING.
* STRING, ARRAY, OUTPUT (BUFFERED) AND MATH OPERATION BASED MEASURING.
* ONLY INTERNAL PERFORMANCE IS EVALUATED, DOES NOT MEASURE DISK OR
* NETWORK PERFORMANCE, RETURNS ONLY SERVER LOAD DEPENDENT SAMPLES,
* SO PLEASE AVERAGE YOUR SERVERS RUNTIME(S) FOR COMPARISION.
*
* USAGE:
*
* STANDARD ITERATION OF ALL OPERATIONS IS 10.000 (TEN THOUSAND).
* YOU CAN START THE SCRIPT WITH A CUSTOM, LOWER ITERATION AMOUNT IF NECESSARY.
*
* FOR EXAMPLE IF YOUR PHP EXECUTION TIME LIMIT IS TO LOW AND YOUR SERVER
* IS NOT ABLE TO PROCESS THIS PERFORMANCE METERING SCRIPT IN THAT TIME. (OLD SERVERS)
* IN THAT CASE WHEN THE SCRIPT RETURNS NOTHING, CURRUPT DATA, ONLY A NUMBER, OR AN ERROR
* YOU MUST REDUCE THE ITERATIONS.
*
* e.g. RUN: .../php_perfmon.php?iterations=5000
*
* WHEN MANUALLY REDUCING THE ITERATIONS THE SCRIPT -AUTOMATICALLY- DETECTS THAT
* AND EXTRAPOLATES YOUR RUNTIME TO GIVE YOU A COMPARABLE RESULT!
*
* IMPORTANT: DECREASE ITERATIONS AS LITTLE AS POSSIBLE!
*
* PLEASE FEEL FREE TO SEND SERVER(s) PERFORMANCE RESULTS EVALUATED TO:
*
* php_perfmon@mindcatch.com
*
* I WILL ADD THEM TO THE PUBLIC COMPARISON DATA FILE FOR THE COMMUNITY. THANKS!
*
* NO WARRANTY FOR ANYTHING. ALL UNDER GNU-LGPL LICENSE. THE DATA PROVIDERS
* ARE RESPONSIBLE FOR DATA PROVIDED IN NO WAY THE DEVELOPER OF THIS SCRIPT.
*
* ----------------------------------------------------------------
*/
error_reporting(E_ALL);
ini_set('display_errors',1);
// -----------------------------------------------------------------------------
// DO NOT CHANGE ANY PHP CODE/VARS OR YOUR RESULTS WILL NOT BE COMPARABLE ANY MORE
// -----------------------------------------------------------------------------
$scriptVer = "1.1";
$timeNeeded = 0.0;
$oriIt = 10000; // ORIGINAL ITERATIONS: 10000 (DONT CHANGE)
// WORK ALSO WITH REDUCED ITERATIONS TO PASS LIMITS
if (!array_key_exists("iterations",$_GET)) $iterations = $oriIt;
else $iterations = $_GET['iterations'];
$magic = 6938392;
$buffer1 = array();
$buffer2 = array();
$result = "";
$sum = 0;
$factor = 1.0;
$extrapol = false;
$dataFile = "php_perfmon.data";
// -----------------------------------------------------------------------------
// ***********************
function microtime_float()
// ***********************
{
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}
// ***********************
function makeHash(&$value)
// ***********************
{
$value = md5($value);
}
// ***********************
function callback($buffer)
// ***********************
{
// SOME ARRAY DUMMY OPS
$someArray = array_merge(explode(" ",$buffer),explode(" ",$buffer)); // dummyOps
sort($someArray);
array_reverse($someArray,true);
sort($someArray);
array_search(9191,$someArray); // true
array_walk($someArray,"makeHash"); // make hashes
array_flip($someArray); // operate but not overwrite because it would shrink
array_search(9191,$someArray); // false
sort($someArray);
$boolTrue = is_bool(is_array(count($someArray)));
$boolTrue = true;
// if ((!$boolTrue)&&(substr($buffer,0,2)==" 0")) { echo "ok"; die(); }
$retVal = str_replace(array("xxxx","yyyy"), array("0000","4444"), $buffer);
$retVal = str_replace(array("aaaa","bbbb"), array("1111","2222"), $retVal);
$retVal = str_replace(" ","",$retVal);
if ((is_numeric($retVal))&&($boolTrue)) return $retVal; // use dummyVar - Zend Optimizer aware
return $GLOBALS['magic'];
}
// -----------------------------------------------------------------------------
$timeStart = microtime_float();
for ($i=0;$i<$iterations;$i++)
{
ob_start();
?> 1111 xxxx yyyy 2222 xxxx yyyy 3333 1111 xxxx yyyy 2222 xxxx yyyy 3333 9191 xxxx yyyy 2222 xxxx yyyy 3333 1111 xxxx yyyy 2222 xxxx yyyy 3333 <?php // position of php tag important
$buffer1[$i] = ob_get_clean();
// ob_end_flush();
ob_start();
?> 0000 aaaa bbbb 4444 aaaa bbbb 5555 0000 aaaa bbbb 4444 aaaa bbbb 5555 9191 aaaa bbbb 4444 aaaa bbbb 5555 0000 aaaa bbbb 4444 aaaa bbbb 5555 <?php // position of php tag important
$buffer2[$i] = ob_get_clean();
// ob_end_flush();
}
for ($i=0;$i<$iterations;$i++)
{
ob_start("callback");
echo $buffer1[$i];
$result = callback(ob_get_contents());
$output = ob_get_clean();
ob_start("callback");
echo $buffer2[$i];
$result .= callback(ob_get_contents());
$output .= ob_get_clean();
if (is_numeric($result))
$result = (sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(($result-(1024*1024)))/1024/1024/1024)/1024/1024/1024)*
mt_rand(rand(101,202),303)/1024/1024/1024)/1024/1024/1024)/1024/1024)*$magic);
else
$result = $magic+1;
$output = callback($output);
if (is_numeric($output))
$output = (sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(($output-(1024*1024)))/1024/1024/1024)/1024/1024/1024)*
mt_rand(rand(101,202),303)/1024/1024/1024)/1024/1024/1024)/1024/1024)*$magic);
else
$output = $magic;
$sum += round(log(log((float)(($result-$output)*$magic))),4)."\n\n";
// SOME UNSET WORK - ALSO IMPORTANT TO PRINT ONLY DESIRED USER DEFINED VARIABLES AT END
unset($result);
unset($output);
}
unset($i);
unset($buffer1);
unset($buffer2);
$timeEnd = microtime_float();
// ------------------------------- end of measuring ----------------------------------------------
$timeNeeded = $timeEnd - $timeStart;
unset($timeStart);
unset($timeEnd);
// EXTRAPOLATE
if ($iterations<$oriIt)
{
$factor = $oriIt/$iterations;
$timeNeeded = $timeNeeded*$factor;
$extrapol = true;
}
// -----------------------------------------------------------------------------
// OUTPUT
// -----------------------------------------------------------------------------
?>
<html><body>
<style>
body, td { font: 11px verdana; }
table { background-color: #F2EAC4; border: 1px solid black; margin-top: 2px; }
h1 { font: 16px verdana; color: maroon; }
th { font-weight: bold; color: #267C73; background-color: #C9F5E6; }
.runtime { background-color: #F1D0C9 ! important; text-align: right; font-weight: bold; }
</style>
<h1>PHP Server - General Performance Comparison Script</h1>
<font size=1>Random Result: <?php echo $sum." | Alloc. PHP-RAM:".round((memory_get_usage()/1024),2)."MB (Peak:".
round((memory_get_peak_usage()/1024),2).") | Time: ".date("H:i:s")." | Iterations: ".$iterations."/".$oriIt." (Factor: 1:".$factor;
if ($extrapol) echo ", runtime was extrapolated";
?>)<br></font>
<table border="2" width="840">
<tr><th>PHP/Script<br><font size="1">Versions & Date</font></th><th>Server Info</th><th><font size="1">Average</font><br>Runtime <font size="1">(sec)<br>Less=Better</font></th></tr>
<tr style="background-color: yellow;"><td>PHP <?php echo phpversion().", ".$scriptVer.", ".date("Y-m-d"); ?></td>
<td><b>This Server (<?php
if (array_key_exists("SERVER_NAME", $_SERVER)) echo $_SERVER["SERVER_NAME"].", ".$_SERVER["SERVER_ADDR"];
else echo "unknown";
echo ", ".PHP_OS;
?>)</b></td>
<td class="runtime"><?php echo round($timeNeeded,4); ?></td></tr>
<tr><td colspan="3"> </td></tr>
<?php
// LIST OF MEASURED SERVERS
if (file_exists($dataFile)) echo file_get_contents($dataFile);
else echo "<tr><td colspan=3>Data file (".$dataFile.") missing, no comparison table loadable!</td></tr>";
?>
</table>
<br>
<font size=1>Script Version: <?php echo $scriptVer; ?> - Original by Andreas Mehrrath © mindCatch(tm) Software Solutions 2013,
PHP Max Execution Time Parameter on this machine is set to: <?php echo ini_get('max_execution_time'); ?>s
<br>
<br>
<div style="width: 840px; background-color: #F2EAC4;">
<b>i.</b> Please note: A big gap between measured runtime and the time the page is
displayed in your browser mainly depends on network/security infrastructure performance between your
client and the executing server evaluated. <b>Please send results to: php_perfmon@mindcatch.com, thanks.</b>
</div>
<br>
<br>
<div style="width: 840px;">
Some Debug Info:
<br>
<?php
$ignore = array('GLOBALS', '_FILES', '_COOKIE', '_POST', '_GET', '_SERVER', '_ENV', 'ignore');
// diff the ignore list as keys after merging any missing ones with the defined list
$vars = array_diff_key(get_defined_vars() + array_flip($ignore), array_flip($ignore));
// should be left with the user defined var(s) (in this case $testVar)
var_dump($vars);
?>
</div>
</font>
</body>
</html>
<?php
/**
* PHP Script to benchmark PHP and MySQL-Server
*
* inspired by / thanks to:
* - www.php-benchmark-script.com (Alessandro Torrisi)
* - www.webdesign-informatik.de
*
* @author odan
* @version 2014.02.23
* @license MIT
*
*/
// -----------------------------------------------------------------------------
// Setup
// -----------------------------------------------------------------------------
set_time_limit(120); // 2 minutes
$arr_cfg = array();
// optional: mysql performance test
//$arr_cfg['db.host'] = 'localhost';
//$arr_cfg['db.user'] = 'root';
//$arr_cfg['db.pw'] = '';
//$arr_cfg['db.name'] = 'test';
// -----------------------------------------------------------------------------
// Main
// -----------------------------------------------------------------------------
// check performance
$arr_benchmark = test_benchmark($arr_cfg);
// html output
echo "<!DOCTYPE html>\n<html><head>\n";
echo "<style>table {
font-family:Arial, Helvetica, sans-serif;
font-size:12px;
margin:0px;
padding: 0px;
border:#ccc 1px solid;
border-collapse:collapse;
}
td, th {
border:#ccc 1px solid;
vertical-align: top;
}</style></head><body>";
echo array_to_html($arr_benchmark);
echo "\n</body></html>";
exit;
// -----------------------------------------------------------------------------
// Benchmark functions
// -----------------------------------------------------------------------------
function test_benchmark($arr_cfg)
{
$time_start = microtime(true);
$arr_return = array();
$arr_return['version'] = '1.1';
$arr_return['sysinfo']['time'] = date("Y-m-d H:i:s");
$arr_return['sysinfo']['php_version'] = PHP_VERSION;
$arr_return['sysinfo']['platform'] = PHP_OS;
$arr_return['sysinfo']['server_name'] = $_SERVER['SERVER_NAME'];
$arr_return['sysinfo']['server_addr'] = $_SERVER['SERVER_ADDR'];
test_math($arr_return);
test_string($arr_return);
test_loops($arr_return);
test_ifelse($arr_return);
if (isset($arr_cfg['db.host'])) {
test_mysql($arr_return, $arr_cfg);
}
$arr_return['total'] = timer_diff($time_start);
return $arr_return;
}
function test_math(&$arr_return, $count = 99999)
{
$time_start = microtime(true);
$mathFunctions = array("abs", "acos", "asin", "atan", "bindec", "floor", "exp", "sin", "tan", "pi", "is_finite", "is_nan", "sqrt");
for ($i = 0; $i < $count; $i++) {
foreach ($mathFunctions as $function) {
$r = call_user_func_array($function, array($i));
}
}
$arr_return['benchmark']['math'] = timer_diff($time_start);
}
function test_string(&$arr_return, $count = 99999)
{
$time_start = microtime(true);
$stringFunctions = array("addslashes", "chunk_split", "metaphone", "strip_tags", "md5", "sha1", "strtoupper", "strtolower", "strrev", "strlen", "soundex", "ord");
$string = 'the quick brown fox jumps over the lazy dog';
for ($i = 0; $i < $count; $i++) {
foreach ($stringFunctions as $function) {
$r = call_user_func_array($function, array($string));
}
}
$arr_return['benchmark']['string'] = timer_diff($time_start);
}
function test_loops(&$arr_return, $count = 999999)
{
$time_start = microtime(true);
for ($i = 0; $i < $count; ++$i)
;
$i = 0;
while ($i < $count) {
++$i;
}
$arr_return['benchmark']['loops'] = timer_diff($time_start);
}
function test_ifelse(&$arr_return, $count = 999999)
{
$time_start = microtime(true);
for ($i = 0; $i < $count; $i++) {
if ($i == -1) {
} elseif ($i == -2) {
} else if ($i == -3) {
}
}
$arr_return['benchmark']['ifelse'] = timer_diff($time_start);
}
function test_mysql(&$arr_return, $arr_cfg)
{
$time_start = microtime(true);
$link = mysqli_connect($arr_cfg['db.host'], $arr_cfg['db.user'], $arr_cfg['db.pw']);
$arr_return['benchmark']['mysql']['connect'] = timer_diff($time_start);
// //$arr_return['sysinfo']['mysql_version'] = '';
mysqli_select_db($link, $arr_cfg['db.name']);
$arr_return['benchmark']['mysql']['select_db'] = timer_diff($time_start);
$result = mysqli_query($link, 'SELECT VERSION() as version;');
$arr_row = mysqli_fetch_assoc($result);
$arr_return['sysinfo']['mysql_version'] = $arr_row['version'];
$arr_return['benchmark']['mysql']['query_version'] = timer_diff($time_start);
$query = "SELECT BENCHMARK(1000000,ENCODE('hello','goodbye'));";
$result = mysqli_query($link, $query);
$arr_return['benchmark']['mysql']['query_benchmark'] = timer_diff($time_start);
mysqli_close($link);
$arr_return['benchmark']['mysql']['total'] = timer_diff($time_start);
return $arr_return;
}
function timer_diff($time_start)
{
return number_format(microtime(true) - $time_start, 3);
}
function array_to_html($my_array)
{
$strReturn = '';
if (is_array($my_array)) {
$strReturn .= '<table>';
foreach ($my_array as $k => $v) {
$strReturn .= "\n<tr><td>";
$strReturn .= '<strong>' . htmlentities($k) . "</strong></td><td>";
$strReturn .= array_to_html($v);
$strReturn .= "</td></tr>";
}
$strReturn .= "\n</table>";
} else {
$strReturn = htmlentities($my_array);
}
return $strReturn;
}
Voici donc les résultats de quelques tests:
Benchmark d'un hébergement mutualisé low cost, hébergeur russe
bench
--------------------------------------
| PHP BENCHMARK SCRIPT |
--------------------------------------
Start : 2015-03-05 15:13:27
Server : www.xxx.com@195.x.x.x
PHP version : 5.2.17
Platform : Linux
--------------------------------------
test_math : 4.943 sec.
test_stringmanipulation : 6.030 sec.
test_loops : 6.474 sec.
test_ifelse : 5.044 sec.
--------------------------------------
Total time: : 22.491 sec.
perform
PHP 5.2.17, 1.1, 2015-03-05 This Server (www.xxx.com, 195.x.x.x, Linux) 28.5927
benchmark sql
version 1.1
sysinfo
time 2015-03-05 16:10:37
php_version 5.2.17
platform Linux
server_name www.xxx.com
server_addr 195.x.x.x
mysql_version 5.5.42-37.1
benchmark
math 3.569
string 4.719
loops 0.390
ifelse 0.583
mysql
connect 0.002
select_db 0.002
query_version 0.002
query_benchmark 0.416
total 0.416
total 9.676
-----------------------------------------------
Benchmark d'un hébergement Performance 2 by OVH
bench
--------------------------------------
| PHP BENCHMARK SCRIPT |
--------------------------------------
Start : 2015-03-05 21:13:47
Server : www.xxx.com@10.x.x.x
PHP version : 5.4.38
Platform : Linux
--------------------------------------
test_math : 1.320 sec.
test_stringmanipulation : 1.314 sec.
test_loops : 0.675 sec.
test_ifelse : 0.538 sec.
--------------------------------------
Total time: : 3.847 sec.
perform
PHP 5.4.38, 1.1, 2015-03-05 This Server (www.xxx.com, 10.x.x.x, Linux) 8.9881
benchmark mysql
mysql privé 128 Mo
version 1.1
sysinfo
time 2015-03-05 22:15:28
php_version 5.4.38
platform Linux
server_name www.xxx.com
server_addr 10.x.x.x
mysql_version 5.1.31
benchmark
math 1.021
string 1.096
loops 0.039
ifelse 0.065
mysql
connect 0.013
select_db 0.016
query_version 0.025
query_benchmark 45.793
total 45.794
total 48.014
sql perso 800 Mo
version 1.1
sysinfo
time 2015-03-05 22:21:26
php_version 5.4.38
platform Linux
server_name www.xxx.com
server_addr 10.x.x.x
mysql_version 5.1.73-2+squeeze+build1+1-log
benchmark
math 0.931
string 1.004
loops 0.035
ifelse 0.059
mysql
connect 0.006
select_db 0.007
query_version 0.008
query_benchmark 0.163
total 0.163
total 2.193
SQL Pro 4Go
version 1.1
sysinfo
time 2015-03-05 22:26:05
php_version 5.4.38
platform Linux
server_name www.xxx.com
server_addr 10x.x.x
mysql_version 5.1.73-2+squeeze+build1+1-log
benchmark
math 0.932
string 1.007
loops 0.035
ifelse 0.060
mysql
connect 0.002
select_db 0.002
query_version 0.002
query_benchmark 0.174
total 0.174
total 2.208
sql privé 256 Mo
version 1.1
sysinfo
time 2015-03-06 22:48:35
php_version 5.4.38
platform Linux
server_name www.xxx.com
server_addr 10.x.x.x
mysql_version 5.5.14
benchmark
math 1.012
string 1.089
loops 0.040
ifelse 0.067
mysql
connect 0.002
select_db 0.002
query_version 0.003
query_benchmark 0.384
total 0.384
total 2.591
------------------------------------------
Benchmark localhost sur un I7 Windows 8 Pro 64 bits
bench
--------------------------------------
| PHP BENCHMARK SCRIPT |
--------------------------------------
Start : 2015-03-05 20:18:55
Server : localhost@::1
PHP version : 5.4.12
Platform : WINNT
--------------------------------------
test_math : 3.489 sec.
test_stringmanipulation : 4.641 sec.
test_loops : 3.875 sec.
test_ifelse : 2.679 sec.
--------------------------------------
Total time: : 14.684 sec.
perform
PHP 5.4.12, 1.1, 2015-03-05 This Server (localhost, ::1, WINNT) 15.4877
benchmark sql
version 1.1
sysinfo
time 2015-03-05 21:02:15
php_version 5.4.12
platform WINNT
server_name localhost
server_addr ::1
mysql_version 5.1.40-community-log
benchmark
math 2.443
string 3.592
loops 0.268
ifelse 0.293
mysql
connect 1.023
select_db 1.023
query_version 1.023
query_benchmark 6.359
total 6.359
total 12.955
benchmark mysql
version 1.1
sysinfo
time 2015-03-05 21:29:49
php_version 5.4.12
platform WINNT
server_name localhost
server_addr ::1
mysql_version 5.1.40-community-log
benchmark
math 2.464
string 3.532
loops 0.273
ifelse 0.293
mysql
connect 1.023
select_db 1.023
query_version 1.023
query_benchmark 6.345
total 6.346
total 12.908
-----------------------------------------------------------------
Benchmark d'un VPS hébergé dans les pays de l'est
bench
--------------------------------------
| PHP BENCHMARK SCRIPT |
--------------------------------------
Start : 2015-03-06 00:22:01
Server : www.xxx.com@5.x.x.x
PHP version : 5.3.28
Platform : Linux
--------------------------------------
test_math : 4.238 sec.
test_stringmanipulation : 4.446 sec.
test_loops : 4.219 sec.
test_ifelse : 2.454 sec.
--------------------------------------
Total time: : 15.357 sec.
perform
PHP 5.3.28, 1.1, 2015-03-06 This Server (www.xxx.com, 5.x.x.x, Linux) 23.1604
benchmark mysql
no mysqli support
-------------------------------------------------------
Benchmark mutualisé 1and1 basic
bench
--------------------------------------
| PHP BENCHMARK SCRIPT |
--------------------------------------
Start : 2015-03-05 21:26:24
Server : xxx.com@217.x.x.x
PHP version : 5.5.20
Platform : Linux
--------------------------------------
test_math : 1.966 sec.
test_stringmanipulation : 2.000 sec.
test_loops : 1.072 sec.
test_ifelse : 0.908 sec.
--------------------------------------
Total time: : 5.946 sec.
perform
PHP 5.5.20, 1.1, 2015-03-05 This Server (xxx.com, 217.x.x.x, Linux) 13.0812
benchmark mysql
version 1.1
sysinfo
time 2015-03-05 22:38:36
php_version 5.5.20
platform Linux
server_name xxx.com
server_addr 217.x.x.x
mysql_version 5.1.73-log
benchmark
math 1.608
string 1.641
loops 0.059
ifelse 0.104
mysql
connect 0.003
select_db 0.005
query_version 0.006
query_benchmark 0.195
total 0.195
total 3.607
--------------------------------------------------------------
Benchmark mutualisé 1and1 business
bench
--------------------------------------
| PHP BENCHMARK SCRIPT |
--------------------------------------
Start : 2015-03-05 21:49:37
Server : xxx.eu@217.x.x.x
PHP version : 5.4.35
Platform : Linux
--------------------------------------
test_math : 3.500 sec.
test_stringmanipulation : 2.954 sec.
test_loops : 1.133 sec.
test_ifelse : 0.926 sec.
--------------------------------------
Total time: : 8.513 sec.
perform
PHP 5.4.35, 1.1, 2015-03-05 This Server (xxx.eu, 217.x.x.x, Linux) 12.9439
benchmark mysql
version 1.1
sysinfo
time 2015-03-05 22:42:42
php_version 5.4.35
platform Linux
server_name xxx.eu
server_addr 217.x.x.x
mysql_version 5.1.73-log
benchmark
math 1.528
string 1.747
loops 0.078
ifelse 0.107
mysql
connect 0.006
select_db 0.007
query_version 0.008
query_benchmark 0.337
total 0.337
total 3.798
On peut en conclure différentes choses:
-le premier hébergement a des performances pas terribles, mais c'est un mutualisé assez basique
-l'hébergement OVH Performance 2 a les meilleures performances (le résultat du bench sqlprivé 128 Mo est simplement du au fait que le serveur était dans les choux et q'il fallait le rebooter)
-un localhost sur un ordi Windows 8 avec un I7 (pas du tout une config serveur) est plus performant qu'un mutualisé de base
-un VPS a par définition généralement de moins bonnes performances, ne serait ce que par la perte due à la virtualisation
-les offres 1and1 basic et 1and1 business ne semblent pas avoir de différences flagrantes niveau performances, l'offre business a meme de moins bons résultats avec certains benchs alors qu'elle est plus chère, tout porte à croire que c'est plus ou moins la meme offre vendue sous deux noms différents.
N'hésitez pas à tester vos hébergements avec les benchmarks, et à partager vos résultats
Bonjour,
Tu peux déja essayer de poster quelques sujets / liens dans des forums de webmasters fr et us:
-Forum-webmaster.com
-Webmaster-hub.com
-Forum Webrankinfo
-Forum Digitalpoint
-Forum Blackhatworld
-Warriorforum
Ton ranking Alexa n'est pas mauvais pour un site de niche. Attention, car générer du trafic sain et de qualité nécessite toujours du temps et du travail, on n'obtient pas du trafic rapidement, ou alors c'est du trafic artificiel. Si c'est pour tripler ton trafic avec des bots par exemple, ou des indiens payés 2 cts par visite, ça ne servira à rien. Il te faut du trafic ciblé, pour ça il faut bosser le SEO avec du contenu de qualité, un site optimisé, de bons backlinks sur des sites à fort ranking et à thématique équivalente, des balises méta soignées, par exemple les méta keywords qui sont absentes, meme si leur impact est faible, c'est un élément parmi d'autres qui fera la différence... Tout cela demande du temps.
Ayant eu l'occasion de reprendre récemment un forum Fluxbb qui avait été laissé à l'abandon pendant pas mal de temps, je me suis retrouvé confronté à une armée de spambots. C'est assez impressionnant, à peine le forum remis en ligne après 2 ou 3 semaines offline, dans les secondes qui ont suivi il y avait déja une bonne centaine d'users online... Rien que des spambots. Le forum avait été laissé à l'abandon pendant plusieurs années et les spambots y avaient pris leurs habitudes, j'avais du nettoyer plusieurs centaines de milliers de "spams-membres" et de "spams-posts" avant la remise en ligne.
Habituellement, j'utilise des mods antispam pour Fluxbb, donc la mod VSABR: Very Simple Anti Bot Registration avec des questions modifiées, plus une petite mod qui inclut Stopforumspam: Fluxbb Stopforumspam par Adaur. Normalement ça suffit, mais avec l'armée de spambots que j'avais en face, j'avais encore une poignée d'inscriptions qui passaient au travers des mailles du filet chaque jour. Je me suis donc attelé à réaliser quelque chose de plus radical, afin d'éradiquer totalement les spambots. J'ai réussi à réaliser un anti spambot pleinement efficace, je vais donc partager l'astuce avec vous.
Pour réaliser un anti spambot efficace, il faut réfléchir à la manière dont les spambots arrivent sur les forums, et comment ils fonctionnent. Des scripts permettent de crawler le web en recherchant tous les domaines contenant par exemple la signature classique des forums Fluxbb: "Propulsé par FluxBB". Pour chaque domaine trouvé, un script va automatiser le processus d'inscription en allant se rendre sur la page register.php (nom par défaut de la page d'enregistrement sur le forum). Sachant cela, nous allons pièger les bots. Tout d'abord, nous allons modifier le nom de la page d'inscription. Ensuite, étant donné que la plupart des spambots n'utilisent pas le javascript, alors que la très grande majorité des navigateurs des vrais utilisateurs a javascript activé (99% environ), nous allons utiliser cette particularité pour faire le tri entre les bots et les vrais users.
Voila la mod, qui fonctionne parfaitement sous Fluxbb 1.4.x et qui doit surement fonctionner aussi sur les autres versions:
Radikal Anti SpamBot Mod for Fluxbb by Cash Machine
Attention, toujours faire une backup de vos fichiers avant d'effectuer des modifs!
Renommer register.php en newregister.php (ou le nom de votre choix, vous devrez donc dans le cas d'un nom spécifique adapter la suite de la mod en remplaçant newregister.php par votre nom de page à chaque occurence de newregister.php)
Créer une page register.php avec le contenu suivant:
<?php
/*
* License: http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
*/
define('PUN_MAIN', 1);
define('PUN_ROOT', './');
define('PUN_QUIET_VISIT', 1);
require PUN_ROOT.'include/common.php';
define('PUN_ACTIVE_PAGE', 'index');
$page_title = array(pun_htmlspecialchars($pun_config['o_board_title']), 'Erreur: Spambot');
define('PUN_ALLOW_INDEX', 1);
require PUN_ROOT.'header.php';
require PUN_ROOT.'include/parser.php';
?>
<div class="block">
<h2><span>Error: Bot detected</span></h2>
<div>
<p>Erreur, vous avez été détecté comme étant un SpamBot, l'inscription est bloquée. Retournez à l<a href="index.php">Accueil</a>.</FONT></p>
</div>
</div>
<?php
require PUN_ROOT.'footer.php'; ?>
Ouvrez newregister.php
Recherchez:
<div id="rules" class="blockform">
<div class="hd"><h2><span><?php echo $lang_register['Forum rules'] ?></span></h2></div>
<div class="box">
<form method="get" action="register.php">
Remplacez par
<div id="rules" class="blockform">
<div class="hd"><h2><span><?php echo $lang_register['Forum rules'] ?></span></h2></div>
<div class="box">
<form method="get" action="newregister.php">
Recherchez:
<form id="register" method="post" action="register.php?action=register" onsubmit="this.register.disabled=true;if(process_form(this)){return true;}else{this.register.disabled=false;return false;}">
Rempacez par
<form id="register" method="post" action="register.php?newregister.php?action=register" onsubmit="this.register.disabled=true;if(process_form(this)){return true;}else{this.register.disabled=false;return false;}">
Recherchez:
<div class="forminfo">
<h3><?php echo $lang_common['Important information'] ?></h3>
<p><?php echo $lang_register['Desc 1'] ?></p>
<p><?php echo $lang_register['Desc 2'] ?></p>
</div>
Juste après, ajoutez:
<script type="text/javascript"> window.onload = clear; function clear() { document.body.innerHTML = document.body.innerHTML.replace('register.php?newregister.php?action=register', 'newregister.php?action=register'); } </script>
Ouvrez header.php
Recherchez
$links[] = '<li id="navregister"'.((PUN_ACTIVE_PAGE == 'register') ? ' class="isactive"' : '').'><a href="register.php">'.$lang_common['Register'].'</a></li>';
Remplacez par
$links[] = '<li id="navregister"'.((PUN_ACTIVE_PAGE == 'register') ? ' class="isactive"' : '').'><a href="newregister.php">'.$lang_common['Register'].'</a></li>';
Et c'est tout.
Explications du fonctionnement:
Quand un véritable utilisateur veut s'inscrire, il suit le lien dans le header, il arrive donc sur la page newregister.php. Les spambots qui accèdent directement à register.php ont droit à une page d'erreur leur expliquant que l'inscription est bloquée pour les bots. Ensuite, l'utilisateur remplit les champs sur la page newregister.php par défaut cette nouvelle page d'inscription dirige vers la page d'erreur lors de la validation. Si l'utilisateur a javascript activé, la destination de la requete POST sera modifiée, pour diriger vers la véritable page et valider l'inscription.
La protection est donc double: tous les bots qui se ruent sur register.php sont bloqués. Si un bot va sur la vraie page d'inscription, il sera bloqué tant qu'il n'utilise pas le javascript.
Pour l'instant j'ai 100% de spambots bloqués avec cette méthode. Le seul point négatif, c'est que vous aurez environ 1% de vrais users qui ont javascript désactivé sur leur navigateur, et qui se retrouveront donc bloqués à l'inscription. Vous pouvez donc ajouter sur la page register.php un petit commentaire, du genre "Veuillez activer Javascript pour pouvoir vous inscrire".
La mod est évolutive, admettons qu'un jour des spambots ont javascript activé, il sera toujours possible de les gruger, par exemple en mettant en place une reconnaissance de mouvements de la souris en js, il y a quand meme peu de chances de tomber sur un spambot qui supporte js et qui est capable de simuler des mouvements de souris. Attention, certains spammers ne sont pas des bots, mais des humains. En général, ce sont des habitants de pays très pauvres qui sont recrutés sur le net et payés quelques cents par post pour aller s'inscrire manuellement et spammer des forums. Dans ces cas là, il ne reste que le ban manuel.
Bonne chasse aux Spambots
Si vous avez un OScommerce et que vous voulez le basculer sous Magento, si vous avez un Virtuemart et que vous voulez migrer sur du Prestashop... Alors pas de prise de tete, il existe un service au top pour ça, ça s'appelle Cart2cart. Il sproposent meme un test gratuit avec une migration limitée à quelques produits et catégories pour voir ce que ça donne. J'ai eu l'occasion d e tester avec une démo d'un X-Cart vers un Prestashop, et c'est assez bluffant. D'autant que le tarif proposé est plutot raisonnable, la plupart des infos indispensables peuvent etre récupérées: fiches produits complètes avec photos, descriptions, mots clés, quantités, catégories, clients, commandes... Je vous le recommande
Ayant récemment eu besoin de chercher un VPS Managed avec Cpanel sur de l'hébergement européen, j'ai dressé cette petite liste:
-Balticservers Cloudlinux SSD
-VPScreed
-Tilaa
-Ghoster
Si vous avez des commentaires sur ces VPS, ou si vous en connaissez des bons, n'hésitez pas à poster
Domainsbot est un outil très intéressant. Vous lui donnez le ou les mots clés de votre choix, et il va vous trouver des noms de domaines compatibles. On peut paramétrer plusieurs options, comme les TLDs, des synonymes, des préfixes... L'outil va également vous dire si les noms de domaine sont déja enregistrés ou non, et si ils sont éventuellement disponibles à l'achat chez Sedo ou Godaddy. Un tool vraiment très utile
En passant d'une version de cms à une autre, en modifiant des liens d'affiliation, des partenariats, ou pour n'importe quelle raison, il peut arriver d'etre amené à devoir faire des remplacements de mots ou d'urls directement dans une base de données. Plutot que de tout se taper à la main, une simple commande SQL automatise le processus de remplacement d'une chaine de caractères par une autre dans la bdd:
update `table-name` set column-name=REPLACE(column-name,'old-word','new-word') where column-name like 'old-word'
table-name: le nom de la table
column-name: le nom de la colonne
old-word: la chaine de caractères à remplacer
new-word: la nouvelle chaine de caractères
On peut bien sur remplacer
where column-name like 'old-word'
par une autre condition.
C'est le genre de petite commande bien pratique qui rend de très grands services. On peut l'utiliser pour mettre à jour des balises, remplacer des IPs, des urls ou des morceaux d'urls...
Voici un petit bout de code php, que j'avais trouvé je ne sais plus trop ou, et qui permet de générer des listes d'adresses mails en allant les récupérer dans les résultats de recherche Google. Vous pouvez éventuellement l'améliorer grace aux idées expliquées dans ce sujet: Récolter des adresses mails ciblées grace à Google (gratuitement).
<?php
$domaine = "domain.com";
$valeur = 900;
$i = 10;
while ($i <= $valeur) {
$url = "http://www.google.com/search?hl=en&lr=en&lr=&q=intext:\"*@".$domaine."\"&start=".$i."&sa=N&filter=0";
$result = file_get_contents($url);
$res = preg_match_all(
"/[a-z0-9]+([_\\.-][a-z0-9]+)*@([a-z0-9]+([\.-][a-z0-9]+)*)+\\.[a-z]{2,}/i", $result, $matches);
if ($res) {
foreach(array_unique($matches[0]) as $email) {
echo $email . "<br />";
}
}
$i+=10;
}
?>
Pour communiquer sur le web, le mailing est un outil fabuleux. En envoyant des mails, vous pouvez cibler votre public, et ainsi améliorer les chances de monétiser. Vous pouvez aussi promouvoir un site qui démarre, les possibilités sont multiples. Le plus fort, c'est que meme en partant de zéro, il est possible de vous construire une base de mails valides et bien ciblée selon la thématique qui vous intéresse.
Je m'explique: de nombreux pigeons nombreuses personnes inconscientes postent leur adresse mail en clair et publiquement sur des forums et autres blogs. En utilisant Google avec les bons mots clés, il vous sera assez simple de récupérer ces adresses...
Admettons que vous souhaitiez construire une liste d'adresses mail axées sur la thématique du jeu vidéo par exemple. Vous pouvez commencer par lancer la recherche
forum jeu vidéo
sur Google. Notez les 10 plus gros domaines contenant un forum traitant du sujet. Pour chacun, vous allez pouvoir lancer la recherche suivante:
"@maildomain.tld" mail site:domain.tld
domain.tld correspondra à vos domaines avec de gros forums, et maildomain.tld devra etre remplacé par les noms de domaines correspondant aux adresses mail francophones les plus utilisées. Je vous donne celles qui ont donné de bons résultats dans mon cas (j'ai déja utilisé cette technique pour lister un bon millier d'adresses mails sur une thématique donnée):
gmail.com
hotmail.fr
hotmail.com
orange.fr
free.fr
neuf.fr
sfr.fr
numericable.fr
yahoo.fr
msn.com
laposte.net
voila.fr
live.fr
yahoo.com
wanadoo.fr
bbox.fr
skynet.be
aol.com
cegetel.net
aliceadsl.fr
Les recherches sont à adapter selon les cas, tout cela est automatisable et scriptable afin de réaliser un véritable aspirateur de mails, il faut juste faire attention à ne pas trop passer pour un bot, en mettant par exemple des temps qui changent aléatoirement entre les recherches et en changeant d'user agent de temps en temps pour ne pas se faire bloquer par Google. Normalement, ça donne d'excellents résultats.
Attention, je vous rappelle que l'envoi de courriels est règlementé en France, le spam est interdit. Le consentement préalable est normalement obligatoire (sauf dans certains cas comme par exemple si une relation commerciale a déja eu lieu entre une entreprise et un client) mais laisser trainer son adresse mail sur le web ne peut il pas etre considéré comme un consentement à recevoir du spam? Je vous laisse méditer sur cette question
Si vous avec un ecommerce sous prestashop qui tourne depuis un moment et que vous n'avez jamais utilisé de système de newsletter, alors aucun de vos clients existants n'auront choisi de s'y abonner, et la valeur sera par défaut à zéro. Pour activer automatiquement la newsletter pour tous vos clients, utilisez la commande sql suivante:
update `pre_customer` set newsletter=REPLACE(newsletter,'0','1') where newsletter like '0'
Pour activer l'opt in:
update `pre_customer` set optin=REPLACE(optin,'0','1') where optin like '0'
Starpass propose des services de micropaiement par audiotel, sms, facture FAI, CB, Paypal... C'est la solution idéale si vous souhaitez commercialiser des services via un site web, comme du téléchargement de fichier, l'accès à un contenu, vidéo, page etc... Le fonctionnement et la mise en place de Starpass est très simple:
Et ça rapporte, la preuve:
Starpass propose des solutions de micropaiement dans plusieurs dizaines de pays à travers le monde, c'est vraiment la solution idéale pour monétiser l'accès à un contenu de façon simple, rapide et efficace. Inscrivez vous dès maintenant: Starpass
Si votre hébergeur le permet, il est possible de désactiver l'affichage des erreurs et warnings PHP en plaçant un fichier php.ini contenant
display_errors = Off
error_reporting = 0
dans le dossier ou vous voulez désactiver l'affichage des warnings. Ca peut etre pratique sur du mutualisé quand on n'a pas accès à la configuration PHP.
Après avoir testé plusieurs régies, Criteo me parait etre l'une des seules vraiment capables de proposer une alternative viable à Google Adsense. L'idéal est en fait de travailler avec les deux. Criteo est une régie qui fonctionne au CPM, en gros ils vont vous payer une certaine somme que vous allez définir à l'avance pour 1000 affichages. Cette somme peut aller jusqu'à 1.50€. Plus la somme va etre élevée, et moins ils vont acheter d'affichages, en toute logique. Il est donc intéressant de tester Criteo en complément à d'autres systèmes. Vous affichez le code Criteo, et vous paramétrez votre compte Criteo pour que votre campagne affiche les pubs d'une autre régie, ou vos propres pubs quand Criteo n'achète pas vos affichages. En faisant des tests et en augmentant progressivement le montant du CPM, on peut réussir à trouver un bon équilibre. Mettre un CPM trop bas n'est pas forcément rentable. J'avais testé à 0.40€ au début, et je me suis rendu compte qu'en augmentant meme si ils me prenaient moins d'affichages au final je pouvais gagner quasiment la meme chose. Il vaut mieux gagner pareil mais afficher moins, car derrière ça laisse plus d'affichages pour du Adsense ou autre, et donc plus de gains avec vos autres régies. C'est un équilibre à trouver, selon les sites et les autres systèmes de monétisation mis en place.
Voila un petit exemple qui permet de comprendre le système:
Sur ce rapport de 30 jours, on peut voir que j'ai progressivement augmenté le CPM. Logiquement, le pourcentage des affichages a chuté, mais les gains n'ont pas baissé dans les memes proportions. C'est un système vraiment intéressant, en complément d'autres sources de monétisation. Selon les sites, on peut utiliser Criteo en complément à Adsense, ou bien à des pubs d'autres régies, ou encore à des partenariats. Ca va dépendre de la nature du site, de sa thématique et de son trafic. En tout cas, je vous conseille de tester criteo
Viglink est un service qui permet de monétiser le trafic sortant d'un site web. Si vous avez un site, blog, ou encore un forum avec beaucoup de contenu et de trafic, il y a de grandes chances pour que certains des liens existants sur votre site mènent vers des sites marchands avec lesquels vous n'avez pas de système d'affiliation. Devant la multitude de systèmes d'affiliation qui peuvent exister, Ebay, Amazon, et presque autant de systèmes qu'il peut exister de sites marchands, il est parfois difficile de savoir si un lien sortant est monétisable.
Grace à ses 30000 marchands affiliés, Viglink vous ouvre les portes de l'affiliation automatique des liens sortants. Si vous ne voulez pas vous prendre la tete à aller vous inscrire sur des dizaines de systèmes d'affiliation et de régies publicitaires, c'est le bon plan. Vous n'avez qu'à vous inscrire, et coller le code javascript Viglink sur votre site. Les liens sortants vers les sites marchands qui travaillent avec Viglink sont automatiquement transformés en liens affiliés. Le processus est transparent pour le visiteur qui ne se rend compte de rien. De cette manière, il est possible de générer des revenus d'appoint avec des sites qui ont déja un certain niveau de trafic. Et en plus, Viglink permet de générer des rapports, ce qui permet d'étudier quels sont les liens sortants et les domaines qui rapportent le plus, pour peut etre par la suite s'inscrire directement à leur programme d'affiliation et ainsi toucher 100% des commissions, car bien évidemment viglink prend son pourcentage au passage. Viglink permet de ne pas changer les liens affiliés qui peuvent déja exister sur votre site, et aussi avec Viglink Insert de transformer des mots clés existants sur vos pages en liens afifliés (ajout de pubs in text).
Par exemple, voici une petite semaine ou un lien que je n'avais pas tracké m'a permi de générer 2$, sauvés par Viglink:
Les gains sont faibles sur ce programme car j'avais désactivé le système pendant un bon moment avant de le réactiver récemment. Globalement, pour que ça soit rentable il faut quand meme avoir pas mal de trafic et de pages visualisées, et ça ne doit pas etre une source principale de revenus mais un petit plus intéressant. Testez: Viglink
Ebay est depuis longtemps une place de marché très importante. Ebay possède un système d'affiliation propre, il s'agit de Ebaypartnernetwork. Cette solution permet de gagner de l'argent avec les visites générées par l'intermédiaire de vos sites vers Ebay.
Avant, quand c'était le bon temps, le système était très lucratif. Ebay pouvait payer jusqu'à 15€ pour chaque nouvel inscrit sur Ebay, et les commission sur les ventes ou enchères étaient assez élevées. Mais depuis quelques temps, le système a un peu changé, et les reversements sont basés sur la qualité du trafic. En gros, ça ne sert à rien de cliquer comme un malade sur les liens trackés vers Ebay, ce qu'il faut c'est amener du trafic ciblé, qui va aller enchérir et acheter. Pour cela, il faut travailler sur la mise en place de campagnes bien ciblées, et selon les sites ça peut etre intéressant et rapporter.
Un petit aperçu de ce que ça donne, avec un rapport sur 2012:
On a un peu plus de 8000 clics, pour un gain de 350€ environ, soit un EPC de 0.4 cts. Ce n'est pas énorme, il y a carrément moyen de faire mieux, mais c'est de l'argent qui aurait été perdu en laissant des liens Ebay non trackés, donc c'est tout bénef. Si vous avez des liens Ebay sur vos sites et qu'ils ne sont pas affiliés, c'est de l'argent perdu... Testez Ebaypartnernetwork
Si vous avez besoin d'un bon petit serveur mutualisé en Allemagne, alors je vous recommande:
Meme sur du mutu, ça tourne très correctement pour héberger un cms un peu gourmand comme du prestashop par exemple. C'est une excellente offre, pour débuter ou meme pour les pros qui n'ont pas besoin d'un dédié. Suivez le guide: 1and1
Sur un site j'ai pu voir un jour sur mes stats Adsense un clic à 5€, enfin 4.86€ pour etre précis. Ca nous fait le CPM à 1.56€. Qui dit mieux? La preuve en image:
En gros, quelqu'un est passé sur le site, a cliqué sur une pub et hop, 5€ in ze pocket. Il y a certains domaines qui rapportent plus que d'autres quand on diffuse du adsense
Ce post était à la base un post de test, je l'avais fait lorsque je préparais le forum à la mise en ligne. J'ai choisi de le garder car il a l'ID 2, c'est le second post sur le forum.
Le forum Webmaster-thune va etre mis en ligne ce soir, le vendredi 13 décembre 2013. Le 13 porte chance il parait. Le forum était déja en ligne en fait, mais là je vais déverrouiller l'accès qui était bloqué par htaccess.
J'ai voulu le forum léger, simple et fonctionnel, c'est la raison pour laquelle je n'ai pas choisi un Vbulletin très lourd (et payant), mais un bon petit Fluxbb, que j'affectionne tout particulièrement.
Le forum Webmaster-thune.com est destiné à etre ma bibliothèque d'astuces et de bons plans pour les webmasters. Tout ce qui permet de gagner de l'argent sur le net, ou d'améliorer un site, sera posté ici, comme un aide mémoire sauf qu'il sera accessible à tous et que d'autres, je l'espère, me rejoindront afin de pouvoir discuter et échanger entre webmasters. Créateurs de sites, de blogs, de forums, venez partager vos expériences et échanger vos idées. C'est toujours bon d'avoir un point de vue extérieur, et personne ne peut prétendre tout connaitre.
Soyez les bienvenu(e)s sur le forum Webmaster-thune.com!
Bonjour,
Mon pseudo est Cash Machine, parce que le web est une machine à faire du cash quand on s'y prend bien. Faire du cash sur le net, ça ne s'apprend pas dans les grandes écoles, ça s'apprend à force de passer des nuits blanches à squatter Google, à surfer absolument partout aux 4 coins du web et à force de tester différentes choses sur différents types de sites.
J'ai installé mon premier serveur en local, en 2007. J'ai embrayé sur diverses choses, j'ai commis des erreurs classiques de débutant, et puis j'ai tout appris sur le tas. Un beau jour, j'ai pu générer l'équivalent d'un salaire grace à mes activités sur le web. Je me suis dit que je devrais créer un espace de discussion pour partager toutes ces connaissances accumulées à force de recherche, un endroit ou les webmasters, administrateurs de sites, de blogs, de forums, de ecommerce pourraient discuter entre eux en parlant le meme langage.
C'est aujourd'hui chose faite, j'ai pas mal bossé pour préparer ce forum.
J'y posterais des choses utiles sur la manière de monétiser un site, et des astuces de webmaster.
Merci de m'avoir lu, et puisque vous etes là pensez à vous inscrire
A très bientot sur le forum.
Pages : 1