Configurer Un Virtual Host Sous WAMP Et Le Faire Partager En Réseau Local

Pour cette manipulation simplifiée nous ne toucherons pas au fichier hosts qui se trouve dans le répertoire Windows/system32/drivers/etc/

On touchera seulement au fichier httpd.conf, qui est lu par Apache.

Attention, souvent le httpd.conf n'est pas seul en jeu, non pas parce qu'il doit y avoir plusieur fichiers mais que pour des raisons d'organisation on a fractionné en plusieurs petits fichiers qu'on va inclure dans le fichier principal qui reste httpd.conf.

Par exemple le fichier des virtual host sera inclu dans httpd.conf via :

Include conf/extra/httpd-vhosts.conf

1/Créer un point d'entrée vers le répertoire où se trouve votre solution web

Cela se fait avec la directive Directory.


    Options Indexes Includes FollowSymLinks MultiViews
    AllowOverride all
    Require all granted

 

2/Créer un virtual host


    DocumentRoot "C:\wamp64\www\monsite\public"
    ServerName monsite

ServerName indique que vous pouvez accéder à votre application web en local en tapant http://monsite, plus de besoin de localhost.

 3/Permettre d'accéder depuis votre réseau local (en particuliers depuis le smartphone)

Super utile quend vous faite du responsive design.

Lien de l'article d'origine:Accès depuis smartphone sur WAMP

Là il faut manipuler le fichier hosts de windows mentionné plus haut. Ou l'éditer il vous faudra ouvrir votre IDE avec les droits Administrateur.

Rajoutez les lignes :

127.0.0.1 monsite
::1 monsite


Maintenant redémarez vos service Apache (vous devez le faire a chaque fois que vous modifiez un fichier
de configuration Apache)
Moi je suis sur une box Free, et l'IP du réseau est : 192.168.x.x
Pour connaitre l'IP de votre ordinateur, sous Windows faites : ipconfig
sous Linux : ip addr show
Notez l'adresse de votre ordinateur (qui est donc le serveur je le souligne !) et entrez dans le navigateur de
votre smartphone 192.168.x.x/monsite

Et Voilà !

 

Note : dans le 1/,     AllowOverride all et   Require all granted sont nécessaire pour que ça fonctionne.

2015-07-29 01:07:17 0 Commentaires

Introduction à PHPUnit

Cette petite introduction à pour but de vous montrer comment installe PhpUnit afin de démarrer votre premier test unitaire.

Prérequis : connaissance en programmation orientée objet avec Php, connaissance optionnelle de Composer.

Pour faire simple téléchargez l'archive Phar (un seul fichier) dans le répertoire de test.

Aller sur cette page pour une petite introduction en anglais:

https://phpunit.de/getting-started.html

Vous écrivez vos tests dans un fichier php, et vous allez lancer ce fichier en mode console:

phpunit fichierContenantTest.php

 

 

Si vous avez installer avec Composer, un fichier phpunit.xml est généré, le fait de lance phpUnit sans argument suffira à lancer la série de test codé dans le fichier xml.

phpunit

2015-07-26 14:07:28 0 Commentaires

Integration Continue Avec Jenkins

L'intégration continue est le processus d'automatisation des tâches de build appelé  "Job" (le build ce sont toutes les étapes entre le code et la mise à disposition du logiciel pour la production.

 

Jenkins est un programme écrit en java qui va effectuer ces tâches.

Il suffit de télécharger l'archive .war de le mettre dans un répertoire et de le démarrer :

$ java -jar jenkins.war

 

Pour télécharger c'est ici.

Une fois télécharger il démarrer, vous pourrez y accéder au port 8080 de votre localhost

localhost:8080

La première chose à faire est de créer un projet et de configurer Jenkins.

Installer Git

Je suppose que vous avez déjà installé Gitbash, sinon allez le chercher sur Github.com.

Je suppose qu'on travaille avec Git et qu'on est sous Windows.

Jenkins vient avec des plugins, et Git n'est pas installé par défaut. Installez le en allant vers Jenkins > Administrer Jenkins > Gestions des plugins, puis sur l'onglet Disponible, cocher Git OAuth. Choisissez t élécharger et installer au prochain démarrage. Cochez la case redémarrer après download.

Sinon vous devrez redémarrer manuellement. (CTRL + C)

Ensuite aller dans Jenkins > Administrer Jenkins > Configuration du système, et mettez le chemin COMPLET vers git.exe.

Puis dans la partie projet, configurez Git en mettant le repository que vous pouvez copier coller dans votre compte github.com, entrez les login et mot de passe, normalement vous n'aurez pas de messsage. (il y a beaucoup de question sur cette étape, et j'avoue que j'ai un peu nagé, ce que je peux vous dire, c'est dans un premier temps de*'éviter de lancer Jenkins en tant que service Windows).

 

Ce que fait Jenkins c'est qu'à chque build il va télécharger depuis Github.com vos fichiers.

 

Liens utiles :

http://jenkins-php.org/  Vous dit quels logiciels à installer pour mettre dans Jenkins. Jenkins se configure avec un fichier xml appelé template. Un exemple de template est misà disposition pour un projet php typique.

 

 

Note: Pour lancer un programme php de partout sous Windows, il faut mettre le répertoire ou

se trouve le fivhier bat correspondant dans la variable $PATH.

 

 

2015-03-08 15:03:00 0 Commentaires

Debugger Sous WAMP

si votre serveur refuse de passer au vert, le mieux est de voir ce qui se passe sous le capot.

si votre Service Apache refuse de démarrer (pour ce faire aller dans Apache / Service et regardez si c'est le cas), ouvrez une fenetre DOS, et allez dans le répertoire du fichier httpd.exe (ce devrait être C:\wamp\bin\apache\apache2.4.9\bin  changez la version Apache à votre convenance), et entrez l commande suivante :

$ httpd.exe -t

 

le flag -t va afficher le dump. La plupart du temps il s'agit d'un fichier vhost.conf mal configuré.

2015-02-03 14:02:51 0 Commentaires

Creer Une Branche Dans Github

Vous utilisez sans doute Github seulement pour la gestion de version avec la branche master (celle qui va en production).

Github vous a changé la vie car il vou smémorise absolument toutes les version de votre code. Il vous permet de revenir à un état antérieur si vous avez fait une gaffe.

 

Branching

Le branching consiste à créer une variante du dépôt de référence (appelé Master), de travailler dessus sans le moindre risque de toucher au master puisque logiquement différent donc mutuellement exclusif). Quand vous aurez fini de travailler sur la branche, vous pourrez fusionner avec le dépôt de référence !

Bien sûr il risque d'avoir des conflits de fichier, dans ce cas le système Git vous demande de valider à la main.

Commander pour créer une branche à partir du dépôt de référence :

$git branch votre_branche

$ git checkout votre_branche

 

ces commandes ci-dessus sont souvent résumées en une seule commande :

$ git checkout -b votre_branche

 

La commande checkout va pointer votre espace de travail vers la branche. Donc vous quittez la branche de référence (ou master).

 

où votre_branche est le nom de votre branche.

Quand vous  voulez commiter vos changement au code, vous faites vos commande habituelles:

$ git commit -m 'ajout fonction xyz'

$ git push origin votre_branche

Pour fusionner la branche votre_branche avec le master, revenez vers le master

$ git  checkout master

$ git merge votre_branche

et pour effacer votre_branche, faites la commande ci-dessous:

$ git branch -d votre_branche

 

 

Pour des explication plus en détail (en anglais) voir cette page.

2015-02-03 09:02:10 0 Commentaires

Autoloading En PHP

Qui n'a jamais fait d'include de fichiers externes en PHP? C'est même récurrent pour les programmeurs.

Avouez que c'est quand même lourd à la longue. Il existe une méthode depuis PHP 5.3 pour résoudre automatique le chemin des fichiers de classe, enfin presque. A condition de bien comprendre quelques notions fondamentales en PHP objet.

 

Autoloading qu'est ce que c'est?

Quand vous avez à instancier un objet:

myDeuche = new Voiture();

PHP doit trouver le chemin du fichier qui contient la déclaration de classe et le charger (Autoloading). Prenons soins de nommer le fichier de déclaration de classe avec le même nom que la classe. Et dans un fichier il y a une seule classe. Ces deux conditions sont nécessaires pour faire marcher l'autoloading.

 

Votre fichier peut être dans le même répertoire que celui contenant le script ci-dessus.

Ou il peut être dans un sous répertoire ou sous sous répertoire.

Comment lui faire savoir dans ce cas?

C'est là qu'interviennent les espaces de nom.

soit la déclaration suit:

Voiture.php

namespace vehicule;

class Voiture{

 //....suite du code

}

 

Ce fichier est obligatoirement dans le répertoire vehicule.

Ainsi lorsqu'on instancie l'objet Deuche, PHP va aller dans le répertoire vehicule pour chercher le fichier Voiture.php grâce à la corresponce du nom de classe (vous comprenez pourquoi on ne doit déclarer qu'une seule classe par fichier)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2015-01-19 21:01:24 0 Commentaires