BeComWeb Posted November 23, 2016 Share Posted November 23, 2016 Bonjour à tous, Voilà ma demande. Je travaille actuellement sur un module qui permettra de se connecter à une base de données externe (celle d'un CRM, qui ne dispose pas d'API / Webservice malheureusement). Ce module sera en vente sur le store. J'ai fait quelques recherches et il semblerait que la classe Db ne puisse fonctionner qu'avec les serveurs de base de données déclarés dans les fichiers de config (je pense notamment au serveur esclave). S'agissant d'un module devant être à la portée de n'importe quel utilisateur, je ne peux pas me permettre de dire "Connectez vous au FTP et éditez un fichier de config à la main". La solution serait donc d'utiliser les outils natifs de PHP pour communiquer avec une base de données (PDO, mysqli, mysql). Le problème c'est que j'ai peur que mon module soit rejeté par l'équipe de validation technique pour des raisons de sécurité et/ou de non-respect des standards. Est ce que certains d'entre vous auraient une expérience avec ce type de problématique ? Merci d'avance pour vos réponses Link to comment Share on other sites More sharing options...
Eolia Posted November 23, 2016 Share Posted November 23, 2016 Qu'est ce qui vous empêche dans la configuration de votre module de rentrer les informations nécessaire pour se connecter à la base de données externe ? Ensuite, vous n'êtes pas obligé d'utiliser les fonctions Prestashop de connexion à cette base de données, utilisez votre propre classe PDO^^ Link to comment Share on other sites More sharing options...
BeComWeb Posted November 24, 2016 Author Share Posted November 24, 2016 @Eolia : j'ai dû mal m'expliquer. Je ne posais pas la question du "Comment faire techniquement", ma crainte c'est de bosser des heures pour que finalement le module soit rejeté par la team de validation technique au motif que pour se connecter à une base de données dans Prestashop il faudrait impérativement utiliser la classe Db. Link to comment Share on other sites More sharing options...
Eolia Posted November 24, 2016 Share Posted November 24, 2016 A ma connaissance Addons n'a jamais interdit ça ? Sont interdites les fonctions de cryptage base64, les liens vers votre shop, mais pour le reste vous utilisez les fonctions que vous voulez. La connexion à une bdd externe n'est pas une faille de sécurité. Après, vous pouvez utiliser un appel vers un web service sur l'autre serveur qui, lui, effectuera l'appel à la base de données. Perso je ne suis pas pour ouvrir les accès bdd à l'extérieur (risque d'intrusion supplémentaire), surtout que sur les mutus, c'est souvent interdit... Link to comment Share on other sites More sharing options...
BeComWeb Posted November 24, 2016 Author Share Posted November 24, 2016 A ma connaissance Addons n'a jamais interdit ça ? Sont interdites les fonctions de cryptage base64, les liens vers votre shop, mais pour le reste vous utilisez les fonctions que vous voulez. La connexion à une bdd externe n'est pas une faille de sécurité. Après, vous pouvez utiliser un appel vers un web service sur l'autre serveur qui, lui, effectuera l'appel à la base de données. Perso je ne suis pas pour ouvrir les accès bdd à l'extérieur (risque d'intrusion supplémentaire), surtout que sur les mutus, c'est souvent interdit... Le validateur de module est quand même un peu plus strict que ça. Je ne me souviens plus de l'exemple précis mais j'avais eu un rejet sur une fonction très basique de PHP (strlen(), empty(), substr(),...) qu'il ne fallait pas utiliser parce qu'elle avait une méthode équivalente dans la classe Tools. Quand tu connais le temps d'attente que demande la validation d'un module et que la moindre erreur ou le moindre oubli te "ramène au début de la queue", tu prends tes précautions Et comme tu le dis l'accès à une base de données externe ajoute un risque d'intrusion. Une raison supplémentaire pour que Prestashop rejette le module. Et malheureusement, comme indiqué dans mon 1er message, pas de webservice. En tout cas merci pour ton retour Eolia, j'attendais l'avis d'un dev expérimenté sur le sujet, c'est ce que tu m'as donné . Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now