23Fermer25
squale92Le 07/01/2009 à 19:38
Nil (./12) :
Je connais mcrypt (je l'utilise pour générer mes mots de passes SSHA1), mais je pensais que les chiffrements proposés étaient unidirectionnels ?!

de mémoire, tu as des algos de hash (genre md5) et des algos de cryptage/décryptage (genre 3DSA)
Nil (./17) :
D'ailleurs, à ce propos, est-ce qu'il y a des normalisations au niveau des dossiers utilisés pour le stockage de fichiers de configuration pour une appli web de façon privée ? Est-ce que ça va dans /var/monappli/, /var/www/monappli/, /etc/monappli/ ?

rien de normalisé de manière générale (quand il y a des conventions / habitudes, c'est plus lié à un Framework, en général, qu'à PHP lui-même qui te laisse libre)
Mais deux règles générales :
- mettre le fichier en dehors de l'arborescence web
- lui mettre une extension qui fasse qu'il ne soit pas rendu tel-quel par le serveur (surtout si le premier point n'est pas possible) ; genre pour un fichier php, ne pas utiliser ".php.inc", mais ".php" pour que si quelqu'un appelle le fichier, il n'ait pas les sources
Nil (./18) :
Ou est-ce qu'il n'y a que moi qui déclare mes interfaces en PHP avant d'implémenter ?

Tu n'es pas le seul ^^
Nil (./18) :
je ne vois pas de normalisation pour documenter les interfaces

Aucune idée de ce que dit (ou non) phpdoc à ce niveau.
A tout hasard, voici un exemple issu des sources de Doctrine :
/**
 * This adapter interface should be implemented by all custom adapters
 *
 * @author      Konsta Vesterinen <kvesteri@cc.hut.fi>
 * @license     http://www.opensource.org/licenses/lgpl-license.php LGPL
 * @package     Doctrine
 * @subpackage  Adapter
 * @link        www.phpdoctrine.org
 * @since       1.0
 * @version     $Revision: 4164 $
 */
interface Doctrine_Adapter_Interface


Et un autre, issus des sources de zend framework :
 * @category   Zend
 * @package    Zend_Acl
 * @copyright  Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
 * @license    http://framework.zend.com/license/new-bsd     New BSD License
 */
interface Zend_Acl_Assert_Interface
{
    /**
     * Returns true if and only if the assertion conditions are met
     *
     * This method is passed the ACL, Role, Resource, and privilege to which the authorization query applies. If the
     * $role, $resource, or $privilege parameters are null, it means that the query applies to all Roles, Resources, or
     * privileges, respectively.
     *
     * @param  Zend_Acl                    $acl
     * @param  Zend_Acl_Role_Interface     $role
     * @param  Zend_Acl_Resource_Interface $resource
     * @param  string                      $privilege
     * @return boolean
     */
    public function assert(Zend_Acl $acl, Zend_Acl_Role_Interface $role = null, Zend_Acl_Resource_Interface $resource = null,
                           $privilege = null);
}


En gros, ça reste proche d'une classe non interface ^^
Flanker (./21) :
y a pas généralement un /www-data qui sert à ça ?

pas que je sache (ce n'est pas une norme / convention que j'aie déjà entendu, en tout cas)
des fois, tu as un /var/htdocs ou /var/www mais c'est généralement dans /var, par défaut
après, tu mets bien ça où tu veux ^^

kim (./23) :
SQLite ça gère pas les accès concurrents

Il n'y a pas un lock en écriture niveau fichier ?
(donc lock de toute la DB lorsqu'une personne essaye d'écrire)
=> Cf http://sqlite.org/faq.html#q5
Pour un extrait :
Multiple processes can have the same database open at the same time. Multiple processes can be doing a SELECT at the same time. But only one process can be making changes to the database at any moment in time, however.