Mac4Ever Refurb Guide d'achat Apple - Des conseils sur toute la gamme Apple Débuter sur Mac
Symfony, ou comment coder plus confortablement
Actu Dossiers Forum Photos/Podcasts Petites Annonces V.I.P.
2486 connectés

Symfony, ou comment coder plus confortablement

Le 10/11/2006 à 19h20
Dossier proposé par
Symfony, ou comment coder plus confortablement
Si vous codez en PHP depuis un moment, vous connaissez probablement la version 5 du langage et sa programmation orientée objet relativement inspirée de java. Et il vous est sûrement arrivé de rencontrer ce genre de situations :

- coder deux fois de suite la même fonction
- refaire la procédure de connexion a la base de données suite à un changement de serveur
- revenir dans votre code x mois après et ne plus rien comprendre

Avec Symfony, vous allez pouvoir oublier tous ces petits soucis !

Un FrameQuoi ?


Un Framework est un environnement de travail, une structure dont on utilise l'arborescence ainsi que la librairie très riche en fonctions plus ou moins utiles. De plus, avec Symfony, et certains autres Frameworks tels Ruby on Rails ou Jelix, des applications sont là pour vous permettre de générer la base de données, les classes de la partie modèle du MVC, l'application, les modules...

En bref, un Framework comme Symfony fait une partie du boulot à votre place, mais ce n'est pas tout. Il essaye aussi de rendre votre projet facilement portable d'un environnement de déploiement à l'autre.

Pourquoi utiliser ce Framework ?


Plusieurs raisons peuvent vous motiver à utiliser ce Framework.

Tout d'abord, utiliser Symfomy rend votre code mieux organisé. Symfony utilise une architecture bien particulière, et vous vous devez de vous y conformer ! Chaque type de composant doit être placé dans un répertoire particulier, ce qui fait qu'au final votre projet est bien ordonné. Voici un aperçu de l'organisation de Symfony.

- les applications sont placées dans un répertoire « apps/ », et sont composés de contrôleurs et de composants de présentation.
- le ou les fichiers css sont dans rangés dans le répertoire « web/css »
- les fichiers javascript vont dans « web/js »
- les images, etc.

Par conséquent, si vous reveniez sur votre projet après 6 mois d'interruption, vous retrouveriez facilement vos marques. De même, un autre développeur familier du Framework serait en mesure de travailler sur votre code très rapidement.

Une autre bonne raison d'utiliser Symfony est la virtualisation de la base de données. Symfony exploite la technologie OpenSource Propel pour vous permettre de construire les classes de vos bases, avec leurs jointures, en deux requêtes. Vous pouvez ainsi accéder aux éléments de la base de données sans écrire de requête SQL. Cela vous permet de vous assurer que votre projet n'est pas dépendant d'un type de base de données particulier.

Pour accéder aux données d'une table membre via un id passé en url, vous feriez comme ceci.

//on sélectionne l'objet par sa clé primaire (Pk: Primary Key)
$membre = MembrePeer::retrieveByPk($this->getRequestParameter('id'));

//affiche le nom et le prenom
echo $membre->getPrenom() . ' ' . $membre->getNom();


De même, pour effectuer un update de la table membre, vous feriez comme ceci.

//on sélectionne l'objet que l'on veut modifier
$membre= MembrePeer::retrieveByPk($this->getRequestParameter('id'));

//on met a jour le nom
$membre->setNom('Dupont');

//de même avec le prénom
$membre->setPrenom('Dupont');


Symfony utilise les fameux "getters/setters", chers aux programmeurs Java.

On remarquera que pour récupérer des valeurs provenant de formulaires, on utilise la méthode

$value = $this->getRequestParameter('le_nom_du_champ');


Et ce, quelque soit la méthode utilisée dans le formulaire (GET ou POST).

Sinon, un autre avantage de Symfony est la génération des fichiers CRUD (Create, read, update, delete). Continuons avec notre exemple de table membre. Grâce à la ligne de commande suivante :

symfony propel-generate-crud frontend membre Membre


Symfony va vous générer les fichiers :

- actions/actions.class.php
- templates/createSuccess.php
- templates/editSuccess.php
- templates/listSuccess.php
- templates/showSuccess.php

En vous rendant à l'adresse adresse_de_votre_projet/membre/, vous verrez se lister les champs de la table membre, ainsi que des liens pour éditer, créer et afficher les enregistrements.

Enfin, dernier atout de ce Framework : la simplification des URL. Avec Symfony, les URLs ressemblent à « Mon_projet/membre/create », plutôt qu'à « index.php?pg=mb&action=create ». L'url rewriting est géré en natif, et paramétrable via un fichier de configuration. Il est même possible d'utiliser un suffixe comme .html pour un meilleur référencement. De plus, vous n'avez pas à vous demander comment linker tel ou tel module. Une fonction le fait pour vous.

echo link_to("Créer un membre","membre/create");


Paroles, paroles et paroles...


Puisque quelques images valent bien quelques centaines des mots, vous pouvez télécharger un screencast dédié à l'utilisation de Symfony sur le site officiel de Symfony.

Oui, je le veux ...


Vous êtes convaincus et vous souhaitez vous y mettre ? Rien de plus facile. Tout d'abord, passez sur le site officiel du projet. Vous y trouverez toutes sortes d'informations quant à l'installation et l'utilisation de Symfony.

http://www.symfony-project.com/

En fait, on peut installer Symfony de deux façon : en utilisant la Sandbox ou Pear.

La Sandbox

Elle se présente comme une solution tout-en-un. Elle comprend les applications nécessaires à la génération du code, et l'arborescence de base d'un site.

Avantages :
- Mettez la Sandbox, ainsi que le fichiers fichiers d'installation de MAMP, LAMP et WAMP sur une clé USB, et vous avez un véritable environnement de travail nomade.
- Pas de véritable installation. Il suffit de tout dézipper dans le répertoire ad hoc de votre serveur.

Inconvénient :
- Le poids (pour chaque site vous aurez une copie des applications de Symfony)

Installation PEAR

Au début j'étais réticent à utiliser cette alternative, puis en voyant la simplicité d'utilisation et d'installation, j'ai opté pour cette solution.

Une fois votre PATH mis à jour de façon à inclure le dossier 'bin' du répertoire de votre installation de php 5, il suffit de quelques commandes dans votre terminal pour installer Symfony. Ensuite, il vous suffira de vous placer dans le bon répertoire et de taper dans le terminal

symfony init-project mon_projet


Ce qui générera l'intégralité de l'arborescence du nouveau site.

Avantages :
- Symfony peut être mise à jour directement via PEAR.
- Le poids. Les applications de Symfony ne sont qu'à un seul endroit.

Inconvénient :
- La mise à jour du PATH, et l'installation, rebuteront les moins geek d'entre vous.

Les instructions complètes d'installation sont disponibles à cette adresse :

http://www.symfony-project.com/content/download.html

Et le SAV ?


Symfony, bien qu'étant un projet français, dispose d'un forum et d'une documentation en anglais. Toutefois, un groupe de discussion en français existe sur Google. Vous pouvez le trouver à cette adresse :

http://groups.google.com/group/symfony-fr?lnk=li

N'hésitez pas à vous y inscrire !

Conclusion


Symfony est un vrai régal pour les programmeurs. Il rend le PHP beaucoup plus confortable, l'ajax plus abordable, l'optimisation du référencement (url rewriting) plus simple, l'internationalisation (i18n) triviale, etc. C'est un vrai régal pour les programmeurs.

Aprés avoir étudié plusieurs Frameworks dont Prado, Jelix et Zend, je préfère Symfony pour les raisons suivantes : quelques lignes de commandes génèrent une partie du code, une bonne documentation, une grande facilité de prise en main, et le yml,

Faites-vous votre propre opinion en téléchargeant la Sandbox !

Vu que j'utilise Symfony quasiment au quotidien sur Windows et Mac (installation PEAR), je peux répondre à la majorité de vos questions dans les réactions.
partage email

Les bases du php

Mac4Pro : Axel Andersson, un programmeur Wired

chargement des réactions

Réagissez à ce dossier !

Pour réagir directement dans le forum, cliquez ici.
Pour réagir, vous devez être identifié.
Si vous ne possédez pas de compte, créez-en un !
Identifiant :
Mot de passe :
Gras Italique Souligné Image URL Smiley confus Smiley cool Smiley M. Vert Smiley malsain Smiley mort de rire Smiley geek Smiley surpris
Important : soyez concis, courtois et pertinents. (plus d'infos ?) Les messages injurieux et hors sujet seront effacés. En cas de non respect de ces instructions, le compte d'un utilisateur pourra être bloqué sans préavis.
Pour toute erreur dans un article, merci de nous le signaler en nous contactant ici.

Conseils d'achat

  • Macintosh

  • iPhone, iPad & iPod

iMac 27" 5k Indicateur rouge Informations 10/2015 2099 € L'iMac Retina a été mis à jour le 13 octobre 2015 avec une architecture Skylake, et de nouvelles cartes graphiques. En revancge, Apple n'a pas intégré de post USB C ou de prise Thunderbolt 3. La mise à jour est attendue courant 2017, donc mieux vaut attendre !
iMac 21,5" 4k Indicateur rouge Informations 10/2015 1699 € L'iMac Retina 21,5" a été mis à jour le 13 octobre 2015 avec une architecture Broadwell, mais perd sa carte graphique dédiée. Apple n'a pas non plus intégré de post USB C ou de prise Thunderbolt 3. La mise à jour est attendue courant 2017, donc mieux vaut attendre !
iMac Indicateur rouge Informations 10/2015 1249 € L'iMac 21,5" (non Retina) a été mis à jour le 13 octobre 2015 avec une architecture Broadwell. La mise à jour -si elle a lieu- devrait avoir lieu fin 2016.
Mac Mini Indicateur rouge Informations 10/2014 549 € Le Mac mini a été mis à jour fin 2014, avec quelques améliorations notables, comme Thunderbolt 2, WiFi ac. Son prix a également fortement baissé, mais au prix d'un boiter moins évolutif (RAM soudée) et d'absence de quadri-coeur. Une renouvellement pour la rentrée (voire fin 2016) est probable, même si Apple n'a pas l'habitude de mettre à jour cette machine très souvent. Regardez aussi du côté du Refurb, où l'on trouve régulièrement des modèles à partir de 459€ !
Mac Pro Indicateur rouge Informations 10/2013 3339 € Les rumeurs évoquent maintenant un nouveau Mac Pro courant 2017, avec 10 ports USB (USB C et Thunderbolt 3 ?). Dans tous les cas, surtout n'achetez pas les modèles actuels datant de 2013 et désormais assez dépassés.
MBP Retina 13" Indicateur vert Informations 10/2016 1699 € Les MacBook Pro Retina 13" ont été mis à jour le 27 octobre 2016 mais attention ! Il y a deux modèles différents ! L'entrée de gamme n'a pas de TouchBar et seulement 2 ports Thunderbolt 3, contrairement à la seconde version, mieux équipée (mais plus chère). Il s'agit des machines les plus puissantes et des mieux équipées des portables 13" de la Pomme, mais attention à la connectique, qui nécessitera de nombreux adaptateurs ! Notez qu'Apple conserve "l'ancien" modèle au catalogue, avec son ancienne connectique et un prix inchangé.
MBP Retina 15" Indicateur vert Informations 10/2016 2699 € Les MacBook Pro Retina 15" ont été mis à jour le 27 octobre 2016, avec une "TouchBar" tactile et 4 ports Thunderbolt 3. Il s'agit des machines les plus puissantes et des mieux équipées des portables de la Pomme, mais attention à la connectique, qui nécessitera de nombreux adaptateurs ! Notez qu'Apple conserve l'ancien modèle au catalogue.
MacBook Air Indicateur orange Informations 03/2015 1099 € Le MacBook Air a été mis à jour en mars 2015, et semble désormais abandonné par Apple. Si vous avez besoin de ce modèle, jetez un œil sur le Refurb avant de vous décider. Notez qu'Apple a fait disparaitre la version 11" depuis octobre 2016, mais on trouve encore ce modèle sur le Refurb.
MacBook Indicateur orange Informations 04/2016 1449 € Le MacBook Retina 12" a été mis à jour le 20 avril 2016, avec très peu de nouveautés : un CPU qui stagne, une nouvelle couleur rose et un SSD 3x plus rapide. Avant de craquer, lisez bien notre test complet ! Notez que le Refurb propose le modèle de l'an dernier avec de belles réductions. Enfin, il est probable qu'il soit renouvelé autour d'avril 2017... même si aucune rumeur n'a vu le jour pour l'instant.
Apple TV 2015 Indicateur orange Informations 10/2015 199 € L'Apple TV 2015 est sortie fin 2015 et commence à dater un peu : pas de 4k, des performances réseaux moyenne et un prix encore élevé. La rumeur évoque une évolution courant 2017, avec la 4k et le HDR. Le boitier reste malgré tout une bonne affaire... si vous la prenez sur le Refurb !
Téléchargez nos
applications mobiles
À découvrir sur Mac4Ever
b 1  b 2 
Mon Mac4Ever
Pour participer, vous devez être identifié.
Si vous ne possédez pas de compte, vous pouvez en créer un gratuitement !
Identifiant :
Mot de passe :
Sondage
Seriez-vous intéressé(e) par une borne domestique embarquant Siri ?
1192 votes
app