Don't wanna be here? Send us removal request.
Text
Vider un dossier en PHP
J'utilise ce script pour vider un dossier rapidement. C'est pratique quand on a seulement un accès FTP et qu'on doit démarrer un nouveau projet.
Il faut le déposer dans le dossier à vider, le lancer avec le navigateur et tout est supprimé.
https://gist.github.com/Shagshag/5db8dd200fe1c36a555ff8a8e67dc981
0 notes
Text
Migrer un site Wordpress
Comment changer un site Wordpress de serveur en 3 étapes:
Malgrès moi je fait de plus en plus de Wordpress. Donc je note ça pour plus tard.
Il faut être sur le serveur source dans le dossier du site. On suppose que le site sera dans le dossier www du serveur de destination
Copier les fichiers sur le nouveau serveur
rsync -avz ./ [login serveur destination]@[hote du serveur destination]:www/
Copier la base de données
mysqldump -u [utilisateur bdd source] -p[mot de passe bdd source] -h [hote bdd source] [nom bdd source] | sed 's/[domaine source]/[domaine destination]/g' | gzip | ssh [login serveur destination]@[hote du serveur destination] "gunzip | mysql -u [utilisateur bdd destination] -p[mot de passe bdd destination] -h [hote bdd destination] [nom bdd destination]"
Explication :
mysqldump -u [utilisateur bdd source] -p[mot de passe bdd source] -h [hote bdd source] [nom bdd source] fait une extration de la base de données
sed 's/[domaine source]/[domaine destination]/g' remplace le nom de domaine dans l'archive
gzip compresse le résultat
ssh [login serveur destination]@[hote du serveur destination] "gunzip | mysql -u [utilisateur bdd destination] -p[mot de passe bdd destination] -h [hote bdd destination] [nom bdd destination]" envoit le tout sur le serveur de destination et lui fait executer gunzip | mysql -u [utilisateur bdd destination] -p[mot de passe bdd destination] -h [hote bdd destination] [nom bdd destination]
gunzip décompresse l'archive
mysql -u [utilisateur bdd destination] -p[mot de passe bdd destination] -h [hote bdd destination] [nom bdd destination] l'importe dans la nouvelle base de données
Paramétrer le nouveau site :
Il faut modifier le fichier wp-config.php avec les identifiants de la nouvelle base de données.
0 notes
Text
Wordpress netinstall
Ce script permet d'installer WordPress sans avoir à télécharger l'archive, la décompresser et la déposer sur un serveur.
Il suffit de déposer le script dans le dossier où vous voulez installer WordPress et d'aller le visiter avec votre navigateur.
https://gist.github.com/Shagshag/18047f3fb9cb9ee86e8496c26337722f
1 note
·
View note
Text
Supprimer une boutique PrestaShop
Voici un script qui supprime une boutique PrestaShop. Il suffit de le placer à la racine de sa boutique en FTP ou autre et de le visiter avec son navigateur.
⚠ Le script supprime le répertoire de PrestaShop avec tous ses fichiers et sous répertoires et toutes les tables de la base de données qui ont le préfix de PrestaShop.
⚠⚠ Le script ne demande pas de confirmation. Vous le lancez, il supprime tout.
https://gist.github.com/Shagshag/4cf2bb1d7f4200409cf47dbdc33275ad
0 notes
Text
Remplacer les é dans une table SQL
Je garde ça ici parce que ça arrive mais pas suffisamment souvent pour que je m'en souvienne d'une fois sur l'autre.
Si dans votre table des champs ressemblent à "Très bon produit .J'en suis très satisfaite" c'est qu'il y a eu un soucis à un moment. Un import foireux, un script buggué peu importe.
Pour corriger ça il suffit de lancer les requêtes suivants :
https://gist.github.com/Shagshag/018da62b616ed66362b13d9794070b91
"table" et "field" sont à remplacer bien sûr.
0 notes
Text
Exécuter un script PrestaShop en ligne de commande
Le plus propre pour lancer un script prestashop en ligne de commande est de créer un controller pour ça.
Pour l'appeler voici la syntaxe :
php -f [dossier de la boutique]index.php "fc=module&module=[nom du module]&controller=[nom du controller]"
Soit dans mon cas
php -f /var/www/index.php "fc=module&module=backupdatabase&controller=cron"
Ensuite le code du controller
https://gist.github.com/Shagshag/34b4e434e4ef70770568cfdd8d68b20d
0 notes
Text
Module Prestashop : notFound.org
Faites un meilleur usage de votre page 404. Au sein de l’Union Européenne, des milliers d’enfants sont portés disparus chaque année. Ensemble, multiplions les chances de les retrouver ! Installez ce module et la photo d’un enfant disparu apparaîtra automatiquement sur chaque « page non trouvée » de votre boutique Prestashop. Ce module gratuit peut être téléchargé depuis Prestatoolsbox.fr
0 notes
Text
Créer un accès temporaire à l’administration de Prestashop
En cas de support, il est souvent nécessaire de permettre à une personne extérieure d'accéder temporairement au panneau d'administration de Prestashop.
Création du profil employé
Pour cela il faut tout d’abord créer un profil pour ce type d’accès.
Aller dans Administration > Profils.
Le bouton "Créer" vous amène au formulaire de création de profil.
Choisissez par exemple “Support” comme nom de profil.
Définition des droits
Aller dans Administration > Permissions.
Dans la 1ère colonne choisissez le profil nouvellement créé (Support) et dans les autres colonnes les pages et modules auxquels il a accès.
Concernant les modules, si vous donnez l’accès à la configuration d’un ou plusieurs modules, il faut aussi donner accès à la page Modules.
Création du compte employé
Il faut aller dans Administration > Employées.
Le bouton "Créer" vous amène au formulaire de création d'employé.
Vous pouvez utiliser une adresse e-mail en example.org. ce nom de domaine est fait pour les adresses de démonstration. Par exemple [email protected].
Choisissez le profil de permission nouvellement créé.
Envoi des informations d’accès
Pour accéder au panneau d’administration la personne extérieure a besoin de :
L’adresse de votre panneau d’administration
L’adresse e-mail de connexion
Le mot de passe
Désactivation du compte
Il ne faut pas oublier de désactiver le compte employé après l’intervention.
Aller dans Administration > Employées et sélectionnez le compte. Passez l’état à Non et enregistrez.
Vous pourrez réactiver le compte pour un prochain usage. N’oubliez pas de changer le mot de passe.
0 notes
Text
La mauvaise foi du sécuritaire chez Prestashop
Je suis déçu par Prestashop :-(
Les erreurs de jeunesse que la solution traîne comme des boulets, je comprend.
Les bugs (d'arrondi) gros comme le monde qui durent depuis la version 1, je tolère.
Les publicités de plus en plus présentes et agressives dans le panneau d'administration, je n'aime pas mais je comprend
mais là c'est moche, d'une mauvaise foi évidente et joue sur la peur de ses clients au détriment de ses (anciens ou futurs anciens) partenaires.
Note : J'aime Prestashop et Prestashop Addons c'est un beau projet, une belle plateforme que je suis depuis le début. Ils me font vivre et je leur rend pas assez. Mais il y a des comportements qui me sortent par les yeux.
Donc que ce passe-t-il ?
Depuis la version 1.6.0.9 (dernière à ce jour) si on veut installer un module non présent sur Prestashop Addons, un gros (GROS) message s'affiche avec des couleurs alarmantes, un bouton de validation rouge et un message qui fait trembler :
Le module "XXX" n'a pas pu être identifié en toute sécurité par PrestaShop.
Ceci se produit généralement lorsque le module n'est pas distribué via notre place de marché officielle PrestaShop Addons, ou quand votre serveur n'arrive pas à communiquer avec PrestaShop Addons.
Comme vous n'avez pas téléchargé le module depuis PrestaShop Addons nous ne pouvons pas certifier qu'il est conforme à nos exigences de sécurité (notamment, nous ne pouvons pas certifier qu'il n'ajoute pas de fonctionnalités cachées comme un cheval de troie, des publicités, des liens cachés, du spam, etc.). Vous l'utilisez à vos propres risques.
blablabla peur blablabla vous avez eu tord blablabla Achetez chez nous
Image prise chez webbax qui parle du même sujet : http://www.webbax.ch/2014/08/27/prestashop-alerte-module-non-verifie/
Le message est (presque) vrai, on ne peut rien en dire sauf qu'il est d'une mauvaise foi dégoulinante. Un peu comme quand vous cliquez sur un lien externe sur Facebook : "Attention, vous allez dans le côté obscur du web, là où les pédonazies mangent des chatons en fumant dans les halls de gare. Vous feriez mieux de rester chez nous."
Pourquoi est-ce de la mauvaise foi ?
Un module malveillant n'attendra pas d'être installé pour faire ses petites affaires. Si vraiment il a besoin d'être installé il peut le faire sans vous. A partir du moment ou il s'affiche dans la liste des modules c'est mort. Donc si vraiment le module est vilain ce message ne sert à rien.
Contourner l'affichage de ce message est trivial. Dans pas longtemps les modules honnêtes mais non présents sur Addons le feront pour ne pas effrayer les commerçants.
Le but n'est pas de protéger le commerçant (cf 1) mais de rediriger vers Addons, C'est évident, c'est moche c'est crade. On accuse le commerçant ( "Comme vous n'avez pas téléchargé" ) de mal agir et que tout sera sa faute ( "Vous l'utilisez à vos propres risques." ) après l'avoir bardé de mots qui font peur. Ensuite plus sereinement on explique qu'un module similaire existe surement sur Addons et qu'on peut revenir à la sécurité (ouf)
Quel est le vrai but ?
Vendre des modules c'est évident mais pas que.
Supprimer les modules gratuits indépendants. Avez vous remarqué qu'il y a de moins en moins de modules gratuits sur Addons ? ça fait un moment qu'on ne peut plus en ajouter mais les anciens restaient. Pourtant récemment deux des miens ont été effacés car "Pas assez de ventes" (héhéhé). Donc les modules gratuits ne sont plus validés par Addons et auront tous ce message. Mais pas d'inquiétude un payant existe surement sur Addons
Supprimer la concurrence et faire plaisir aux partenaires. Il y a plein de boutiques de modules indépendantes et quelques autres places de marché dédiées. Evidemment le message apparaîtra si leurs modules ne sont pas sur Addons. Mais pourquoi ? Par exemple il est impossible de déposer sur Addons un module de paiement (Crédit Agricole, LCL...) Prestashop a déjà les siens ou un module similaire à un de leurs partenaires (qui payent pour être mis en avant sur Addons). Mais des modules de paiements indépendant il y en a plein (et même des gratuits) et ça c'est pas bon pour les affaires.
Conclusion
Je comprend tout à fait la position de Prestashop et d'Addons.
Addons est ce qui rapporte des sous à Prestashop. Il faut le mettre en avant. La solution gratuite n'est (commercialement parlant) qu'un appel à l'achat sur la plateforme. Pas de problème avec ça. Tuer la concurrence, c'est du commerce. Oui oui ok. Les partenaires veulent un retour sur l'investissement, les vrais clients c'est eux. Normal.
Mais jouer sur la peur des commerçants, et en plus trop tard, quand même c'est crade. A côté de ça les pubs cachées de "Expertise Prestashop" passent pour des enfantillages.
Prestashop tu vaux mieux que ça.
P.S. un cheval de Troie (majuscule, c'est une ville) n'est pas une fonction cachée mais un camouflage, le module peut être un cheval de Troie mais pas en cacher un. Mais bon fallait placer des mots qui parlent aux gens et qui font peur. "Tremmmblez devant les liens cachés, bhooooo"
0 notes
Text
Dur de trouver un éditeur Markdown
J'ai récemment décidé d'utiliser Bitbucket pour gérer mes projets.
Je l'utilisai déjà comme dépôt Mercurial pour quelques modules Prestashop histoire d'avoir une sauvegarde (en plus) mais l'offre gratuite de Bitbucket propose aussi un wiki et un gestionnaire de bug qui sont accessibles même si le dépôt est privé.
J'ai déjà un wiki global pour la documentation de mes modules mais il est super lourd et les seuls personnes qui l'éditent sont moi et les bots de spam. De plus les wikis de Bitbucket sont des dépôts Mercurial, donc je peux les modifier hors ligne et synchroniser quand c'est bon.
C'est là que ça bloque. J'ai passé des heures à chercher un éditeur bureau Markdown (l'un des formats supportés par le wiki) correct.
J'aurais voulu un éditeur qui :
Affiche un aperçu formaté
Affiche les images
Permet d'ouvrir les pages liées comme sur un wiki
Pour le 3 aucun éditeurs ne le fait :-(
J'ai essayé :
MarkdownPad
Les moins :
Ne gère pas les images locales.
MarkPad
Les moins :
L'éditeur et l'aperçu ne sont pas synchronisés et surtout dès qu'on fait défiler l'éditeur, l'aperçu se remet au début du document. Ingérable.
MdCharm
Les plus :
Gère les projets (dossiers avec plusieurs fichiers dedans)
Les moins :
L'affichage des images locales bug dans les projets
ReText
Les moins :
Installation très longue car il a fallut installer Python et toutes les dépendances.
Ne gère pas l'UTF-8 ?? ou je n'ai pas trouvé comment.
Haroopad
Mon préféré pour l'instant
Les plus :
Interface propre et bien pensée
Permet d'envoyer le texte par e-mail. Pratique pour Tumblr
Les moins :
Pas d'onglet, c'est moins facile pour s'y retrouver
Conclusion
Pour l'instant j'utilise Haroopad même s'il ne fait pas tout ce que je voulais.
0 notes
Text
Qu'est ce que ce fichier "signature.asc" que vous m'avez envoyé ?
Depuis quelque temps, tous les e-mails que j’envoie sont accompagnés d'un fichier "signature.asc". Il s'agit d'un fichier qui prouve que le message que vous avez reçu est le même que celui que je vous ai envoyé.
Pourquoi faire ?
Signer un e-mail permet de le dater, de vérifier son émetteur et de s'assurer que son contenu n'a pas été modifié.
Il faut savoir que entre l'émetteur et le destinataire d'un email, celui-ci passe par plusieurs ordinateurs qui le lisent tous (pour savoir vers qui l'acheminer par exemple). La possibilité que le message soit modifié existe, c'est déjà arrivé :
http://www.demainlemail.com/2013/03/censure-des-mails-par-apple-quelle-legitimite/
http://www.atlantico.fr/decryptage/quand-google-veut-censurer-vos-mails-phrases-problematiques-et-denonciation-automatique-quels-risques-pour-libertes-individuelle-724183.html
Qu'est ce que vous devez faire ?
Rien si vous vous en fichez. C'est un truc de parano.
Par contre si votre vie privée vous tient à cœur et que vous n'avez pas confiance en vos intermédiaires (cf ci-dessus) vous pouvez vérifier l'intégrité du message reçu.
Le plus simple est d'installer Enigmail sur Thunderbird ou un dérivé (perso j'utilise PostBox) ou Gpg4Win pour Outlook. Il y en a surement plein d'autre.
Sous Chrome/Firefox Mailvelope
Pour plus d'information sur la signature Gpg : www.gnupg.org
Comment ça marche ?
Lorsque le message est écrit, la signature est générée en fonction de son contenu au moyen de ma clé privée (il n'y a que moi qui peux l'utiliser).
Cette signature peut être lue seulement avec ma clé public (ci-dessous).
Donc :
Si le message reçu est modifié la signature n'est plus valide.
Si l’émetteur n'est pas moi (mais a utilisé mon adresse email) il ne peut pas le signer en mon nom. Si vous recevez un message de ma part non signé, c'est louche.
T'es parano ?
Oui vous devriez aussi.
L'étape suivante est de chiffrer le message. Dans ce cas non seulement le message ne peut être modifié mais il ne peut pas non plus être lu par quelqu'un d'autre que son destinataire. C'est en gros ce qu'on espère quand on envoi un courrier à quelqu'un.
Ce n'est pourtant pas le cas : http://www.framablog.org/index.php/post/2013/12/15/Votre-courrier-gratuit-Schnail-Mail
Cela implique que le destinataire a un moyen de déchiffrer le message. Si c'est votre cas faite le moi savoir.
Ma signature public
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: SKS 1.1.4 Comment: mQENBFKCy3QBCACZ8sgjRxlQuVT44eZYBhkegPg5C2nCBkIZxb976tpaiphixnjY2t7AyfUe 6PUBl72oVX/plvYYb/u2Q4k4zgtPBj0j2kU/VsPf5d+lB78tP94mJl49LSFj0RYZOrPOU/U8 dhQERHrt6pryXr8UlIu6km+Kc22k3IspzYUCBi5VpsAt6qBI4RN+LTpsjY6te3LgXaBu1Fk1 W9ueKTPD2QTveCtboY5z3mAQ4KM73DhUNrerR8EF19DKnP2Om1vLC0pmQjV+Ocdr+Jc/IoI0 UKdUBdq73ywQmcdQ3QpJoUV/0hs0Tqv989w9cgMaTxEbwNbSw2+v/kpNeRg3iAXCm/m3ABEB AAG0Ikdlb3JnZXMgQ3ViYXMgPGNvbnRhY3RAc2FtZGhhLm5ldD6JATkEEwECACMFAlKCy3QC Gw8HCwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRD0zeRuGknGWaQIB/427qn22Om+vNdu RlG1rzmwYi67j+InoAQiNCwQvzWGZzQhTNAgRFlCWw6KU7Z8BQCar3/mxXbC3RiUiq39mpz9 pWOpOjaxEPp1ZetdQSln5KYLe0iMSTUEg7jY65GH6BpXRhufs/4oKadP01eDRY12gRj7KwkG S8Py7q4r5KMhS8tBW24V1kLGEUTbismAoA1RXLQBrArCHxE58l6tXGjehs90dpoUWEhpj78r EfkNN1cucPPTEkh8t8o6N7MgN/5Uomu38wSj0RamVulTYPdnkJAYJLyKXTX1CUDA8Sidgj3q zMWdTymLKooU5ioJ7iuLOvTdXp63ZqUZWDcTNtoQ =adHF -----END PGP PUBLIC KEY BLOCK-----
que vous pouvez retrouvez ici : http://pgp.mit.edu/pks/lookup?op=get&search=0xF4CDE46E1A49C659
0 notes
Text
Un souhait pour Prestashop 2
Prestashop 2 est prévue pour [bientôt](http://www.journaldunet.com/solutions/saas-logiciel/prestashop-bilan-2012-et-perspectives-2013.shtml) ou [pas](http://www.prestashop.com/forums/index.php?/topic/234017-prestashop-20-info-ou-intox/page__view__findpost__p__1152344), quoi qu'il en soit il y a un truc qu'il faudra absolument améliorer, c'est le système de messages utilisateur (erreur, confirmation, alerte). Actuellement ça se passe ainsi : 1. On clique sur un lien d'action. par exemple http://...?send_mail&id_client=42 pour envoyer un mail à un client 2. on arrive sur la page qui fait l'action (page d'action) 3. si ça marche, on est redirigé sur une page qui affiche une confirmation http://...?conf=33 conf étant l'id du message de confirmation 4. si ça échoue, on reste sur la page et on affiche les erreurs. La redirection est importante car si on restait sur la page d'action, il suffirait de la recharger pour exécuter de nouveau l'action ou de laisser l'onglet ouvert avant de fermer le navigateur. Pour un mail c'est pas trop grave, pour une suppression plus. Donc tant que qu'il n'y a pas d'erreur ça marche (bin oui) mais sinon on reste sur la page d'action et c'est mal. Vous allez dire que c'est pas grave puisque ça marche pas, il n'y a pas de risque que le mail soit envoyé si je recharge la page et si ça marche bin c'est cool c'est ce que je voulais. Non. déjà ça peut être une erreur temporaire donc ça peut très bien fonctionner la seconde fois. Ensuite on ne sait pas à quel moment ça a échoué. Si il fallait supprimer une commande puis envoyer un mail au client en rechargeant la page vous pouvez supprimer 3 commandes et à chaque fois ne pas réussir à envoyer les mails. Bref le système est bancal. En plus il est très limité : - Il y a un id de message de confirmation donc il y a une liste prédéfinie de message (31 dans la classe AdminControllerCore) donc si vous voulez utiliser une confirmation personnalisée ça devient compliqué. - Vous ne pouvez avoir qu'un seul message. Pour reprendre l'exemple on ne peut pas dire "la commande est supprimée" et "le mail est envoyé" et bien sûr on ne mixe pas ("la commande est supprimée" et "Erreur, le mail n'est pas envoyé") - Si je recharge la page, j'ai de nouveau le message ce qui peut être perturbant et pas joli. Ce qu'il faudrait c'est un vrai gestionnaire de message. Quand quelque chose fait une action il dit "Faudra dire à untel/tout le monde/personne que j'ai fait ça" ou "Faudra dire qu'il y a cet erreur/alerte/information" comme pour un système de log (c'est la même chose en fait). Par exemple (bon là y a des if partout mais c'est l'idée) et au prochain affichage d'une page on montre les messages en attente. Ce serait utile pour les modules aussi. Le module Ebay par exemple met à jour la fiche produit sur ebay.com à chaque fois qu'on en modifie un sur Prestashop mais il peut pas le dire, l'info est perdue à la redirection. Là il pourrait mettre en attente "tel produit est à jour/désactivé/supprimé sur ebay.com" ou "impossible de contacter ebay.com". Donc tout ça pour dire que ce serait un truc super pratique.
0 notes
Text
Décodeur de code PHP
La semaine dernière avec [Olea](http://www.oleacorner.com/) on est tombé sur un module Prestashop tout moche qui avait un code de ce style :
eval(gzinflate(base64_decode(strrev('AYwtRlkyv8MKXlcyNj09QdFyO30S'))));
Impossible donc de savoir son action. En enlevant le [eval()](http://www.php.net/eval) pour voir le code
echo gzinflate(base64_decode(strrev('AYwtRlkyv8MKXlcyNj09QdFyO30S')));
on tombe sur
eval(base64_encode(str_rot13('DF5fgEZ135HHtrdfcv'))));
et ainsi de suite. Cela s'appelle du [code impénétrable](http://fr.wikipedia.org/wiki/Code_impénétrable) ou de l'obfuscation. Très utilisé pour cacher un vilain code pas beau avec tracker, virus et tout ça. Donc voici un décodeur pour ce genre de code. En gros il fait la même chose que eval() mais sans exécuter le code. https://gist.github.com/Shagshag/5848915 Pour info le code du module en question avait 45 eval() imbriqués et rien de méchant. L'auteur ne voulait juste pas qu'on voit son code. (raté)
0 notes
Photo

Xénophobie ordinaire sur un site grand public (bien orienté quand même). J'aime pas mais pas du tout les mentalités actuelles.Ou plutôt le fait d'en être fier.
0 notes
Text
Arrêtez de nous faire suer avec les sitemaps !
Bon pour être clair, un sitemap ne sert à rien sauf si votre site est mal fichu. D'après [Wikipédia](http://en.wikipedia.org/wiki/Site_map) > Sitemaps are a useful tool for making sites built in Flash and other non-html languages searchable. > The basic premise is that some sites have a large number of dynamic pages that are only available through the use of forms and user entries. Donc si votre site n'est pas en flash ( on est plus en 2000 ) et que toutes les pages intéressantes sont trouvables sans passer par la recherche (j'espère pour vous), le fichier sitemap ne sert à rien. Un bon référenceur qui veut vendre sa camelote vous dira que ça aide Google à trouver les liens. Merci pour lui mais il sait faire tout seul. S'il y a un lien dans le sitemap qu'il n'a pas trouvé tout seul ça veux dire que : 1. Personne ne fait de lien vers cette page 2. Ou elle n'est pas accessible depuis votre site sans passer par un formulaire ou sans être connecté 3. Ou elle n'existe pas/plus/pas encore Donc : 1. Elle n'est pas intéressante => Elle ne ressortira pas dans Google 2. Ou on ne peut pas y accéder directement => Google ne peut pas faire de lien vers elle 3. Ou votre sitemap est foireux => il sert doublement à rien et votre référenceur est nul. Enfin le fait que Google trouve des liens dans un sitemap ne veut pas dire qu'il ira les visiter et qu'il les visite ne veut pas dire qui va les indexer. En gros ça sert à rien ! Donc arrêtez de nous faire suer avec ça et ne demandez plus de module d'optimisation de sitemap pour Prestashop. Y a plus important à faire pour le référencement.
0 notes