Archives pour la catégorie ‘ Trucs et astuces’

Alternative à phpMyAdmin : Adminer

Un petit article pour présenter un outil qui m’a fait gagner pas mal de temps récemment : Adminer
Cet outil, tout comme PhpMyAdmin permets de gérer les bases de données de votre hébergement via une interface web.

En général, phpmyadmin est installé directement par l’hébergeur et c’est l’outil utilisé par défaut pour gérer les bases de données.
Cependant il peut arriver que des hébergeurs ne le proposent pas.
Dans ce cas l’utilisation d’Adminer est la solution la plus simple et la plus rapide.

Comment ça marche ? :

  • Télécharger le fichier adminer.php depuis le site https://www.adminer.org/
  • Envoyer le via ftp n’importe ou sur votre hébergement.
  • Accéder au fichier depuis un navigateur web

Adminer

Et oui rien de plus à faire 🙂

Note :
Pour plus de sécurité renommez ce fichier en autre chose que adminer.php 😉…

Pas de commentaires

Cmder : Ajouter des alias

En remplacement de l’invite de commande windows standard, j’utilise l’excellente console alternative Cmder : http://cmder.net/

Celle-ci implémente des commandes linux indispensables qui vont vous faciliter la vie ( ls, git , ssh … )
Elle permet également de gérer des alias qui vous ferons gagner un temps précieux.
Le fonctionnement est légèrement différent d’une console linux standard, puisqu’il ne faut pas éditer le fichier .bashrc

Les modifications sont à apporter dans le dossier ou Cmder est installé, dans le fichier /config/aliases

Vous pouvez par exemple simplifier vos connexion ssh en ajoutant des alias tel que :

sshherve= ssh [email protected] -i "C:\Users\myuser\.ssh\my_key"
Pas de commentaires

Testez vos sites de développement en https

L’usage du https se généralise sur les sites web, lors du développement des sites, il devient donc important de vérifier que le passage du site en mode https ne renvoie pas d’erreur.

Pour mes développements j’utilise une machine virtuelle avec un stack lamp gérée via vagrant.
Nous allons voir comment rendre fonctionnel le https sur cette vm en moins de 5 minutes.

Sur votre vm saisissez les commandes suivantes :

#Activation du mode ssl apache
sudo a2enmod ssl
#Activation du site par défaut avec le ssl d'apache
a2ensite default-ssl

Si vos fichiers web sont situés à l’emplacement par défaut d’apache ( var/www/html ), il vous suffit de recharger apache

#Rechargement de la configuration d'apache
service apache2 reload

Et le https fonctionne 🙂

Si vous bossez dans un autre dossier, éditer le fichier de configuration du site default-sslsudo vim /etc/apache2/site-enabled/default-ssl.conf
et remplacer

DocumentRoot /var/www/public

par l’emplacement de vos fichiers web.…

Pas de commentaires

Batch : Ajouter des entrées dans le fichier host

Voici un petit script batch qui vous permettra d’ajouter facilement des entrées dans votre fichier host :

:: Script d insertion de lignes dans un fichier batch
:: Herve-hennes - 2015
:: version 0.1.0
 
::Ne pas écrire les commandes exécutées
@echo off
::Couleurs d affichage de la fenetre
color 0A
::Titre de la fenêtre
title Ajouter une entree dans le fichier host
 
::Ce script doit etre execute en administrateur
:: Cf. https://stackoverflow.com/questions/4051883/batch-script-how-to-check-for-admin-rights#11995662
net session >null 2>1&
if %errorLevel% GTR 0) (
 goto erreur_droits
)
 
::Saisie du nom de domaine a ajouter au host
set /p host=Entrer le nom de domaine a ajouter au fichier host :
 
::Saisie du host par defaut
set /p ip=Entrer l ip vers laquelle doit pointer le host (defaut: 127.0.0.1) :
 
::Attribution de la valeur par defaut si pas d ip renseignee
if "%ip%"=="" (
  set ip=127.0.0.1
 )
 
 ::Ecriture de la ligne dans le fichier de host
 :: @ToDo Il faut verifier que l entree n existe pas
 echo %ip% %host% >> %SystemRoot%\system32\drivers\etc\hosts
 
 echo Nouvelle ligne inseree dans le fichier host
 
 ::Permet de ne fermer la fenête que lorsque l utilisateur appuie sur une touche
 pause > null
 exit
 
 :: Texte affiche si les droits d execution du fichier ne sont pas suffisants
 :erreur_droits
  echo Ce script doit etre lance en administrateur pour fonctionner
 
::Permet de ne fermer la fenêtre que lorsque l utilisateur appuie sur une touche
:: mettre pause > null pour ne pas afficher le message
pause
1 commentaire

Ovh mutualisé copier une base de données dans une autre avec ssh

Voici un petit script bash qui vous permettra de copier facilement le contenu d’une base de données à une autre depuis un hébergement mutualisé ovh.
( Ce script fonctionne uniquement à partir des hébergements pro, car il nécessite un accès ssh )
Le déroulé du script est le suivant :

  • Export de la bdd à copier
  • Sauvegarde de la bdd de destination
  • Suppression des données de la bdd de destination
  • Insertion des données de la bdd à copier dans la bdd de destination
#!/bin/bash
 
#Saisir les paramètres des bases de données
serveurProd="mysql.ovh"
userProd="user"
passProd="password"
 
serveurPreprod="mysql.preprod"
userPreprod="preprod"
passPreprod="preprod"
 
#Export de la base de donnees de prod
echo "Sauvegarde base de prod"
mysqldump --host=$serveurProd --user=$userProd --password=$passProd $userProd | gzip > backup-prod_$(date +"%Y-%m-%d").sql.gzip
 
#Sauvegarde de la base de donnees de preprod
echo "Sauvegarde base de preprod"
mysqldump --host=$serveurPreprod --user=$userPreprod --password=$passPreprod $userPreprod | gzip > backup-preprod_$(date +"%Y-%m-%d").sql.gzip
 
#Suppression des donnees de la base de donnes preprod
echo "Suppression des donnees de la table de preprod"
TABLES=$(mysql -h $serveurPreprod -u $userPreprod -p$passPreprod $userPreprod -e 'show tables' | awk '{ print $1}' | grep -v '^Tables' )
 
for t in $TABLES
do
echo "Suppression de la table  $t de la base de données $userPreprod ..."
mysql -h $serveurPreprod -u $userPreprod -p$passPreprod $userPreprod -e "drop table $t"
done
 
#Insertion des données de prod dans la table de preprod
echo "Insertion des nouvelles donnees dans la table de preprod"
zcat backup-prod_$(date +"%Y-%m-%d").sql.gzip | mysql -h $serveurPreprod -u $userPreprod -p$passPreprod $userPreprod

Pour utiliser ce script, il faut créer un fichier (ex: update-bdd.sh) avec le contenu ci-dessus sur votre hébergement
Puis de se connecter en ssh et de l’exécuter avec la commande suivante :

bash update-bdd.sh
Pas de commentaires

Alternative a wampserver : Vagrant

Si comme moi, vous développez sous Windows, et que vous utilisez wampserver pour faire tourner vos sites locaux, vous avez sans doutes déjà été agacé par les installations d’outils spécifiques sous windows ( composer , npm , phpunit ect… )

Voici donc une alternative simple et rapide à mettre en place.
Cela prendra un peu plus de temps que d’installer wamp mais une fois votre plateforme en place, vous aurez à votre disposition un linux en local.

Pour mettre l’infrastructure en place, voici les étapes à réaliser

Une fois les logiciels installés, vous pouvez maintenant installer des centaines de machines virtuelles préconfigurées en fonction de vos usages, celles-ci sont acessibles sur la plateforme https://atlas.hashicorp.com/boxes/search

Pour du développement local, je me suis basé sur l’image « Scotch Box » : https://box.scotch.io/ qui dispose entre autre des fonctionnalités suivantes :

Serveur : ( MySQL, PHP 5.5, Ruby, Git,Composer,Apache … )
Front End : (NPM, Grunt, Bower… )

Pour l’installer, il suffit de cloner le projet github

git clone https://github.com/scotch-io/scotch-box.git my-project

Puis de vous rendre dans le dossier my-project et de lancer la commande ( via l’invite de commandes )

vagrant up

Rendez-vous ensuite sur l’ip : http://192.168.33.10/ et le tour est joué 🙂

scotchbox

Pas de commentaires

Mise en place d’une plateforme d’intégration continue ( Partie 2 )

Une fois l’ensemble des éléments nécessaires à nos tests fonctionnels ( Installation des éléments nécessaires aux tests fonctionnels ) en place, passons à la partie suivante.
L’installation et la configuration de jenkins pour l’exécution des tests fonctionnels.

Installation de jenkins

Pour installer jenkins saisissez les commandes suivantes

wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins

Il faut ensuite le lancer jenkins via la commande suivante

sudo service jenkins start

Jenkins est ensuite accessible sur le port 8080 de votre serveur via l’url : http://ip-de-votre-serveur:8080

Configuration et sécurisation de Jenkins

Pour commencer mettez à jour les plugins de jenkins via les liens :
– Administrer Jenkins
– Gestion des plugins
– Dans l’onglet mises à jour sélectionner tout les plugins à mettre à jour
– Cliquer sur « Télécharger maintenant et installer après redémarrage »
Gestion des plugin Jenkins

Sécuriser Jenkins :

Par défaut jenkins est accessible en accès complet et sans authentification, nous allons donc mettre en place des restrictions.…

Pas de commentaires

Magento : conditionner l’insertion d’une ressource dans un layout xml

Un petit rappel pratique si comme moi vous souhaitez ajouter un fichier css ou js d’un de vos modules sur une page magento via les layout xml, mais que celui-ci doit être conditionné à un paramètre de votre module ( actif ou non )

Voici comment procéder.
Par exemple pour ajouter un fichier css et un fichier js dans la page onepage_index, uniquement si le parametre mymodule/display/onepage/ est actif
Dans le fichier de layout de votre module dans « app/design/frontend/default/theme/layout/yourmodulelayout.xml »
Il faut rajouter la condition ifconfig= »mymodule/display/onepage/ »

<checkout_onepage_index>
<reference name="head">
<action method="addCss" ifconfig="mymodule/display/onepage/">
<stylesheet>namespace/module/css/ui-lightness/jquery-ui-1.8.14.custom.css</stylesheet>
</action>
<action method="addItem" ifconfig="mymodule/display/onepage/">
<type>skin_js</type>
<name>namespace/module/js/jquery-ui-1.8.14.custom.min.js</name>
</action>
</reference>
</checkout_onepage_index>
Pas de commentaires

Mise en place d’une plateforme d’intégration continue ( Partie 1 )

Afin de suivre le bon déroulement de vos projets, il est important de pouvoir tester de manière régulière que votre applications fonctionne bien.
Ceci peut être réalisé via la mise en place de tests unitaires et fonctionnels, d’analyse de code etc…

Pour suivre cela de manière optimale, la mise en place d’une plateforme d’intégration continue est la suite logique de l’évolution de votre projet dès lors qu’il atteint une taille importante, ou qu’il comporte de nombreuses fonctionnalités spécifiques.

Il existe plusieurs plateforme pour réaliser cela, mais je vais me baser sur la plus connue : Jenkins (ex Hudson )

L’objectif à la fin de ce guide est d’avoir une plateforme de tests fonctionnels opérationnelle.
Celle ci-sera basée sur phpunit et selenium et firefox en mode headless
La procédure étant assez longue, ce sujet va être séparé en 2 articles :

– Installation des éléments nécessaires aux tests fonctionnels
– Installation et configuration de jenkins pour l’exécution des tests fonctionnels

Installation des éléments nécessaires aux tests fonctionnels.

Pas de commentaires

Motorola Moto G : Plus de smileys

Sur mon téléphone motorola Moto G suite à l’insertion d’une nouvelle carte sim ( en mode double sim) , les smileys des messages ne fonctionnaient plus.
Pour corriger ce comportement la manipulation est toute simple ( Avec Android Kitkat 4.4.4 )

Cliquer sur l’icone en haut à droite , puis « Paramètres »

config-android

 

Dans les options « Messages texte (SMS) »

config-android-2

 

Choisissez le mode de codage « Automatique »

config-android-3

De mon côté cela à résolu ce problème de smiley…

2 commentaires


Compte Github