Les articles de ce blog sont des aides-mémoire et astuces de développement, que j'ai choisi de partager. Ne vous attendez pas à beaucoup de bla bla.
jeudi 18 décembre 2014
mercredi 10 décembre 2014
Qualité des images générées avec GD imagejpeg
En générant une image avec la fonction imagejpeg de la librairie GD, je me suis rendue compte que la qualité était diminuée par rapport à ce que j'attendais.
Par défaut, la fonction imagejpeg génère les images avec une qualité de 75. Pour ne pas avoir de perte de qualité, il faut la passer à 100 via le troisième paramètre de la fonction :
Par défaut, la fonction imagejpeg génère les images avec une qualité de 75. Pour ne pas avoir de perte de qualité, il faut la passer à 100 via le troisième paramètre de la fonction :
jeudi 4 décembre 2014
Comment supprimer plusieurs lignes sous vi ou vim
Appuyer sur la touche Esc, puis ":1,10d" pour supprimer de la ligne 1 à 10.
Pour supprimer le contenu complet du document ":0,$d"
Pour supprimer le contenu complet du document ":0,$d"
vendredi 28 novembre 2014
Enlever les pointillés autour des liens en CSS
Libellés :
CSS
Il s'agit de la outline du lien (a) qui apparaît lorsque vous cliquez dessus.
Afin qu'elle n'apparaisse plus :
vendredi 17 octobre 2014
Autoriser les requêtes ajax cross domain sur votre site web avec le fichier .htaccess
Comment rendre votre site interrogeable en cross domain, par exemple votre API.
Ajouter dans le .htaccess :
Dans le cas présent, tous les domaines sont autorisés à faire n'importe quel type de requête ajax sur votre site web.
Ajouter dans le .htaccess :
Dans le cas présent, tous les domaines sont autorisés à faire n'importe quel type de requête ajax sur votre site web.
mardi 14 octobre 2014
mercredi 8 octobre 2014
Configurer le HTTPS sur votre environnement de développement local
Vérifier que le paquet openssl est installé, sinon l'installer.
myproject.local
Ensuite, éditer le fichier /etc/apache2/ports.conf et rajoutez la ligne suivante :
Editer ensuite votre virtual host. Jusqu'à maintenant il est censé ressembler à ça :
sudo apt-get install openssl
Puis générer le certificat en ligne de commande :sudo openssl req -x509 -nodes -days 365 -newkey rsa:1024 -out /etc/apache2/server.crt -keyout /etc/apache2/server.key
Puis répondre aux questions.
Attention à la question “Common Name (eg, YOUR name) []:” vous devez
mettre l'url locale du projet, par exemple :myproject.local
Ensuite, éditer le fichier /etc/apache2/ports.conf et rajoutez la ligne suivante :
Listen 443
Si le port 443 est déjà écouté, ne pas modifier ce fichier.Editer ensuite votre virtual host. Jusqu'à maintenant il est censé ressembler à ça :
<VirtualHost *:80>
DocumentRoot /home/me/Workspace/myproject/www
ServerName myproject.local
<Directory /home/me/Workspace/myproject/www>
Require all granted
AllowOverride All
</Directory>
</VirtualHost>
Ajouter à la suite :<VirtualHost *:443>
DocumentRoot /home/me/Workspace/myproject/www
ServerName myproject.local
SSLEngine on
SSLCertificateFile /etc/apache2/server.crt
SSLCertificateKeyFile /etc/apache2/server.key
<Directory /home/me/Workspace/myproject/www>
Require all granted
AllowOverride All
</Directory>
</VirtualHost>
Enfin, redémarrer Apache :sudo service apache2 restart
Appeler votre propre API en JSONP
Comment rendre votre API Silex "appelable en JSONP" depuis un autre domaine :
Et comment l'appeler depuis par exemple votre appli angularjs :
Et comment l'appeler depuis par exemple votre appli angularjs :
Charger une librairie dynamiquement en javascript
Libellés :
javascript,
jQuery
Disons que vous développez un tag quelconque, par exemple :
Vous aimeriez que le fichier javascript chargé en charge un autre, par exemple jquery, voici ce que vous devez mettre dans mylib.js :
Petit bonus : disons que dans ce fichier javascript mylib.js vous souhaitez charger un autre fichier javascript, en lui spécifiant dynamiquement le même domaine que mylib.js, vous utilisez alors l'id donné à la balise script du tag :
Vous aimeriez que le fichier javascript chargé en charge un autre, par exemple jquery, voici ce que vous devez mettre dans mylib.js :
Petit bonus : disons que dans ce fichier javascript mylib.js vous souhaitez charger un autre fichier javascript, en lui spécifiant dynamiquement le même domaine que mylib.js, vous utilisez alors l'id donné à la balise script du tag :
mardi 7 octobre 2014
Installer et utiliser plusieurs version de nodejs avec nvm
Libellés :
nodejs
NVM est un gestionnaire de versions pour nodejs qui vous permet d'installer une version précise de nodejs ou la dernière version stable, etc...
Plusieurs versions peuvent être maintenues en même temps sur votre machine, et c'est vous qui décidez celle que vous voulez utiliser.
Pour installer NVM :
Pour installer une version précise de node :
Pour installer la dernière version stable de node :
Pour voir toutes vos versions de node installées :
Pour utiliser une version de node :
Pour ne pas avoir à refaire un nvm use à chaque fois que vous ouvrez un terminal, vous devez définir votre version de node par défaut :
Plusieurs versions peuvent être maintenues en même temps sur votre machine, et c'est vous qui décidez celle que vous voulez utiliser.
Pour installer NVM :
curl https://raw.githubusercontent.com/creationix/nvm/v0.17.2/install.sh | bash
Pour installer une version précise de node :
nvm install 0.10
Pour installer la dernière version stable de node :
nvm install stable
Pour voir toutes vos versions de node installées :
nvm ls
Pour utiliser une version de node :
nvm use 0.10
Pour ne pas avoir à refaire un nvm use à chaque fois que vous ouvrez un terminal, vous devez définir votre version de node par défaut :
nvm alias deault v0.10
Repo github officiel : https://github.com/creationix/nvm
jeudi 2 octobre 2014
Annuler des modifications locales non commitées, puis commitées avec git
Libellés :
GIT
1) Annuler des modifications non addées et non commitées :
2) Supprimer le dernier commit et revenir à celui d'avant comme si vous n'aviez jamais rien fait :
git reset --hard
-> pour remettre les fichiers dans leur état d'origine
git clean -fd
-> pour supprimer les fichiers et dossiers non trackés
2) Supprimer le dernier commit et revenir à celui d'avant comme si vous n'aviez jamais rien fait :
git reset --hard HEAD~1
mercredi 1 octobre 2014
Accéder à une variable du scope parent avec angular
Libellés :
angularjs
Pour chaque "li" un scope est créé, $parent permet d'accéder au scope du parent.
jeudi 4 septembre 2014
jeudi 31 juillet 2014
mercredi 30 juillet 2014
jeudi 5 juin 2014
Comment faire un count limité en SQL ?
Libellés :
MySQL
Admettons que j'ai une table commentaires avec 5 000 000 enregistrements.
Je souhaite récupérer au maximum les 20 premiers commentaires d'un user qui a 950 commentaires.
Si j’exécute la requête :
Le résultat retourné sera 950.
Pour récupérer un nombre limité, je dois faire une sous-requête :
Le résultat retourné sera alors 20.
Si mon user n'avait que 4 commentaires, le nombre retourné serait 4.
Inscription à :
Articles (Atom)