vendredi 22 août 2014

Obtenir une adresse IP fixe à partir d'une adresse dynamique

Il peut arriver que notre fournisseur d'accès ne nous propose pas par défaut une adresse IP fixe mais une adresse IP dynamique. L'adresse IP dynamique est très problématique dans la mesure où elle ne nous permet pas de configurer de manière correcte notre serveur web. Il existe heureusement des sites internet qui permette de simuler une adresse IP statique comme noip où dyndns. Nous allons ici décrire comment procéder pour un serveur debian avec noir.

1. La première chose à faire est d'aller ouvrir un compte sur le site noip.
2. Une fois ceci fait, il faut ajouter un "host" depuis l'interface d'administration de noip (généralement en allant dans l'onglet "Hosts/Redirects". L'"host" correspond à votre url de redirection qui vous permettra d'accéder à votre serveur.
3. Ensuite, sur votre serveur vous devez installer un utilitaire qui mettra à jour votre adresse IP. Sous debian je vous invite à consulter la page Installing the linux dynamic update client
4. Coté routeur, il faut configurer une zone DMZ sur votre routeur qui pointe sur l'adresse IP de votre serveur local. Toujours depuis le routeur attribuer une adresse IP statique à la machine faisant office de serveur. N'oublier pas d'ajouter votre compte noip sur votre routeur (normalement tous les routeurs le permettent pour noip, dyndns etc.)

samedi 5 juillet 2014

Modifier le mot de passe de l'utilisateur root

Afin de modifier le mot de passe de l'utilisateur root sur MAMP, il suffit de taper la commande suivante depuis le terminal

/Applications/MAMP/Library/bin/mysqladmin -u root -p password [x]

En remplaçant [x] par le nouveau mot de passe.

Ensuite il est nécessaire de modifier la configuration phpMyAdmin en modifiant le mot de passe dans le fichier /Applications/MAMP/bin/phpMyAdmin-X.X.X/config.inc.php

lundi 19 mai 2014

Activer l'exécution de script PowerShell

L'exécution de script PowerShell n'est pas toujours activé par défaut.
Afin de connaître son niveau d'exécution de script, taper la commande suivante dans une console PowerShell:

get-executionPolicy
Si le résulta est:

Restricted
Il va vous valoir activée l'exécution de script en choisissant parmis les choix ci-dessous:

  • Restricted : ne charge pas de fichiers de configuration ou n'exécute pas de scripts. « Restricted » est la valeur par défaut.
  • AllSigned : requiert la signature numérique par un éditeur approuvé de tous les scripts et fichiers de configuration, y compris les scripts que vous écrivez sur l'ordinateur local.
  • RemoteSigned : requiert la signature numérique par un éditeur approuvé de tous les scripts et fichiers de configuration téléchargés à partir d'Internet.
  • Unrestricted : charge tous les fichiers de configuration et exécute tous les scripts. Si vous exécutez un script non signé qui a été téléchargé à partir d'Internet, vous êtes invité à en autoriser l'exécution
Pour se faire il vous faudra taper la commande suivante dans une console PowerShell:

set-executionPolicy [niveau d'exécution]


puis valider en tapant la commande suivante:

get-executionPolicy

dimanche 11 mai 2014

Rotation de l'émulateur android sous Mac os x

Parfois il peut être nécessaire d'opérer une rotation de l'émulateur android pour le faire passer du mode portrait au mode paysage ou vice versa.
Pour ce faire il suffit de taper les touches suivante:
fn+ctrl+F2

jeudi 20 mars 2014

Lancer Apache en mode debug

Il peut-être nécessaire de lancer le serveur Apache en mode debug pour identifier un problème au démarrage. La commande pour y parvenir est la suivante:
sudo /usr/sbin/httpd -k start -e Debug -E /dev/stdout

jeudi 6 mars 2014

Installation de MySql avec MacPort

MacPort est un gestionnaire de paquet pour Mac Os X. Afin d'installer MySql avec MacPort il suffit de taper la commande suivante:

sudo port install mysql5-server

Une fois l'installation terminé il faut lancer la configuration de mysql avec la commande:

sudo -u _mysql mysql_install_db5

Ensuite il faut lancer le "daemon" MySQL via la commande:

sudo /opt/local/var/db/mysql5/bin/mysqld_safe & --user=_mysql

Enfin il faut penser à saisir un mot de passe pour l'utilisateur root de MySql comme suit:

Plus d'information sur l'installation de MySql avec MacPort ici.

jeudi 27 février 2014

Compiler un projet GNUStep avec une librairie externe

Pour la petite histoire GNUStep est une chaine de build permettant de compiler de l'Objective C sur un système autre que Mac OS X.
Quand on a besoin de compiler un projet Objective C via GNUStep on utilise un makefile qui s'appelle GNUmakefile.
Si par exemple on développe un programme qui utilise ImageMagick il faudra préciser dans le GNUmakefile le nom de la librairie avec laquelle "linké" notre projet. Pour ce faire il faut ajouter la ligne suivante à notre fichier GNUmakefile

nomDeMonExecutable_TOOL_LIBS += -lMagickWand

mercredi 19 février 2014

Installer GNUStep sur Ubuntu

Afin d'installer GNUStep sur Ubuntu il suffit de taper la commande
sudo apt-get install gnustep gnustep-devel

lundi 27 janvier 2014

Chose à savoir dans l'utilisation du mot clé @extends dans Laravel 4

Lors de la lecture d'un ouvrage sur Laravel 4 et plus particulièrement du chapitre expliquant le fonctionnement de l'héritage de template, j'ai mis quelques dizaines de minute avant de faire fonctionner mon héritage. En effet le template fils hérite du template mère à l'aide du mot clé @extends.
Pour que l'héritage fonctionne il faut placer ce mot clé en tête de fichier! sinon il est interprété comme tu texte.

lundi 20 janvier 2014

Charger une vue depuis un Controller

Lors de mes développements avec le framework ExtJs dans sa version 4 j'ai eu besoin de récupérer une vue à partir du controller qui lui ai associé. Après mult recherche sur Google j'ai enfin trouvé comment faire.
Dans la suite j'appelle MaVue, ma vue et MonController mon Controleur.
Quand on recherche sur le web une solution à ce problème, la réponse qui revient le plus souvent et d'utiliser l'objet de configuration refs du Controleur. Cette approche nous indique qu'il faut utiliser le paramètre de configuration alias de la vue afin de définir un xtype inline permettant d'instancier la vue à l'aide de la méthode Ext.widget() en spécifiant le xtype.
Une exemple concret est plus parlant.

D'abord définissons la vue:

Ext.define('MaVue', {
 extend: 'Ext.container.Container',
 alias: 'widget.mavue',
 itemId: 'maVue'
 ...
});

Puis définissons notre Controller qui accède à cette vue

Ext.define('MonController', {
 extend: 'Ext.app.Controller',
 views: [
  'MaVue'
 ],
 refs: [{
    ref:'maVue',
    selector: 'container#maVue'
    autoCreate: run,
    forceCreate: true,
    xtype: 'mavue'
  },
  ...
  onLaunch: function(application) {
   var maVue = this.getMaVue();//on récupère la vue via la méthode getMonCotroller générée par 'refs'
  }
 ]
});
Le code des lignes 9, 10 et 11 est celui qui permet de récupérer notre vue depuis notre contrôleur à partir de la méthode getMaVue).

samedi 18 janvier 2014

Mes commandes linux utiles

1. Changer la langue du clavier


setxkbmap [code langue (exemple fr pour le français)]

vendredi 17 janvier 2014

Ajouter un chemin à la variable d'environnement $PATH

1. Ouvrir un Terminal.
2. Dans le terminal taper la commande suivante:
sudo nano /etc/paths
3. Saisir votre mot de passe.
4. Aller à la fin du fichier et saisir le chemin à ajouter.
5. Taper Ctrl+x pour quitter.
6. Taper 'Y' pour sauvegarder le buffer.
7. Ouvrer un nouveau terminal et taper la commande suivante:
echo $PATH
8. Vérifier que le nouveau chemin a bien été ajouté.


Mes commandes MySql utiles

1. Lancer MySql


mysql.server start

jeudi 16 janvier 2014

Mes commandes composer utiles



Composer est un outil de gestion des dépendances pour PHP. Je l'utilise actuellement sur l'ensemble de mes projets. Ci-dessous je présente une liste de commandes que l'on utilise fréquemment avec composer.


1. Mettre à jour le fichier autoload.php

Pour prendre en compte la modification de la section autoload du fichier composer.json il faut exécuter la commande suivante dans une console.

composer dump-autoload

lundi 6 janvier 2014

Ext.Direct

Après une année à utiliser le framework ExtJs je pense avoir trouver une des briques qui me manquait pour améliorer ma productivité avec ce framework, Ext.Direct.
Ext.Direct permet d'appeler du code serveur depuis son code client, donc en javascript. Ext.Direct supporte plusieurs langages serveur dont les plus populaires, PHP, Java, C# etc.
J'ai trouvé un très bon tutoriel pour s'y mettre:

jeudi 2 janvier 2014

Mes commandes doctrine utiles

Doctrine est un ORM PHP que j'utilise sur mes projets développés dans ce language. Les commandes suivantes supposes que la mapping a été déjà fait soit via les annotations, soit via les fichiers de mappings au format XML ou YML.

1. Créer un schéma de base de données

php vendor/to/bin/doctrine orm:schema-tool:create

2. Supprimer un schéma de base de données

php vendor/to/bin/doctrine orm-schema-tool:drop --force

3. Mettre à jour un schéma de base de données

php vendor/to/bin/doctrine orm-schema-tool:update --force
Afin d'afficher le script de mise à jour il faut utiliser l'option --dump-sql.

Problème de droit suite à l'installation de Laravel 4

Après avoir installé Laravel 4, j'ai eu un problème de permission en tentant de me connecter à mon site. Après quelques recherches sur le web j'ai découvert qu'il fallait que le serveur web est les droits en écriture sur le répertoire /app/storage.

Après avoir appliqué la commande
chmod -R 777 storage
tout est entré dans l'ordre.

Les commandes Mac petit à petit

1. Faire une copie d'écran

  • cmd + majuscule + 3: permet de capturer tout l'écran
  • cmd + majuscule + 4: permet de faire une capture sélective (une petite cible apparaît pour faire la sélection)
  • cmd + majuscule + 4 + espace: permet de capture une fenêtre singulière (une icône d'appareil photo apparait afin de sélectionner la fenêtre désirée)

2. Où est la touche suppression?

Il n'en pas sur mac, l'équivalent est:

  • fn + backspace