Found 117 bookmarks
Custom sorting
Publications - Livre Blanc Industrialisation PHP
Publications - Livre Blanc Industrialisation PHP

"En près de 15 ans, PHP a conquis la plupart des entreprises. Au début utilisé pour des projets annexes, il est aujourd'hui au cœur du SI.

Les projets se complexifient, les délais se raccourcissent : il est temps d'industrialiser les processus de développement.

Ce Livre Blanc dresse un état de l'art des outils et méthodes qui permettent aujourd'hui d'industrialiser ses développements PHP."

Publications - Livre Blanc Industrialisation PHP
Pinba
Pinba
Pinba is a statistics server for PHP using MySQL as a read-only interface.\nIt accumulates and processes data sent over UDP by multiple PHP processes and displays statistics in a nice human-readable form of simple "reports", also providing read-only interface to the raw data in order to make possible generation of more sophisticated reports.\nWith Pinba extension users also can measure particular parts of the code using timers with arbitrary tags.\nPinba is not a debugging tool in a common sense, since you're not supposed to do debugging on production servers, but its main goal is to help developers to locate bottlenecks in realtime and direct developers' attention to the code that really needs it.
Pinba
: Sniffing refactoring needs
: Sniffing refactoring needs
While still messing around with the PHP_CodeSniffer Pear package, I took a somehow jealous 1000 feet look at some prominent code inspection tools of the Java community: PMD and Checkstyle. Browsing their available rule sets/checks I soon recognized that guaranteeing the coding standard adherence is just a partial aspect of these tools. The following post will focus on one of these additional aspects, which is finding problems related to the code size of the inspected code artifacts, by showing how to port two selected rules to sniffs for utilization with the PHP_CodeSniffer tool. These ported sniffs can be used to automatically spot obvious code smells in the code base and to signal the need to apply the appropriate and odour reducing activity known as refactoring. Further more a complete set of code size sniffs, going beyond the trageted realm of the sniffs to come, could be used to speed up the feedback loop and to reduce the effort for manual code reviews.
: Sniffing refactoring needs
owasp-esapi-php - Google Code
owasp-esapi-php - Google Code
The purpose of the ESAPI is to provide a simple interface that provides all the security functions a developer is likely to need in a clear, consistent, and easy to use way. The ESAPI architecture is very simple, just a collection of classes that encapsulate the key security operations most applications need.
owasp-esapi-php - Google Code
phpro/grumphp: A PHP code-quality tool
phpro/grumphp: A PHP code-quality tool

"Sick and tired of defending code quality over and over again? GrumPHP will do it for you! This composer plugin will register some git hooks in your package repository. When somebody commits changes, GrumPHP will run some tests on the committed code. If the tests fail, you won't be able to commit your changes. This handy tool will not only improve your codebase, it will also teach your co-workers to write better code following the best practices you've determined as a team.

GrumPHP has a set of common tasks built-in. You will be able to use GrumPHP with a minimum of configuration."

phpro/grumphp: A PHP code-quality tool
Greg Sherwood: PHP_CodeSniffer and JavaScript Lint
Greg Sherwood: PHP_CodeSniffer and JavaScript Lint
The new JavaScript tokenizer in PHP_CodeSniffer allows you to write your own custom JS sniffs, but JavaScript Lint already has a set of generic tests that can be applied to your code. Thanks to the JavaScript Lint command line tool, jsl, you can now include JavaScript Lint warnings and errors in your coding standards.
Greg Sherwood: PHP_CodeSniffer and JavaScript Lint
Pxxo - Construire, utiliser et réutiliser des composants graphiques sur le Web
Pxxo - Construire, utiliser et réutiliser des composants graphiques sur le Web

Pxxo sert à créer des composants graphiques (ou widget) qui permettent de construire une page HTML comme une hiérarchie de composants plus simples.

Chaque composant est une micro-application Web pouvant être facilement imbriquée dans une application ou même dans un autre composant.

Au final, cette architecture peut constituer une application complète.

En outre, en proposant un squelette de construction, Pxxo permet d'assurer une homogénéité des traitements et du code source.

Pxxo - Construire, utiliser et réutiliser des composants graphiques sur le Web
sfOpenSocialPlugin - symfony - Trac
sfOpenSocialPlugin - symfony - Trac
The symfony OpenSocial? plugin enables you to create a full-feature OpenSocial? Application using Symfony framework. This plugin gives you a complete PHP5 OO implementation of OpenSocial? JavaScript API( including Gadgets core and feature-specific Gadgets), which makes you're applications robust, scalable and immune to future OpenSocial? versions. This plugin is very flexible taking advantage of both PHP5 ( all the marvelous of object-oriented programming) and the MVC provided by the Symfony framework.
sfOpenSocialPlugin - symfony - Trac
xmpphp - Google Code
xmpphp - Google Code

XMPPHP is the successor to Class.Jabber.PHP that I've been promising for years. Taking advantage of PHP5, I believe it to be an elegant solution with a direct approach.

Some of the features include:

* Connect to any XMPP 1.0 server (Google Talk, LJ Talk, jabber.org, etc)
* Supports TLS encryption
* Several XML processing approaches and supported styles (process indefinitely, processUntil an event, processTime for a number of seconds), waiting on events or map them, etc.
* Persistent connections (AJAX Web client anyone?)
xmpphp - Google Code
Hierarchical caching - Tobias Schlitt - a passion for php
Hierarchical caching - Tobias Schlitt - a passion for php

The new ezcCacheStack class in the eZ Cache component provides an automatic way of realizing this. You simply stack together an arbitrary number of storages. The stack will store every item into all of the stacked caches. You can configure how many items may reside in a storage. A replacement strategy class takes care about purging a certain number items in case a storage runs full. On restore, the stack will fetch the desired item from the topmost cache it is still stored in.

Replacement strategies shipped with the eZ Cache component provide you with 2 well-known cache algorithms: Least Recently Used (LRU) and Least Frequently Used (LFU).

Hierarchical caching - Tobias Schlitt - a passion for php
Christophe Le Bot » Configurer Xdebug pour Eclipse PDT en utilisant un serveur de test distant
Christophe Le Bot » Configurer Xdebug pour Eclipse PDT en utilisant un serveur de test distant
Je vais prendre l’exemple d’une application web PHP développée avec Eclipse et son extension PDT (PHP Development Tools), en utilisant Xdebug comme debugger. Cela n’a rien d’original, des milliers de développeurs PHP utilisent cette configuration, mais je vais sortir des sentiers battus pour traiter un cas plus délicat, mais plus courant en entreprise : comment utiliser xdebug sous Eclipse quand mon serveur web de test n’est pas mon poste de travail, mais un serveur distant
Christophe Le Bot » Configurer Xdebug pour Eclipse PDT en utilisant un serveur de test distant
Shindig - an Apache incubator project for OpenSocial and gadgets
Shindig - an Apache incubator project for OpenSocial and gadgets

Shindig is a new project in the Apache Software Foundation incubator and is an open source implementation of the OpenSocial specification and gadgets specification.

The architectural components of Shindig can be broken down as follows:

* Gadget Container JavaScript -- core JavaScript foundation for general gadget functionality. This JavaScript manages security, communication, UI layout, and feature extensions, such as the OpenSocial API.
* Gadget Server -- used to render the gadget XML into JavaScript and HTML for the container to expose via the container JavaScript.
* OpenSocial Container JavaScript -- JavaScript environment that sits on top of the Gadget Container JavaScript and provides OpenSocial specific functionality (profiles, friends, activities, datastore).
* OpenSocial Data Server -- an implementation of the server interface to container-specific information, including the OpenSocial REST APIs, with clear extension points so others can connect it to their own backends.
Shindig - an Apache incubator project for OpenSocial and gadgets
jaxl - Google Code
jaxl - Google Code

JAXL stands for "Jabber XMPP Library". For fun, JAXL stands for "Just Another XMPP Library". JAXL is written in PHP.

This library currently supports following features:

* Connect to a Jabber Server (e.g. Gtalk)
* TLS Encryption
* DIGEST-MD5 and PLAIN authentication mechanisms
* Roster Support
jaxl - Google Code