logo de la licence professionnellelogo d'aix marseille université

IP6 : Internet et bases de données

Mise à jour du tp sur symfony

Vous pouvez le télécharger tpSymfony.pdf

Examen

La récupération des projets (si vous ne pouvez l'envoyer par mail) peut se faire via le lien suivant : http://richard-ostrowski.eu/recup_projet/


PHP, PHP objet et PDO


Design pattern MVC : modèle vue contrôleur


Bases de données


Design pattern active record : propel


Communication temps réel 


Le projet

l'énoncé du mini projet est ici


Commandes pour générer les classes à partir d'une base de donnée mysql

Il faut pour cela connaitre le chemin de votre exécutable php et le chemin du script Propel.php. Les commandes qui vont suivre doivent s'exécuter à la racine de votre projet web.

1) php Propel.php reverse "mysql:host=localhost;dbname=db;user=root;password=pwd" (à adapter en fonction de votre connexion au sgbd)

Cette commande doit vous créer le fichier schema.xml dans le répertoire generated-reverse*/

Déplacez ce fichier à la racine de votre projet.

2) php Propel.php model:build (afin de générer vos classes)

3) php composer.phar dump-autoload (pour préciser où trouver les classes)


Squelette MVC disponible ici 

la bibliothèque xmlForm


Procédure d'installation des serveurs sous linux

Voici la procédure à suivre pour installer correctement les différents serveurs :

1) Connectez vous en tant que root
2) Installation des packages :
    -   apt-get update
    -   apt-get install apache2
    -   apt-get install php5
    -   apt-get install php-pear
    -   apt-get install php5-mysql
    -   apt-get install php5-pgsql
    -   apt-get install php5-xsl
    -   apt-get install postgresql-9.1
    -   apt-get install pgadmin3

ensuite pour installer propel : 
    -   pear channel-discover pear.phing.info
    -   pear install phing/phing
    -   pear install Log
    -   pear channel-discover pear.propelorm.org
    -   pear install -a propel/propel_generator
    -   pear install -a propel/propel_runtime

Si tout se passe correctement la commande propel-gen doit être accessible.

Créez ensuite un répertoire public_html (pas en tant que root) à la racine de votre compte personnel:
    -   mkdir ~/public_html

Créez un lien symbolique (en tant que root) dans le répertoire /var/www qui pointe vers votre répertoire public_html :
    -   cd /var/www
    -   ln -s /home/(votre répertoire)/public_html root
A partir de maintenant vous pouvez travailler dans le répertoire public_html pour installer votre site.

3) Configuration du serveur apache2. 

La configuration est un peu différente ici (le fichier httpd.conf n'est plus utilisé).
En tant que root taprez la commande :
    -   a2enmod rewrite // permet l'activation de la réécriture d'URL d'apache
Allez ensuite dans le répertoire /etc/apache2/sites-available et éditez le ficher default.
Dans les deux sections / et /var/www modifiez l'option AllowOveride pour lui mettre la valeur All (au lieu de None).
Supprimez dans la section /var/www les deux options Order et Allow.

Relancez le serveur pour voir si tout fonctionnne correctement : 
    -   service apache2 restart

Dézipper le squelette du site (fournit dans un précédent mail) dans le répertoire public_html et vérifiez qu'il fonctionne correctement sur le navigateur.

Copiez le répertoire /usr/share/php/propel dans le répertoire du squelette que vous venez de dézipper.

4) Configuration du serveur postgresql

En tant que root coonectez vous en tant qu'utilisateur postgres. ensuite tapez la commande psql
Créez un utilisateur appelé 'crud' avec comme mot de passe 'crud' et donnez lui le droit de créer des bases de données:
    -   create user crud with encrypted password 'crud';
    -   alter role crud with createdb;

Pour quitter le serveur faire un Ctrl+d

Maintenant vous pouvez utiliser pgadmin3 pour vous connecter en mode graphique.


Voilà, l'essentiel est fait. Il ne reste plus qu'à tester propel et créer vos fichiers schema.xml, build.properties et runtime-conf.xml pour vérifier que propel fonctionne correctement. Installer aussi netbeans qui vous permettra de développer rapidement et ainsi faire l'introspection de vos différentes classes.


Quelques examens des années précédentes

Valid XHTML 1.0 Transitional SIL - NTI copyright 2012