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#q5Pour 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.