Shared posts

12 Sep 21:44

logstalgia - website access log visualization - Google Project Hosting (Boris Schapira)

by Boris Schapira
18 May 08:12

Framablog : Pour un GitHub plus démocratique et efficace

by Framablog

GitHub est aujourd’hui la plus dynamique forge de développement de logiciels libres. Mais n’y aurait-il pas, dans sa conception même, quelques problèmes de gouvernance et de circulation du code qui menacent l’efficacité, voire la viabilité, des projets ?

Remarque : Pull request, issue, commit… nous présupposons que vous êtes familier avec le vocable GitHub, mais si un gentil lecteur veut nous les préciser dans les commentaires, qu’il/elle n’hésite surtout pas ;)

De la citoyenneté dans le développement de logiciels open source

On Citizenship in Open-source software development

Christophe Maximin - 8 mai 2013 - Blog personnel
(Traduction : ProgVal, Melchisedech, nano-plink, TheCamel, Al + anonymes)

Comment GitHub peut révolutionner la question en donnant le pouvoir aux utilisateurs dans les dépôts auxquels ils contribuent.

TL;DR : En donnant un véritable statut social aux personnes contribuant à un dépôt, GitHub résoudrait le problème des projets-zombies ayant une communauté éparpillée. En permettant à ces citoyens de collaborer réellement les uns avec les autres, et non avec le seul propriétaire, les dépôts seront vivants tant que leur communauté existera, de manière complètement auto-régulée.

L’année a très bien commencé pour GitHub. Après avoir levé cent millions de dollars d’Andreesen-Horowitz et atteint les trois millions d’utilisateurs en janvier (3,4 millions et plus à présent), ils sont sur une dynamique qu’il sera difficile d’arrêter.

Néanmoins, le service a aussi ses défauts, et si certaines personnes pointent du doigt de tous petits problèmes liés aux services et aux applications, le problème que je m’apprête à décrire touche à la nature même de nos interactions sur la plate-forme.

1. État actuel d’un dépôt

0-BQR_CkK8QYMKOkTz.png

Chaque dépôt que vous créez est un petit pays avec une très faible population : 1 habitant, vous, le créateur/roi/commandant suprême.

Même si votre dépôt a des centaines de rapports de bugs créés par d’autres, et des centaines de pull requests, il n’y a qu’une seule personne aux commandes.

Bien sûr, vous pouvez ajouter des collaborateurs à votre dépôt, mais il ne seront que des collaborateurs, des membres du cabinet, choisis juste parce que vous le souhaitez. Bien sûr, dans le cas des organisations, vous pouvez ajouter des co-commandeurs suprêmes.

Mais c’est tout. Vous n’atteindrez probablement pas cinquante collaborateurs/membres; même si votre dépôt est vraiment populaire, et même si des centaines de personnes y contribuent. Est ce que cela vous parait normal ?

Ce ne serait pas un problème si ce n’était pas la cause de…

2. La fragmentation des dépôts et de leurs fonctionnalités

0-ihF9OMYgNtvXqrMY.png

J’ai vu la chose suivante arriver bien trop souvent :

  • Le développeur abandonne graduellement un projet à cause de nouveaux engagements dans sa vie, ou juste parce qu’il n’est plus intéressé. Et donc il regarde les pull requests une fois par mois, peut être. Le projet semble vivant. Il ne l’est pas.
  • Le développeur est dépassé par les rapports de bugs et les pull requests qu’il reçoit. Et bien qu’il sache qu’il a une solide communauté autour de ce projet, il ne peut pas juste ajouter quelqu’un comme collaborateur car il devra quand même lire chaque ligne pour être sûr que tout est en ordre. Et donc, il regarde les pull requests une fois par mois, peut être. Le projet semble vivant. Il ne l’est pas vraiment.

Et vous vous dites : « Qui s’en soucie ? N’importe qui peut forker le dépôt et donner une nouvelle vie au projet autre part ! »
Bien entendu, mais combien de fois avez-vous vu cela se faire réellement ?
La plupart du temps, les gens forkent le projet pour régler « le » bug qu’ils voulaient régler, et c’est tout.

Maintenant, si vingt personnes agissent de la sorte, cela devient une vraie tragédie : le projet est en fait encore mis à jour, mais à vingt autres endroits. Vous devrez fusionner les commits de 20 dépôts différents pour être à jour de toutes les nouvelles choses cools que vous pouvez faire avec le projet. Mais vous ne le ferez jamais. Certains forks sont incompatibles de toute façon.

D’autre part, comme le projet « semble vivant », personne ne se presse pour essayer de le remplacer. La léthargie se poursuit alors encore et encore, et va créer la confusion chez n’importe quel nouveau venu quant à l’état du projet, sur l’emplacement des dernières mises à jour, et sur leur éventuelle acceptation par la communauté.

Je ne vais pas donner de noms (ce n’est pas bien de pointer du doigt publiquement) , mais je suis sûr que vous voyez à quoi je fais référence.

3. Le pouvoir au peuple, le pouvoir à la cité

0-QMcCMMfAzCc1Nqdt.png

Sans entrer dans un débat sur les multiples définitions du mot citoyenneté, vous trouverez ici une liste de quelques fonctionnalités qui en feront une réalité. Rien de ce qui est listé ici n’est absolu, et ce sera à l’administrateur de définir les règles.

  • Tout le monde peut voter pour une issue.
  • Tout le monde peut voter pour une pull request, avec un merge automatique quand une majorité (ou quelque chose d’autre à définir) est atteinte.
  • Les citoyens se voient attribuer des « points de karma » suivant les votes positifs ou négatifs qu’ils reçoivent sur leurs commits et leurs réponses aux issues. Les citoyens ont un total de points pour ce dépôt, et pour le reste de GitHub.
  • Tous les commits qui sont approuvés par le peuple vont dans un branche spécifique préfixée « par_le_peuple_* » .
  • Les administrateurs ont toujours le droit de veto sur ce qu’ils veulent, et peuvent complètement couper ce mode « auto-pilote » .

Conclusion

Il est temps que les gens qui contribuent à des projets acquièrent enfin une réelle existence. Il n’y a vraiment rien à perdre, et cela semble pour moi être une évolution naturelle et inévitable de toute façon.

La question est : combien de temps devrons nous attendre ?

Gravatar de Framablog
Original post of Framablog.Votez pour ce billet sur Planet Libre.

18 May 07:57

Install Pepper Flash Player For Chromium In Ubuntu Via PPA

by noreply@blogger.com (Andrew)
As you probably know, the latest Adobe Flash Player versions are available on Linux only through Google Chrome, while other browsers are stuck with version 11.2. If you want to use Chromium browser instead of Google Chrome, here's an easy way to install Pepper Flash Player.

The latest Adobe Flash Player that's bundled with Google Chrome doesn't work with browsers like Firefox for instance, because it requires an API called "Pepper" that's only available in Google Chrome and Chromium. A while back we wrote about using Pepper Flash from Google Chrome in Chromium browser by installing Google Chrome and manually adding the Pepper Flash plugin but here's an easier way to do it under Ubuntu: by using a PPA.

Pepper Flash Chromium Browser


In case you're wondering what are the differences between Google Chrome and Chromium (besides the logo), here are a few:
  • Google Chrome is not open source (and thus not available in the official distribution repositories) while Chromium is;
  • Google Chrome is tested by the Chrome developers while Chromium may be modified by distributions; for instance, Chromium in Ubuntu is modified to support the WebApps feature while Google Chrome, being closed source, doesn't come with these modifications and thus doesn't support WebApps;
  • Google Chrome comes with optional user metrics;
  • Google Chrome comes with proprietary plugins such as a PDF viewer and Adobe Flash Player (Pepper).


Install Pepper Flash for Chromium in Ubuntu


The Pepper Flash Installer available in the PPA automatically downloads Google Chrome (stable), extracts the Pepper Flash files and installs only those files. Google Chrome itself won't be installed.

The package is just an installer and doesn't contain any Google Chrome / Adobe Flash files, like the official flashplugin-installer or out oracle-java-installer.

To add the PPA and install Adobe Pepper Flash from Google Chrome in Ubuntu (to be used in Chromium), use the following commands:
sudo add-apt-repository ppa:skunk/pepper-flash
sudo apt-get update
sudo apt-get install pepflashplugin-installer

Once installed, there's one more step to get Chromium to use the Google Chrome Pepper Flash Player: you need to open /etc/chromium-browser/default as root with a text editor (e.g.: gedit - which I'll use in the command below):
sudo apt-get install gksu #it`s not installed by default in Ubuntu 13.04
gksu gksu gedit /etc/chromium-browser/default
("gksu" is used twice to avoid a bug with Gedit opening a blank file next to our file)

and in that file, paste the followng line at the bottom of the file (after the CHROMIUM_FLAGS="" line):
. /usr/lib/pepflashplugin-installer/pepflashplayer.sh
(yes, there's a dot in the beginning of the line, then a space!)


Pepper Flash Chromium Browser

That's it. Now restart Chromium browser, visit chrome://plugins and check the Adobe Flash Player version (it's possible you have two, there's no need to disable the old one because Pepper Flash will be used by default since it's newer) - it shouldn't be 11.2.x but a newer version (e.g.: 11.7.700.x at the time I'm writing this article).

Arch Linux users can install Pepper Flash for Chromium basically in the same way, by using THIS AUR package.

If you don't want to use a PPA for this, see: Use Pepper Flash Player From Google Chrome In Chromium Browser.


17 May 06:46

Get started with App Engine for PHP: scalable, secure and reliable

by Scott Knaster
Author PhotoBy Andrew Jessup, Product Manager

Cross-posted from the Google Cloud Platform Blog

At Google I/O, we announced PHP as the latest supported runtime for Google App Engine in Limited Preview. PHP is one of the world's most popular programming languages, used by developers to power everything from simple web forms to complex enterprise applications.

Now PHP developers can take advantage of the scale, reliability and security features of App Engine. In addition, PHP runs well with other parts of Google Cloud Platform. Let's look at how this works.

Connecting to Google Cloud SQL from App Engine for PHP

Many PHP developers start with MySQL when choosing a database to store critical information, and a wide variety of products and frameworks such as WordPress make extensive use of MySQL’s rich feature set. Google Cloud SQL provides a reliable, managed database service that is MySQL 5.5 compatible and works well with App Engine.

To set up a Cloud SQL database, sign into Google Cloud Console - create a new project, choose Cloud SQL and create a new instance.



After you create the instance, it's automatically associated with your App Engine app.


You will notice Cloud SQL instances don’t need an IP address. Instead they can be accessed via a compound identifier made up of their project name and instance name, such as hello-php-gae:my-cloudsql-instance.

From within PHP, you can access Cloud SQL directly using the standard PHP MySQL libraries - mysql, mysqli or PDO_MySQL. Just specify your Cloud SQL database with its identifier, such as:
<?php

$db = new PDO(
  'mysql:unix_socket=/cloudsql/hello-php-gae:my-cloudsql-instance;dbname=demo_db;charset=utf8',
  'demo_user',
  'demo_password'
);

foreach($db->query('SELECT * FROM users') as $row) {
  echo $row['username'].' '.$row['first_name']; //etc...
}
Methods such as query() work just as you’d expect with any MySQL database. This example uses the popular PDO library, although other libraries such as mysql and mysqli work just as well.

Storing files with PHP and Google Cloud Storage

Reading and writing files is a common task in many PHP projects, whether you are reading stored application state, or generating formatted output (e.g., writing PDF files). The challenge is to find a storage system that is as scalable and secure as Google App Engine itself. Fortunately, we have exactly this in Google Cloud Storage (GCS).

The first step in setting up Google Cloud Storage is to create a bucket:


With the PHP runtime, we’ve implemented native support for GCS. In particular, we’ve made it possible for PHP’s native filesystem functions to read and write to a GCS bucket.

This code writes all prime numbers less than 2000 into a file on GCS:

<?php

$handle = fopen('gs://hello-php-gae-files/prime_numbers.txt','w');

fwrite($handle, "2");
for($i = 3; $i <= 2000; $i = $i + 2) {
  $j = 2;
  while($i % $j != 0) {
    if($j > sqrt($i)) {
      fwrite($handle, ", ".$i);
      break;
    }
    $j++;
  }
}

fclose($handle);
The same fopen() and fwrite() commands are used just as if you were writing to a local file. The difference is we’ve specified a Google Cloud Storage URL instead of a local filepath.

And this code reads the same file back into memory and pulls out the 100th prime number, using file_get_contents():

<?php

$primes = explode(",",
  file_get_contents('gs://hello-php-gae-files/prime_numbers.txt')
);

if(isset($primes[100]))
  echo "The 100th prime number is ".$primes[100];

And more features supported in PHP

Many of our most popular App Engine APIs are now supported in PHP, including our zero-configuration Memcache, Task Queues for asynchronous processing, Users API, Mail API and more. The standard features you’d expect from App Engine, including SSL support, Page Speed Service, versioning and traffic splitting are all available as well.

Open today in Limited Preview

Today we’re making App Engine for PHP available in Limited Preview. Read more about the runtime in our online documentation, download an early developer SDK, and sign up to deploy applications at https://cloud.google.com/appengine/php.


Andrew Jessup is a Product Manager at Google, working on languages and runtimes for Google App Engine.

Posted by Scott Knaster, Editor
13 May 22:03

Les risques d’OpenBar, l’accord entre Microsoft et le Ministère de la Défense

by Korben

Il se passe un drôle de truc en ce moment du côté du Ministère de la Défense. Ces derniers sont en train de renégocier un gros contrat avec Microsoft qui court depuis 2009 et prendra fin en mai de cette année.

Ce contrat baptisé Open Bar permet à nos forces armées de mettre à jour tout leur parc machines avec tous les logiciels Microsoft sans aucune limite. Ils peuvent même en installer de nouveaux s'ils le souhaitent. Le tarif est de 100 € par poste.

Ce n'est pas vraiment de l'achat de licences, mais plutôt de la location puisqu'au bout des 4 ans, l'État pourra soit partir avec une option d'achat de tous ces logiciels, soit reconduire le contrat (ce qui est en train de se passer).

Malheureusement, il y a plusieurs choses qui sentent très mauvais dans cet accord entre Microsoft et l'armée française.

Tout d'abord, sous prétexte qu'il s'agit de "mises à jour" (ce qui est à moitié vrai), le Ministère de la Défense a pris soin d'éviter de lancer des appels d'offres et autres demandes publiques, ce qui d'ailleurs n'est pas du tout au goût de la Commission des marchés publics de l'État qui a publié un rapport assez salé.

Ensuite, déontologiquement parlant, la Commission Européenne est encore et toujours en train de batailler avec Microsoft en ce qui concerne l'interopérabilité et le quasi-monopole de la société américaine. C'est moche et pourtant, ça n'empêche pas la France de faire des affaires avec MS.

Le délai des 4 ans est aussi un gros problème... Après ces 4 années, on est coincé... Quasi obligé de signer puisque les utilisateurs seront formés et habitués aux outils de Microsoft et avoir investi autant de temps et d'argent dans des logiciels propriétaires pour tout jeter à la poubelle et recommencer avec des logiciels libres, c'est possible, mais quel gâchis.

L'autre truc très rigolo c'est que ce n'est pas Microsoft France qui va signer ce contrat, mais Microsoft Dublin... Le budget consacré à Open Bar va donc partir dans en Irlande. Hmmm.... ça sent bon l'évasion fiscale tout ça...

Maintenant, les raisons évoquées précédemment ne sont pas pour moi les pires raisons....

Non, la pire raison qui devrait faire bondir le Ministère de la Défense et leur faire adopter des logiciels libres, c'est surtout que la NSA qui d'ailleurs, ne se cache pas, place des portes dérobées (backdoor) dans la plupart des logiciels soumis aux exportations. Autant dire que si les États-Unis veulent espionner les armées françaises encore un peu plus que ce qu'ils peuvent faire maintenant, c'est la belle aubaine. Adopter des logiciels libres, c'est à dire des logiciels dont le code est ouvert, c'est limiter les risques de gouvernements trop curieux ou de blocage par une force étrangère. (On ne sait jamais...)

C'est ce qui me fait bondir le plus, je pense !!! Et je ne suis pas le seul puisque l'APRIL demande vivement au gouvernement que toute la lumière soit faite sur cet accord plus que douteux. Accord qui d'ailleurs risque de concerner prochainement d'autres ministères que celui de la Défense...

Malheureusement, les intérêts de chacun semblent plus forts que le bon sens et la sécurité nationale.

À suivre, j'espère avec des bonnes nouvelles...

Merci à David pour le partage

Source

13 May 21:55

PSR-Duh!

by Gabriel Manricks

In a previous lesson here on Nettuts+, you learn about PSR; however, that article didn’t detail the process of integrating that coding style into your projects. Let’s fix that!

Note: this article assumes that you’ve read PSR-Huh?, and understand what PSR refers to. Let’s begin with the first standard: PSR-0.


PSR-0 – The Autoloading Standard

The PHPCS plugin is the most helpful tool I’ve used.

In the past, we included PHP files in one of two ways:

  • Using a giant block of include statements at the top of each file.
  • List all includes in a single file and include that single file within your project.

There are pros and cons to both of these approaches, but, I think we can all agree that neither are optimal or modern solutions. PHP5 introduced the concept of autoloading files based on their class names; so, PSR-0 aims to keep filenames consistent.

Namespaces have nothing to do with filenames or autoloading; you can technically declare different namespaces in the same file. For example, the following code is perfectly valid.

<?php
namespace Nettuts;

Class Hello
{
    public function __construct()
    {
        echo "Nettuts+";
    }
}

namespace Gabriel;

Class Hello
{
    public function __construct()
    {
        echo "Gabriel";
    }
}

$h = new \Nettuts\Hello();
$h = new \Gabriel\Hello();

There are two Hello classes in this single file, but they reside within different namespaces. The final two lines of this code instantiate the Hello() classes on their respective namespaces. The first outputs “Nettuts+”, while the second echos “Gabriel.” Namespaces allow you to differentiate between two classes with the same name, much like you might be used to with folders on your desktop. The PSR-0 standard simply leverages the benefits of namespaces, making it easy to autoload your classes. By consistently naming your files, you can create a function that locates the necessary files automatically.

To be PSR-1 compliant, you also must follow PSR-0.

Be sure to read the full standard, but to summarize:

  • Each class must be namespaced with the project’s (or creator’s) name.
  • Underscores within the class’ name should be converted to directory separators.
  • Files must have the .php extension.

For example, a class reference of:

\Nettuts\Database\SQL_Postgres

if following PSR-0, should translate to this path:

./Nettuts/Database/SQL/Postgres.php

How might we implement this functionality? The most obvious solution is to use Composer, which ships with a PSR-0 compliant autoloader. If you leverage Composer in your projects (and you should), then opt for its autoloader, rather than writing your own.

A PSR-0 compliant loader allows you to specify a base path, informing the loader which directory to look in first. To get started, create a simple composer.json file that contains the following JSON:

{
    "autoload": {
        "psr-0": {
            "Nettuts": "./",
            "Gmanricks": "vendor/"
        }
    }
}

This JSON file tells Composer that we want to use the PSR-0 standard to autoload all Nettuts-namespaced files with the current directory (the root folder) as the base path. We also want to autoload all classes with the Gmanricks namespace, relative to the vendor folder (e.g. ./vendor/Gmanricks/ClassName).

Now, type “composer install” to generate the autoload classes, or “composer dump-autoload” on subsequent edits to regenerate the autoload classes. Also, don’t forget to require the autoloader somewhere early in your project.

<?php

require 'vendor/autoload.php';

Composer is your best option, but there may be scenarios when you want a small, simple autoloader. The PHP-FIG provides a sample autoloader that you can use:

function __autoload($className)
{
    $className = ltrim($className, '\\');
    $fileName  = '';
    $namespace = '';
    if ($lastNsPos = strrpos($className, '\\')) {
        $namespace = substr($className, 0, $lastNsPos);
        $className = substr($className, $lastNsPos + 1);
        $fileName  = str_replace('\\', DIRECTORY_SEPARATOR, $namespace) . DIRECTORY_SEPARATOR;
    }
    $fileName .= str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php';

    require $fileName;
}

It’s important to note that this loader attempts to load all classes using the PSR standard in the current directory.

Now that we’re successfully autoloading classes, let’s move on to the next standard: the basic coding standard.


PSR-1 – The Basic Coding Standard

PSR-1 defines general coding guidelines, which can be divided into two parts.

Naming Conventions

Namespaces allow you to differentiate between two classes with the same name.

As with any programming language, following naming conventions ultimately makes your code easier to read and maintain. Here’s a few rules to follow:

  • Class names use PascalCase.
  • Method names should be in camelCase.
  • Constants require all capital letters, separating each word with an underscore (e.g. CONSTANT_VARIABLE).

Code Conventions:

There’s more to it than naming conventions; follow these guidelines as well:

  • Only use <?php or <?= in your code. Don’t close PHP within a class.
  • Files should either declare symbols or use them.
  • Files must be in UTF-8 format without BOM for PHP code

Most of these are self-explanatory, but the middle convention is slightly confusing. It essentially dictates that any declaration, be it functions, classes, etc., should be separated into their own files. This not only promotes best practices like code-reuse and separation, but it keeps your code neat and clean.

It’s worth mentioning that each PSR standard builds upon the previous PSR standard. As such, to be PSR-1 compliant, you also must follow PSR-0. By following these two standards, your code will be properly namespaced and autoloaded. There really isn’t a reason not to follow them.

Yes, some developers complain about PSR and prefer to follow other conventions, but by following this standard, you can share code with everyone without worrying about its consistency. Having said that, nobody is forcing your hand here. It’s simply a recommended guideline.

The next standard, PSR-2, dives into the specifics of how you should structure your code.


PSR-2 – The Advanced Coding Standard

PSR-2 dives into the specifics of how you should structure your code.

Next, we come to the one standard that PHP developers struggle with most; in fact, it’s the reason why I chose to write this article.

PSR-2 defines many rules, many of which are listed below:

  • Four spaces should be used instead of tabs.
  • The ideal line length should be under 80 characters, but a soft limit of 120 characters should be imposed on all lines.
  • There should be one blank line under the namespace and use declarations.
  • A method’s or class’ opening brace must be on its own line.
  • A method’s or class’ closing brace must go on the line immediately after the body.
  • All properties and methods require a visibility level.
  • The ‘abstract‘ / ‘final‘ keywords should appear before the visibility while ‘static‘ goes after.
  • Control structure keywords must be followed by one space.
  • A control statement’s opening brace should appear on the same line as the statement.

Be sure to view the entire spec for a complete overview.

PSR-2 is just as important as PSR-1 (and PSR-0). It intends to make code easy to read and maintain. But, as they say, “The devil is in the details.” There are a lot of details to remember, which can be difficult if your programming habits differ from what the standard defines. Thankfully, if you’re on board, there are tools that help you adhere to PSR-0, PSR-1 and PSR-2. Perhaps the best tool is the Sublime Text plugin, PHPCS.


PHPCS – PHP Code Sniffer

The PHPCS plugin is the most helpful tool I’ve used, when it comes to getting code into shape. It allows you to not only ensure that your code follows the PSR standards, but it also uses PHP’s linter to check for syntax errors. This is a great time saver; you no longer have to worry about syntax errors when you test your code in the browser.

Install the package through Sublime Package Control (it’s called Phpcs), or, alternatively, with Git, using the following commands:

cd ~/Library/Application\ Support/Sublime\ Text\ 2/Packages/
git clone git://github.com/benmatselby/sublime-phpcs.git Phpcs

This installs the plugin, but you need a few dependencies before you can configure PHPCS. Once again, the easiest way to install them is with Composer. Browse to a directory of your choice and create a composer.json file with the following JSON:

{
    "name": "Nettuts PHPCS Demo",
    "require": {
        "squizlabs/php_codesniffer": "*",
        "fabpot/php-cs-fixer": "*",
        "phpmd/phpmd": "*"
    }
}

This installs the three dependencies into the current folder. Open a terminal window to your installation location and type composer install, and it will download the necessary packages.

Now you can configure the plugin in Sublime Text. Navigate to ‘Preferences’ > ‘Package Settings’ > ‘PHP Code Sniffer’ > ‘Settings – User’.

PHP Code-sniffer Settings

The plugin needs to know where the three dependencies reside, as well as the standard that we want our code to adhere to:

{
    "phpcs_additional_args": {
        "--standard": "PSR2",
        "-n": ""
    },
    "phpcs_executable_path": "DEPENDENCY_PATH/vendor/bin/phpcs",
    "phpmd_executable_path": "DEPENDENCY_PATH/vendor/bin/phpmd",
    "php_cs_fixer_executable_path": "DEPENDENCY_PATH/vendor/bin/php-cs-fixer"
}

These settings inform PHPCS that we want to ahere to the PSR2 standard and provide each dependency’s path. Don’t forget to replace DEPENDENCY_PATH with your actual path.

Restart Sublime, and the code sniffer will scan your code when you save your PHP files.

Phpcs Sublime Extension Errors

Right-clicking in the editor will also list several new options, such as clearing error marks and attempting to fix the non-standard issues. However, considering that the point of this article is to get you used to the standard, I suggest manually fixing your code and avoiding the automatic fixer feature.


Conclusion

The PSR standards were created so that code could easily be reused from project to project, without sacrificing on code style consistency. While they may feel overwhelming at first, you can use the ideas and tools from this article to help you make the transition.

To reiterate one last time: nobody is forcing you to change the way that you code in PHP. It’s simply a guide, originally meant for framework interoperability. That said, at Nettuts+, we consider it a best practice to follow. Now make up your own mind! If you have any questions, let’s hear them below!

13 May 21:52

Ce mois-ci sur internals@php - Avril 2013

by Pascal MARTIN

Après un mois de mars relativement calme, voici mon dépilage d’internals@ pour le mois d’avril 2013, qui poursuit la tendance avec seulement 359 mails.

Sous forme d’un graphique représentant le nombre de mails par mois sur les trois dernières années, on obtient (l’historique depuis 1998 est disponible ici) :

Nombres de mails sur internals@ ces trois dernières années


La sortie de PHP 5.5 continue de se rapprocher : la version bêta3 a été publiée le 11 avril, et la bêta4 a suivi le 25 avril. Cette version bêta4 devrait être la dernière version bêta, la première version RC étant prévue pour le 9 mai.

Dmitry Stogov a travaillé sur des optimisations pour l’extension de cache d’opcodes ext/opcache qui sera inclue à PHP 5.5, et s’est demandé si ces optimisations avaient leur place dans PHP 5.5, ou s’il était plus prudent de les prévoir pour la version suivante de PHP. Une réponse apportée par Zeev Suraski est qu’il devrait être possible de mettre en place des optimisations ne travaillant que sur un seul fichier ; et que certaines idées ne mènent pas forcément à des résultats intéressants, le compilateur de PHP étant relativement rapide en lui-même. Pierre Joye, de son côté, a fait remarquer que, même si des optimisations simples pouvaient être appréciables, les versions RC de PHP 5.5 approchaient.

Comme l’a souligné Larry Garfield, une durée de compilation (compilation qui n’a lieu qu’une fois “de temps en temps”, avec un cache d’opcodes activé) un peu plus importante pour les scripts PHP est acceptable, à partir du moment où les gains à l’exécution ne sont pas négligeables.


Avec l’intégration de ext/opcache à PHP, Johannes Schlüter a fait remarquer qu’il y aurait probablement beaucoup d’utilisateurs qui essayeraient de charger cette extension avec extension= et non zend_extension= dans leurs fichiers de configuration. Le message d’erreur renvoyé lors de la tentative de chargement d’une Zend Extension avec extension= étant jusqu’à présent peu clair, pour éviter d’être submergés de demandes d’utilisateurs ne comprenant pas pourquoi ext/opcache refuse de se charger, il est proposé d’améliorer ce message — vu les nombreux retours positifs, le correctif a été intégré à PHP.

A la toute fin du mois de mars, Laruence a proposé d’ajouter une constante indiquant si PHP est compilé avec support des wrappers curl (qui sont totalement distincts de l’extension ext/curl !). Ces wrappers ayant toujours été considérés comme expérimentaux, la discussion a finalement donné lieu à la rédaction d’une RFC visant à leur suppression : RFC: Removal of curl-wrappers — et même si la décision a été un peu rapide pour rentrer dans la planning de sortie de PHP 5.5-bêta4, les wrappers curl seront supprimés pour PHP 5.5.


En tout début de mois, Sara Golemon a proposé la RFC: PHP Array API simplification : l’objectif est de fournir un fichier d’en-têtes .h permettant de simplifier les manipulations de tableaux PHP pour les développeurs d’extensions PHP (ce point ne concerne que les développeurs d’extensions, et absolument pas les utilisateurs de PHP). Comme l’a souligné Mike Willbanks, avec qui je ne peux être que d’accord, ce type de simplification est le bienvenu, en particulier pour les développeurs avec un background plus userland. La discussion n’a pas duré très longtemps et n’a pour l’instant pas mené à une inclusion de ce fichier d’en-têtes à PHP (peut-être pour une prochaine version ?), mais il peut dès maintenant être inclu manuellement par les développeurs d’extensions qui voudraient en tirer profit.

Un autre point qui peut intéresser les développeurs d’extensions PHP et/ou ceux qui aiment savoir comment ça marche : Julien Pauli a annoncé avoir rédigé un article expliquant comment PHP charge ses extensions, et les différents hooks appelés : internals:extensions. En parallèle, des améliorations sont en cours de développement autour du chargement d’extensions, et pourraient être mises en place pour PHP 5.6.


Laruence a proposé, comme décrit via le Bug #64554: var_export does not export absolute namespace for classname , d’ajouter un \ en début de noms de classes pour les sorties de var_export(), serialize(), et autres fonctions du même type. Certains ont noté que ceci semblait logique par rapport aux espaces de noms ajoutés avec PHP 5.3, alors que d’autres ont fait remarquer que cela casserait la compatibilité avec PHP <= 5.2 — et comme l’a souligné Rasmus Lerdorf, il n’est (malheureusement) pas rare de sérialiser des données avec une version de PHP, les stocker en base de données ou les envoyer via le réseau à une autre machine, et vouloir les lire avec une autre version de PHP. En conclusion, la documentation va être complétée, et le comportement de ces fonctions ne sera pas modifié.

Frank Liepert a rédigé la RFC: instance counter. Les quelques retours qui ont été postés sont assez négatifs : savoir combien d’instances d’une classe donnée existent ne semble pas vraiment intéressant ni utile. Les votes ont été ouverts sur cette RFC à la toute fin du mois — considérant le peu de discussions qu’il y a eu sur internals@ à ce sujet, je doute qu’elle passe.

Julien Pauli a proposé d’ajouter une option à phpinfo(), qui permettrait de récupérer la liste des options de configuration utilisées lors de la compilation de PHP (j’ai au passage découvert php-config --configure-options). Les retours ont été assez négatifs, puisque peu de développeurs voient l’utilité d’un mécanisme de ce type, et suggèrent de plutôt utiliser les capacités de reflection de PHP.

Julien Pauli a soumis une idée où le bloc catch d’une exception pourrait rendre le contrôle à son bloc try. Amaury Bouchard a ensuite fourni plus d’explications sur le pourquoi de cette idée. La discussion n’était pas terminée à la fin du mois, même si plusieurs semblaient penser qu’utiliser des constructions try/catch de cette manière n’était pas une bonne idée. Nous aurons peut-être l’occasion de voir le mois prochain si les choses ont évolué.

Igor Wiedler a annoncé avoir commencé à rédiger la RFC: Importing namespaced functions, et a ensuite posté quelques cas où cette idée lui semble utile. La discussion n’était pas terminée à la fin du mois, et se poursuivra peut-être en mai…


Depuis le premier article que j’ai posté dans cette série de dépilages d’internals@, en novembre 2012, je crois que c’est la première fois que j’ai aussi peu de choses à dire. C’est probablement lié aux faits que PHP 5.5 arrive tout juste à la fin de sa période de bêta, qui marquait la fin d’ajout de fonctionnalités pour cette version, et que PHP 5.6 est encore loin, et pas encore entré en phase de développement actif !



internals@lists.php.net est la mailing-list des développeurs de PHP ; elle est utilisée pour discuter des prochaines évolutions du langage, ainsi que pour échanger autour de suggestions d’améliorations ou de rapports de bugs.
Elle est publique, et tout le monde peut s’y inscrire depuis la page Mailing Lists, ou consulter ses archives en HTTP depuis php.internals ou depuis le serveur de news news://news.php.net/php.internals.


13 May 21:45

Intel Vs. Intel: Its Atom CPUs Get Better... And Threaten Its Cash Cow

by Mark Hachman

Intel's Atom chips, once suited for powering anemic set-top boxes and tablet PCs, have been dramatically improved. Unfortunately, their biggest competitor is sitting right next to them: Intel's Core chips for PCs.

Intel announced a new revision to the Atom chips, known as "Silvermont," this week, something that consumers should cheer about. Like an engine that can power cars, trucks and boats, the Silvermont architecture will end up in everything from phones to PCs.

That's where the problems begin. Intel needs the Atom, a low-cost, low-power, Windows-capable chip, to compete with ARM in the phone market — something earlier generations of the Atom notably failed to do. But what if PC buyers actually prefer the Atom to Intel's high-priced Core? What does Intel do then? It takes it in the shorts, that's what. And likes it.

Intel vs. Intel

It's not an abstract concept. Intel executives promised that Silvermont Atoms will deliver twice the performance and consume four times less power than its rival processors, and - more important - deliver about two to three times the performance of the last-generation Atom chips that powered the early convertible tablets.

From a performance standpoint, that means that you'll be able to buy far more powerful Windows tablets that push closer to what the Core offers. And from a price perspective, those tablets will cost about $200 or so - about the price of the Core processor, by itself.

Sure, Intel's Core chips will improve, too, with the "Haswell" revision due this summer. But we're seeing a stagnating traditional PC market in part because there most people don't have much need for constantly increasing processor performance. Remember, Windows 8 was designed to be more efficient than Windows 7, and thus requires less memory and raw computing power.

In other words, Microsoft was intrinsically designing toward the Atom, not the Core.

But if consumers see that the new generation of Atoms provide good-enough performance, that result should be an acceleration of low-cost PCs - possibly even enough to give the PC market a real jolt. That would certainly help Microsoft's hopes for a resuscitated PC market, but it would leave Intel holding the bag. Microsoft has another motive, too: Either it adopts the new chips, or its Surface tablet gets priced out of the market.

Why Does Intel Need the Atom And The Core?

In some ways, the Atom is Intel's do-over. Intel was built upon performance: raw computing power that powered PCs and servers, driven by manufacturing that always remained a step ahead of the competition. Intel really didn't care about low-power chips until a company called Transmeta pushed it into the mobile market. And even then, Intel was trading off power for improved performance, even into its most recent Core chips.

That opened the door for yet another Intel competitor, ARM, a technology company that licenses its chip designs to the likes of Qualcomm and Nvidia for use in phones by Apple, Samsung, and Motorola. (That is, virtually all of the smartphones made today.)

Intel had its own shot to enter the phone market with an ARM design, the StrongARM, but squandered its shot in the early 2000s. Eventually, Intel decided to meet the ARM challenge with an x86, Windows-compatible chip, and designed the Atom.

The industry, however, never really expected the Atom to actually succeed in the phone space. Lenovo's announcement of the Atom-powered K800 in 2012 represented Intel's first smartphone design win ever, and it was certainly the equal of any phone at the time. Unfortunately, the K800 never made it to U.S. shores, being designed for China Telecom. More Atom-powered phones have followed, all in Asia. But a handful of design wins in Asia is a lot better than nothing. 

So we know this: Intel can't give up on the Atom, because of the potential market of billions of phones and tablets it hopes to capture. But within the PC market, Intel runs the real risk of cannibalizing the Core.

So What Happens?

Microsoft doesn't seem prepared to add additional complexity into Windows Blue, the update to Windows 8 that's due later this year. If anything, it seems headed in the opposite direction. That means that at some point, consumers may discover that they prefer the performance - and price tags - of Atom-based PCs versus those powered by the Core chips.
 
If the Silvermont chips deliver the performance that Intel implies they will, that could stretch the PC market out, price-wise. Gamers will have the same high-end options they always do.
 
But for those who want to browse, run some basic apps, and perhaps use the Office suite,lower-cost, $200 PCs are going to look awfully attractive. PC makers are going to be competing more directly with tablet manufacturers, and will be looking to squeeze out every penny they can.
 
Amazon may have tipped the future of Windows tablets this past weekend, when it accidentally took the lid off of the $380 Acer W3-510, a new "mini" 8.1-inch tablet running Windows 8 and the Intel Atom processor. The new small-form-factor Windows tablet lacks a keyboard and seems designed for browsing more than writing, sketching or creation in general. It's the same market that rival tablets like the Nexus 7 are targeting. (On the other hand, creative activities require little more than connecting a Bluetooth keyboard and mouse.)
 
Still, this is not good news for Microsoft's Surface RT tablet, which is currently priced at $499. First off, if Intel and its partners can reach a $200 price point, then the Surface RT appears dead in the water if you can buy a Windows 8-capable tablet with Office for that. Similarly, no one will want to shell out $899 for a full-fledged Surface with Windows 8.
 
From a developer standpoint, anything that boosts the prospects of Windows tablets makes Windows a more attractive platform, especially from the standpoint of low-end, casual games that don't require a lot of performance. Sure, developers will still focus on Android and iOS first, but the largest services will add Windows as a third option.
 
So why would Intel go along with this plan? Because in the long run, it hopes to make the case that everything these new Atom notebooks can do, your phone will be able to, too. But for now, if consumers prefer the Atom to the Core, Intel will just have to grin - weakly - and bear it.
13 May 21:44

International Space Station Drops Windows For Linux

by ReadWrite Editors

All the computers on the International Space Station that used to run Windows XP now run Linux, reports Extreme Tech. The reason: Microsoft's OS just wasn't "stable and reliable" enough, according to the United Space Alliance, the spaceflight operations company that manages the hardware onboard the ISS in conjunction with NASA.

 

Image courtesy of NASA. 

13 May 21:40

The Secret to 10 Million Concurrent Connections -The Kernel is the Problem, Not the Solution

13 May 21:39

Clickjack attack – the hidden threat right in front of you

12 May 21:37

Greenshot 1.1 is available: Introducing the Capture Zoom

by greenshot
You may have noticed that we have been busy with release candidates in the last few weeks. Now, after three release candidates, the few issues that existend seem to be sorted out, so that Greenshot 1.1 is available for download … Continue reading →
12 May 13:11

Pour vivre mieux et longtemps, soyez pessimistes

by Planète Santé
Pessimistes de tous les pays, réjouissez-vous, l’avenir vous appartient. C’est le message provocateur que l’on pourrait –presque– tirer à la lecture d’une récente étude conduite par des chercheurs travaillant dans trois institutions universitaires allemandes et une quatrième, suisse[1]. Les conclusions de cette recherche originale ont été publiées dans Psychology and Aging, l’une des revues de l’American Psychological Association. Comment peut-on parvenir à un résultat à ce point paradoxal? Peut-être en regardant le phénomène sous un autre angle: être trop optimiste, se prédire un avenir trop souriant, pourrait bien être associé à un risque plus élevé d'invalidité et de décès prématuré. L’exact opposé, en somme, de la prophétie auto-réalisatrice. On peut encore le dire autrement: le pessimisme concernant votre propre avenir vous conduirait, tout bien pesé, à prendre plus de précautions quant à votre santé et plus de garanties quant à votre propre sécurité. Pour parvenir à ce constat, les auteurs de ce travail ont examiné de multiples données statistiques recueillies entre 1993 et 2003. Ces données étaient issues d’enquêtes régulièrement menées en Allemagne auprès de 40.000 personnes âgées de 18 ans à 96 ans. Ces personnes ont procédé à des auto-évaluations (sur une échelle allant de un à dix) de leur degré de satisfaction concernant leur vie actuelle et ce qu’il en serait dans cinq ... Lire la suite
10 May 09:31

The World's End - Simon Pegg's New Movie Gives Us the Craziest Pub Crawl Ever

Submitted by: Unknown

09 May 14:01

Faster Phrase Queries with Bigram Indexing

by rich
Bigram indexing lets you dramatically increase the performance of phrase queries. This post will tell you how it’s done. The Idea Assume that some of your phrase queries are occasionally very slow. The root cause is usually simple: that, most likely, is just because they’re processing way too much data. Queries that only reference a couple keywords, that [...]
09 May 11:21

It’s a trap

by CommitStrip

09 May 11:10

Then I checked the code…

by CommitStrip

09 May 10:54

quand mon try-catch ne fonctionne pas

by nlecointre

image

/* by saik */

08 May 18:38

How Retailers Fight Back Against Shoppers Who Use Them As Showrooms

by Brian Proffitt

Showrooming, the practice of looking at items in a physical store and then buying them online, is yet-another pain-in-the-butt problem facing brick-and mortar retailers. Despite all the hand-wringing, however, there are ways to mitigate the problem.

First, there's evidence to suggest that the showrooming is not quite as bad a problem as some think. A Pew Internet & American Life Project survey from the beginning of 2013 found that of surveyed consumers, fewer than half (46%) called someone for advice for a purchase, and only 28% used their phone to look up product reviews and 27% used their phone to look up product pricing during the 2012 holiday shopping season. All told, 58% of cell phone owners used their phones to try one of these shopping activities in the store. Not surprisingly, younger shoppers (78% of 18-29 year olds) and smartphone owners (72%) led the way.

Not Everyone Showrooms

But here's something telling… even though the number of cell-phone shoppers increased from 2012 to 2013, "When asked what happened on the most recent occasion they looked up the price of a product inside a store using their cell phone, 46% of 'mobile price matchers' say that they ultimately purchased the product in that store - an 11-point increase from the 35% of such price matchers who said this in 2012," the report stated.

The rest of the results were equally interesting: 30% of cell-phone shoppers didn't buy the product at all, just 12% purchased the product online and only 6% went to another store to buy the product.

Retailers, it appears, are getting better at keeping customers buying in the store, no matter what they are finding on their phones and tablets.

(See also Paper, Bricks & Cash Will Die: The Inevitable Evolution Of Local Commerce.)

Still, 12% of cell-phone owners is a significant chunk of revenue. And there's every indication that as smartphones continue to penetrate the market and older shoppers are increasingly replaced with younger, more showrooming-friendly buyers, retailers have to address the problem head on.

There are plenty of ways that proactive retailers can fight showrooming. These five are a good place to start:

1. Differentiate Your Products

Amazon got its start selling books for reason. Bookstores are especially vulnerable to showrooming because unless they are selling very specialized publishers' catalog items or very rare and special books, a book is a book is a book. 

If anything, the big booksellers made the very bed they are now forced to lie in. By presenting books as a bulk commodity, Barnes & Noble, Books-a-Million and the extinct Borders reinforced the notion of books as a pure commodity, and that it didn't matter where you got the book, as long as you saved money. That was great when they were cheaper than independent bookstores, but it's come back to haunt them in the form of lower prices online.

Other retailers may have things a little easier, because not every product is available online in exactly the same form as in the local stores. But stores getting hurt by showrooming should think about switching up their inventory with unique items that may be harder to find online. 

2. Incentivize Local Shoppers

It's old-school business to entice customers into your establishment with sales and coupons. Don't stop; people still like that stuff. But other techniques can also help pull customers in the front door.

Mobile shopping apps are the bane of a retailers' existence - anything that makes it easier to comparison shop can encourage users to walk out the door. But what about an app that does the opposite, rewarding users every time they walk in a participating merchant's store?

That's the hook for Shopkick, a mobile, location-based app that reward users with points that can be redeemed for in-store purchases and rewards from other merchants and brands who have partnered with Shopkick.

Cyriac Roeding, CEO and co-founder of Shopkick, said the app has more 5 million users and has delivered $200 million in revenue to Shopkick's 15 retail partners - including Target and Best Buy.

While Shopkick is not primarily about anti-showrooming, Roeding explained, it can tend to help depress that activity. The main objective, Roeding said, is to get foot traffic in the door. Shopkick also includes features designed to help customers shop and discover products before they enter the store.

3. Provide Service... With A Smile

One thing missing from most product retailers these days is the need to repair anything. In our mostly disposable society, it is usually cheaper and faster to junk a broken product rather than have it repaired.

That means most buyer's connection with a store ends the moment they walk out the door with their purchase - reducing the differentiation from online retailers. It doesn't have to be that way. If post-purchase service doesn't make sense, what about training and support? 

4. Make Shopping An Event

Special events offer another way to entice buyers into brick and mortar stores. Grocery stores can set up cooking classes. Apparel outlets can host fashion shows. Any special and even semi-regular event that convinces your customers to come back will strengthen the perception that  connection and make it less likely the customer will use your store for showrooming.

5. Don't Panic

What retailers don't need to do is panic. Most customers don't walk into a store with showrooming in mind; they're there to shop, as quickly or as leisurely as they would have been before smartphones came along. Pay attention to customers' needs, put in the extra effort and, as the stats still indicate, they'll likely follow buy from you, not from some faceless online retailer.

(Need more? See also Showrooming: 5 Ways Retailers Can Fight Back [Slideshow].)

Image courtesy of Shutterstock

08 May 18:36

Il serait temps de mettre la France au télétravail

by Korben

Y'a un mois, j'ai vu passer cette news qui expliquait que la SNCF encourageait les entreprises parisiennes à décaler les horaires de leurs employés pour éviter que les transports soient bondés.

Bonne idée... pour la SNCF. Mais idée à la con sur le long terme.

Alors allons plus loin... Au lieu de promouvoir les horaires décalés, pourquoi ne pas promouvoir carrément (et à l'échelle nationale) le télétravail ?

Je trouve ça dingue qu'en 2013, toute la France se lève chaque matin à la même heure, pour prendre sa petite voiture ou son petit bus, bouchant les routes, blindant les trains, pour recommencer chaque soir. Ça pollue, ça fait perdre du temps à tout le monde, ça génère du stress...

Je pense qu'il serait temps que les employeurs se posent 5 minutes la question du télétravail.

Oui, je sais, tout le monde ne peut passer en télétravail. Il faut encore des gens dans les entreprises, et c'est bien normal. Mais il y a aujourd'hui de très nombreux postes qui ne nécessitent pas d'être à un endroit fixe. Les DRH devraient pouvoir prendre un peu de temps pour établir une liste de qui, au sein de l'entreprise, pourrait bosser de chez lui.

Il n'y a que des avantages au télétravail.

  • Moins de stress. On arrive à l'heure, on n'est pas bloqué dans les bouchons et on n'est pas dérangé par le collègue débile qui fait irruption dans votre bureau pour vous raconter l’émission TV d'hier soir quand il prend sa pause café.
  • Moins de temps perdu. On peut fonctionner par objectif et même si dans la journée, on doit s'absenter pour aller chez le dentiste, ce n'est pas grave puisqu'on peut rattraper le soir ou le week-end. Les heures supplémentaires peuvent même devenir agréables les dimanches pluvieux ou les soirs d'ennui.
  • Moins de frais. Moins d'essence, moins d'argent dans la nounou ou la garderie, moins de frais pour la bouffe du midi...etc.
  • Moins de fatigue. Possibilité de faire une petite sieste pendant sa pause, pas de transport et on peut même bosser allonger dans son canapé.

Et pour l'employeur, ça veut dire moins de retard ou d’absences à gérer (rien que pendant les grêves...). Moins de frais généraux, moins de conflits internes... Et plus d'efficacité de la part des employés qui peuvent mieux concilier leur vie professionnelle et personnelle.

Couplez à ça, la mouvance BYOD (Bring your own device) qui deviendrait alors SWYOD (Stay with your own device) et c'est la fête !

Maintenant, je pense que tout le monde n'est pas fait pour télétravailler. Certains ont besoin d'être entourés par leurs collègues pour ne pas déprimer et continuer à avoir des interactions sociales. D'autres ont besoin d'être poussés au cul par leur chef pour bosser. Et d'autres doivent être dans un cadre "boulot" pour ne pas sombrer sur Facebook ou s'endormir devant une série. Mais pour ceux qui ont un caractère plutôt indépendant, qui sont autonomes et suffisamment sérieux pour remplir leur part du contrat et leurs objectifs, je pense qu'il est urgent de leur proposer une option télétravail.

D'ailleurs, en ce qui concerne les interactions sociales, une solution équivalente à Twitter pour discuter entre employés (ou un Skype), est, je pense, l'idéal aussi bien pour bosser que pour blaguer entre collègues comme si on était à côté de la machine à café.

D'une manière générale, j'ai pu observer que les gens sont sérieux quand ils bossent. Ils veulent bien faire leur boulot et s'ils sont motivés, pas stressés et s'ils se sentent appréciés, ils ne comptent pas leurs heures. Faites confiance à vos collaborateurs et à leur intelligence. Les tire-au-flan sont en réalité peu nombreux et ne feront pas illusion très longtemps même en "travaillant" de chez eux.

Avec les outils que nous avons maintenant... Les ordis, les téléphones portables, le haut débit, la VoIP, les emails...etc., il n'y a rien qui peut faire barrage à la transformation d'un emploi de bureau traditionnel en emploi télétravaillé. Alors amis employeurs, si vous me lisez, je vous en conjure... Prenez un peu de temps pour vous poser la question et si la réponse est positive, proposez cette option à vos employés. Des milliers de personnes (dont moi) travaillent déjà depuis chez eux et globalement, les retours sont très positifs à tous les niveaux.

Il n'est pas forcé que ce soit un temps plein télétravaillé... Vous pouvez commencer avec 1 ou 2 jours par semaine. Je suis certains que vous ferez des heureux et que la qualité du travail sera au rendez-vous. Encore plus fort, vous aurez ainsi contribué à rendre le monde meilleur en soulageant les trains, les routes, la pollution, le stress et les dépenses de notre société.

Pour compléter cette réflexion, je vous invite à lire les 2 articles suivants :

Et en bonus (Merci à VZepplin) :

08 May 18:27

Google sait identifier les "phrases problématiques" dans un e-mail

Il y a trois ans, le 24 avril 2010, une commission d'enquête du Sénat des Etats-Unis publiait une liste d'e-mails internes de Goldman Sachs pour démontrer la responsabilité active de la banque dans la crise des subprimes. Selon les sénateurs, les messages découverts montraient que "trop souvent", la banque "pariait contre les instruments qu'ils vendaient et en tiraient profit au détriment de leurs clients".

De même dans l'affaire Enron, un corpus de 600 000 emails avait pu être exploité par la commission de régulation de l'énergie pour montrer comment l'entreprise avait maquillé ses comptes pour cacher ses opérations spéculatives déficitaires sur le marché de l'énergie. Dans un tout autre domaine, nous avions vu aussi comment des e-mails internes de MegaUpload avaient permis au procureur de monter un lourd dossier contre Kim Dotcom et ses associés, en montrant notamment que MegaUpload rémunérait certains pirates en toute connaissance de cause. C'est déjà grâce aux e-mails que Grokster et Kazaa avaient pu être condamnés

Alors que des discussions sensibles pouvaient avoir lieu avant devant la machine à café ou au téléphone, le règne des e-mails et des messageries instantanées a la conséquence fâcheuse de laisser des traces. Mais heureusement, Google a la solution !

La firme de Mountain View a obtenu la semaine dernière un brevet sur un système visant à "identifier les phrases problématiques dans un document électronique, tel qu'un e-mail". La méthode consiste à "détecter le contexte du document électronique, capturer une phrase textuelle entrée par l'utilisateur, comparer la phrase textuelle à une base de données de phrases précédemment identifiées comme ayant des implications juridiques ou violant la politique (de l'entreprise), et alerter l'utilisateur à travers une notification en ligne lorsque la phrase textuelle correspond à une phrase dans la base de données", le tout "basé sur le contexte détecté du document électronique". Par exemple, le contexte ne sera pas le même si le courrier est destiné à un collègue, ou à une personne extérieure. De même, si le document problématique est détecté comme étant une présentation Powerpoint destinée à la communication externe, l'alerte sera plus forte.

Il s'agit, en somme, d'une mise en oeuvre à plus grande échelle de la technologie déjà déployée dans Gmail pour avertir l'utilisateur lorsqu'il prévient son destinataire qu'une pièce-jointe est attachée au courrier, alors qu'il a oublié de le faire. 

Outre les risques juridiques externes, la méthode vise également (voire surtout) à protéger les secrets de l'entreprise, en évitant que des données confidentielles ne puissent fuiter, accidentellement ou non. La quasi totalité des exemples donnés par Google concernent ainsi la détection de fuites sur des produits à venir.

08 May 18:27

Un Internet quantique fonctionnerait depuis 2 ans et demi

La sécurisation parfaite des échanges de données peut-elle exister ? Oui, si l'on en croit les promesses de la cryptographie quantique, basée sur des propriétés physiques qui font qu'à la lecture du message transmis par photons, ce message est immédiatement modifié. Il est ainsi possible de transmettre une clé de chiffrement secrète, aléatoire, entre deux systèmes distants, en assurant sa sécurisation. Ou en tout cas, en s'assurant d'avoir une preuve de la compromission, si elle est réalisée.

La technologie intéresse beaucoup les banques, l'armée et d'autres organisations qui sont en recherche perpétuelle de sécurité parfaite dans la transmission de leurs communications.

Mais appliquée à Internet, la cryptographie quantique a une limite de taille. Il n'est en effet possible d'assurer l'intégrité de la clé transmise que d'un point A à un point B, puisque le fait de relayer un message vers un point C obligerait à lire ce message pour le copier, et donc à le modifier. Physiquement, la contrainte oblige aussi à limiter les transmissions à quelques dizaines de kilomètres au mieux.

Mais Technology Review rapporte que des chercheurs du Los Alamos National Labs, dans le Nouveau Mexique, ont mis au point une solution de routage quantique peu coûteuse, qui assure la sécurisation d'une information de n'importe quel point d'un réseau vers un autre. Elle fonctionnerait dans leur laboratoire depuis deux ans et demi.

Le système est néanmoins très loin d'un Internet rigide tel que l'ont imaginé les créateurs d'Arpanet. En effet, le système repose sur un hub centralisé, qui est le seul capable de lire les photons des messages quantiques. Par souci d'économie, chaque noeud du réseau peut envoyer une clé sécurisée (un "masque jetable", qui ne sera utilisé qu'une fois) grâce à des transmetteurs quantiques, mais seul le hub est équipé d'un détecteur de photons. Ainsi, même si chaque noeud peut communiquer avec un autre, il faut toujours passer par un point centralisé. Il doit être néanmoins possible de multiplier ces noeuds, plus coûteux, pour assurer un minimum de résilience au réseau.

Selon Technology Review, les chercheurs ont déjà mis au point un module d'émission des photons de la taille d'une boîte d'allumettes, et prévoient de le réduire encore. Il pourra alors être installé dans tous les équipements reliés à des fibres optiques, comme les routeurs des FAI, ou même les TV connectées.

08 May 18:25

Comment Alcatel-Lucent augmente les débits d’Internet – 2

by Olivier Ezratty
Après un interlude de quelques semaines, reprenons le fil de cette petit visite aux limites du possible dans la fibre optique que j’avais démarrée ici. Nous avions fait un tour d’horizon des potentialités techniques des communications à ultra-haut débit en fibre optique et découvert comment on franchissait les barrières de fréquence d’horloge des composants électroniques […]
08 May 18:24

Comment Alcatel-Lucent augmente les débits d’Internet – 1

by Olivier Ezratty
Entre février et mars 2013, j’ai eu l’occasion de visiter deux laboratoires de recherche Bell Labs d’Alcatel-Lucent en France : celui de Villarceaux et celui de Marcoussis. Ils m’ont permis à la fois de voir comment fonctionnaient certaines équipes de recherche et leurs liens avec le monde extérieur, mais surtout de découvrir les technologies généralement […]
08 May 18:21

Les incroyables promesses de la médecine régénératrice

by Pierre Barthélémy
Tout a commencé avec Rocky. Non pas le boxeur de cinéma incarné par Sylvester Stallone, mais un chien qui portait le même nom et qui, au fond, s'est lui aussi vu offrir une deuxième chance. Nous sommes à la fin … Continuer la lecture →
08 May 18:21

Aux Etats-Unis, les Républicains veulent tenir la science en laisse

by Pierre Barthélémy
L'homme sur la photo ci-dessus s'appelle Lamar Smith. Et depuis quelques semaines, ce Républicain, qui préside depuis 2012 le Comité sur la science, l'espace et la technologie de la Chambre des représentants (où les Républicains sont majoritaires) inquiète le monde … Continuer la lecture →
08 May 18:14

L’avenir selon Google : si vous n’êtes pas connecté, vous êtes suspect

by Pierre Haski
08 May 14:55

This is An Actual 4th Grade Science Test From a School in South Carolina

by Georgie

Uuuuuhhhh… so this is an actual science test.

 

 

These kids are a portion of the future of America…

 

 

Someone needs to teach these kids that dinosaurs did exist.  AND this is totally how they became extinct, duh…

 

 

The post This is An Actual 4th Grade Science Test From a School in South Carolina appeared first on POPHANGOVER.

08 May 13:57

Read These “Middle Class Problems” Tweets Dramatically, in a British Accent

by Georgie

Today was just another Monday, until I came across these “Middle Class Problems” tweets, and started reading them outloud, very dramatically, in a British accent.  And that’s when my Monday, became a FUN DAY…

 

 

The post Read These “Middle Class Problems” Tweets Dramatically, in a British Accent appeared first on POPHANGOVER.

08 May 13:50

Testing interface on Internet Explorer

by sharhalakis

by Gian