• # Fête du slip

    Posté par (site web personnel, Mastodon) . En réponse à la dépêche Première beta de POCHE 1.0 disponible. Évalué à 10.

    Bon, comme d'habitude, je suis allé regarder le code source. Et je n'ai pas été déçu. je ne vais m'étendre sur l'usage du français et des caractères UTF-8, l'ami Nicolas semble joueur.

    Utilisation de données externes sans contrôle :

    <?php return $protocol . "://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];

    curl_init n'échoue jamais, pas plus que ces petis copains il faut croire ;)

    <?php
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);

    inc/functions.php:60

    <?php
    $httpcodeOK = isset($httpcode) and ($httpcode == 200 or $httpcode == 301);

    Quelque soit la valeur numérique de $httpcode, $httpcodeOK sera vrai. La raison en est la précédence des opérateurs (l'affectation est prioritaire sur les opérateurs 'and' et 'or').
    'and' n'est pas l'équivalent de '&&'.

    J'aime beaucoup le salt public dans inc/config.php

    La classe Store devrait être une interface.

    Je ne comprend pas pourquoi le constructeur du parent (vide en plus) est appelé dans certaines méthodes de la classe SQLite.

    Plus généralement, tu indique dans la documentation :

    You have to protect your db/poche.sqlite file. Modify the virtual host of your website to add this condition

    Déjà, tu considère que tout le monde utilise Apache ou Nginx, ce qui est une erreur. Ensuite, tu t'appuye sur un cache-misère pour éviter un accès direct au fichier de base de données. Une bonne pratique est de fournir un répertoire public, qui est exporté par le serveur web, plutôt que d'exporter tout le répertoire applicatif.

    La regex sur les email est fausse :'( Une bonne pratique est d'utiliser filter_var plutôt que de faire le malin avec une regex pourrie.

    functions.php pourrait avoir un nom un peu plus parlant.

    Allé, j't'ai fait un p'tit Pull Request.