Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3978 connectés 

 


 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  48  49  50  ..  62  63  64  65  66  67
Auteur Sujet :

Model View Controller (MVC) - Architecture des applications PHP

n°1829752
theredled
● REC
Posté le 20-12-2008 à 00:08:27  profilanswer
 

Reprise du message précédent :
Jme suis planchié de topic en fait, mais merci :o
Je vais me pencher sur toussa, ça a l'air bien.


Message édité par theredled le 20-12-2008 à 00:09:11

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
mood
Publicité
Posté le 20-12-2008 à 00:08:27  profilanswer
 

n°1829767
ratibus
Posté le 20-12-2008 à 10:00:18  profilanswer
 

theredled a écrit :

Salut les pros,
 
Ya un truc spécial dans Sympony/Propel pour gérer les arbres ? (de catégorie, par ex)
Ou faut tout se taper à la main ?
 
Question musmidiaire :
 
Ya un truc spécial dans Sympony/Propel pour gérer des trads ?
Ou faut tout se taper à la main ?


En symfony < 1.2 (et donc propel 1.2) pour les arbres faut utiliser ça : http://www.symfony-project.org/plu [...] viorPlugin
Pour symfony 1.2 (et donc propel 1.3) c'est natif dans propel, tu déclares les infos au niveau du schema
 
Pour les trads :  
sf 1.0 : http://www.symfony-project.org/boo [...] n-and-L10n
sf 1.1 : http://www.symfony-project.org/boo [...] n-and-L10n
sf 1.2 : http://www.symfony-project.org/boo [...] n-and-L10n


---------------
Mon blog
n°1829781
Siluro
Posté le 20-12-2008 à 12:11:55  profilanswer
 

Pourquoi pas mal de gens (même ici) conseillent de passer à Doctrine et de lâcher Propel ?

n°1829783
masklinn
í dag viðrar vel til loftárása
Posté le 20-12-2008 à 12:15:07  profilanswer
 

Siluro a écrit :

Pourquoi pas mal de gens (même ici) conseillent de passer à Doctrine et de lâcher Propel ?


http://trac.symfony-project.org/wi [...] ndDoctrine ?


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1829801
Siluro
Posté le 20-12-2008 à 13:21:30  profilanswer
 

Ah cool thx.

n°1831557
theredled
● REC
Posté le 26-12-2008 à 02:41:58  profilanswer
 

C'est moitié foireux les NestedSets de Propel ou c'est encore moi qu'aie pas de bol ? :o

 

edit : nan faut juste faire hyper gaffe à rentrer des données valides (style clé unique) en BDD, sinon il incrémente quand même le parent sans rajouter le noeud et fait péter le truc.


Message édité par theredled le 26-12-2008 à 02:51:58

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1831558
Shinuza
This is unexecpected
Posté le 26-12-2008 à 04:19:58  profilanswer
 

En meme temps c'est un peu son role de gueuler si tu rentres des données invalides :/


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
n°1831598
theredled
● REC
Posté le 26-12-2008 à 12:02:25  profilanswer
 

Shinuza a écrit :

En meme temps c'est un peu son role de gueuler si tu rentres des données invalides :/


Sauf qu'il se contente pas de gueuler, mais aussi de quand même casser l'intégrité des données au passage :/

 

"Péter le truc" = "Péter la base" :o


Message édité par theredled le 26-12-2008 à 12:03:58

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1831599
Shinuza
This is unexecpected
Posté le 26-12-2008 à 12:11:31  profilanswer
 

Ca change rien, s'il gueule sans pour autant arréter l'operation y'a un soucis. C'est comme si quand tu voulais déplacer un fichier en utilisation dans windows il te gueulait dessus et corrompait le fichier.


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
n°1831600
theredled
● REC
Posté le 26-12-2008 à 12:16:12  profilanswer
 

Shinuza a écrit :

Ca change rien, s'il gueule sans pour autant arréter l'operation y'a un soucis. C'est comme si quand tu voulais déplacer un fichier en utilisation dans windows il te gueulait dessus et corrompait le fichier.


Ben donc on est d'accord nan :??:


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
mood
Publicité
Posté le 26-12-2008 à 12:16:12  profilanswer
 

n°1831602
Shinuza
This is unexecpected
Posté le 26-12-2008 à 12:26:32  profilanswer
 

Non, je sais pas encore de quoi tu te plains, plains toi donc correctement :o


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
n°1831608
theredled
● REC
Posté le 26-12-2008 à 12:48:35  profilanswer
 

Shinuza a écrit :

Non, je sais pas encore de quoi tu te plains, plains toi donc correctement :o


Je me plait qu'il a tout pété mon arborescence, tout en me gueulant dessus pour une autre raison :o
On balaie devant sa porte avant de me repprocher des choses, messieurs Propel et Mysql :o

 


En fait :
1) je crée un champ avec un "token" égal à "childdd" (ce champ "token" étant unique, et "childdd" étant déja pris)
2) je lui donne "root" comme parent
3) je sauve()
4) il modifie "root" pour accueillir son nouveau marmot
5) il se rend compte que ce marmot est impropre à la commercialisation
6) il gueule.

 

résultat :
- "root" est modifié
- le môme n'est pas ajouté
- c'est la merde.

Message cité 1 fois
Message édité par theredled le 26-12-2008 à 13:01:28

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1831754
masklinn
í dag viðrar vel til loftárása
Posté le 27-12-2008 à 00:22:22  profilanswer
 

theredled a écrit :


Je me plait qu'il a tout pété mon arborescence, tout en me gueulant dessus pour une autre raison :o
On balaie devant sa porte avant de me repprocher des choses, messieurs Propel et Mysql :o
 
 
En fait :
1) je crée un champ avec un "token" égal à "childdd" (ce champ "token" étant unique, et "childdd" étant déja pris)
2) je lui donne "root" comme parent
3) je sauve()
4) il modifie "root" pour accueillir son nouveau marmot
5) il se rend compte que ce marmot est impropre à la commercialisation
6) il gueule.
 
résultat :  
- "root" est modifié
- le môme n'est pas ajouté
- c'est la merde.


Tables MyISAM?


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1831758
theredled
● REC
Posté le 27-12-2008 à 01:02:13  profilanswer
 

masklinn a écrit :


Tables MyISAM?


nan nan Innodb


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1831759
masklinn
í dag viðrar vel til loftárása
Posté le 27-12-2008 à 01:07:19  profilanswer
 

theredled a écrit :


nan nan Innodb


Alors effectivement plugin de merde, tu devrais ptet aller ouvrir un bug :jap:


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1836268
moreno911
Posté le 10-01-2009 à 09:13:27  profilanswer
 

[:drap]

n°1889001
koskoz
They see me trollin they hatin
Posté le 28-05-2009 à 14:25:26  profilanswer
 

C'est gênant de faire une boucle dans une vue ?


---------------
Twitter
n°1889003
skeye
Posté le 28-05-2009 à 14:27:06  profilanswer
 

koskoz a écrit :

C'est gênant de faire une boucle dans une vue ?


c'est une question piège?[:pingouino]


---------------
Can't buy what I want because it's free -
n°1889004
koskoz
They see me trollin they hatin
Posté le 28-05-2009 à 14:29:01  profilanswer
 

skeye a écrit :


c'est une question piège?[:pingouino]


 
C'est qu'actuellement dans mes vues j'ai tendance à ne faire aucun traitement  [:spamafote]


---------------
Twitter
n°1889013
Alisteroid
Posté le 28-05-2009 à 14:53:34  profilanswer
 

koskoz a écrit :


 
C'est qu'actuellement dans mes vues j'ai tendance à ne faire aucun traitement  [:spamafote]


C'est pas vraiùent un traitement, tu traite pas tes données , tu ne fais que les parser pour les afficher.
Donc non je vois pas ce qu'il y a d'anormal :D.
 

n°1889017
FlorentG
Posté le 28-05-2009 à 15:07:59  profilanswer
 

Poste ton code :o

n°1889058
koskoz
They see me trollin they hatin
Posté le 28-05-2009 à 16:27:10  profilanswer
 

Alisteroid a écrit :


C'est pas vraiùent un traitement, tu traite pas tes données , tu ne fais que les parser pour les afficher.
Donc non je vois pas ce qu'il y a d'anormal :D.


 
:jap:
 

FlorentG a écrit :

Poste ton code :o


 
Un simple foreach.


---------------
Twitter
n°1889059
tomsoft
Posté le 28-05-2009 à 16:29:02  profilanswer
 

on veut du code mvc quand meme :o

n°1889062
FlorentG
Posté le 28-05-2009 à 16:37:05  profilanswer
 

Pourquoi n'aurait-tu pas le droit à du foreach dans une view [:petrus dei] S'il faut itérer sur des enregistrements pour les afficher par exemple

n°1889109
koskoz
They see me trollin they hatin
Posté le 28-05-2009 à 17:56:31  profilanswer
 

tomsoft a écrit :

on veut du code mvc quand meme :o


 
Moi c'est du 4 couches [:hahaguy]
 

FlorentG a écrit :

Pourquoi n'aurait-tu pas le droit à du foreach dans une view [:petrus dei] S'il faut itérer sur des enregistrements pour les afficher par exemple


 
Je posais juste une question :o


---------------
Twitter
n°1889151
theredled
● REC
Posté le 28-05-2009 à 20:22:00  profilanswer
 

koskoz a écrit :

 

Je posais juste une question :o


T'as même le droit aux fonctions/méthodes, tant qu'elles font de l'affichage.


Message édité par theredled le 28-05-2009 à 20:22:11

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1891081
theredled
● REC
Posté le 03-06-2009 à 19:12:16  profilanswer
 

Hey,

 

Théoriquement, le modèle ne doit jamais faire appel activement à l'extérieur si je ne m'abuse.

 

Seulement voilà je suis sur un e-commerce (multi-shops), et tous les calculs de prix dépendent de l'utilisateur en cours, toutes les insertions dépendent du shop en cours etc...

 

Autant d'élements qui dépendent de l'extérieur. C'est quoi la bonne pratique pour ce genre de cas ?

 

Passer les valeurs au modèle d'une façon ou d'une autre, au plus tôt dans la vie du script ?


Message édité par theredled le 03-06-2009 à 19:16:12

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1891082
FlorentG
Posté le 03-06-2009 à 19:18:38  profilanswer
 

Les modèles peuvent interagir entre-eux. Tu peux très bien filer une instance d'un modèle "shop" au modèle "produits."

n°1891085
theredled
● REC
Posté le 03-06-2009 à 19:43:36  profilanswer
 

FlorentG a écrit :

Les modèles peuvent interagir entre-eux. Tu peux très bien filer une instance d'un modèle "shop" au modèle "produits."


Oui, mais c'est la couche controlleur (c'est à peu près ce que j'entendais par "extérieur" ) qui décide quel est le shop en cours. Donc soit je passe le shop en argument aux modèles à 150 endroits différents, soit une seule fois, je ne sais où au début de l'exec... soit c'est le modèle qui appelle le controlleur quand il veut, tranquillou :o

 

Soit j'utilise la super solution qui a fait ses preuves et que vous allez me donner :o


Message édité par theredled le 03-06-2009 à 19:47:11

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1891099
FlorentG
Posté le 03-06-2009 à 21:09:43  profilanswer
 

File le shop en argument ouais. Pour éviter les 150 endroits différents, fait-toi un contrôleur abstrait par exemple qui fait ça.

n°1891155
theredled
● REC
Posté le 04-06-2009 à 01:50:47  profilanswer
 

Mouais :/ Pas compris l'histoire du contrôleur abstrait par contre :o


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1891169
FlorentG
Posté le 04-06-2009 à 07:28:24  profilanswer
 

Toute ta couche contrôleur a besoin de configurer un modèle avec le nom du shop.
 
Genre t'as des contrôleurs :

  • ajout-produit
  • lister-produits
  • calculer-prix


Tous on besoin du modèle produits, configurés avec le nom du shop. Alors tu peux très bien te faire une classe mère qui initialise le modèle tout seul :

Code :
  1. abstract class ProduitController extends Controller
  2. {
  3.  
  4.  protected $produitModel;
  5.  
  6.  public function init()
  7.  {
  8.     $this->produitModel = new produit_model($_GET['shop']);
  9.  }
  10.  
  11. }


 
Et après tes autres contrôleurs en héritent :

Code :
  1. class AjoutProduitController extends ProduitController
  2. {
  3.  
  4.   public function init()
  5.   {
  6.      parent::init();
  7.      // autres init ici
  8.   }
  9.  
  10.    public function httpPost()
  11.    {
  12.       $this->produitModel->insert($_POST);
  13.    }
  14. }


 

n°1891194
theredled
● REC
Posté le 04-06-2009 à 10:04:44  profilanswer
 

Dac, donc ça se rapproche plus de la solution "une seule fois, je ne sais où au début de l'exec" :D
 
Sachant qu'il n'y a pas que le modèle produit qui soit attaché au shop, mais aussi une vingtaine d'autres.


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1893333
igarimasho
Posté le 09-06-2009 à 19:16:18  profilanswer
 

Issue du bouquin: Apress, Holub on Patterns

Citation :

MVC is okay for implementing little things such as buttons, but it fails miserably as an  
application-level architecture because MVC requires the controller to know way too  
much about how the model-level objects are implemented. Too much data is flowing  
around in the system for the system to be maintainable.  


Je code en Ruby on Rails et j'aurais tendance à être d'accord avec lui. Combien de fois mes pages ont pété parce que j'ai changé un truc dans le model et oublié de modifier la view. J'écris des tests automatisés avec Test::Unit, mais c'est pénible, il faut aussi les maintenir, et je trouve que c'est plus une rustine qu'autre chose.
 
MVC c'est cool, mais pas la silver bullet.  :jap:  
 
EDIT: une fois j'avais discuté de la possibilité de mettre du code initialement dans une view dans un model, comme ça les choses pètent à un seul endroit, mais on m'a répondu 'hmm, view code that creeps into business logic is bad blabla' alors j'avais pas plus approfondit mais je sens que que je vais m'y repencher.
 
PS: désolé j'ai pas lu l'intégralité du topic.

Message cité 1 fois
Message édité par igarimasho le 09-06-2009 à 19:23:15
n°1893338
koskoz
They see me trollin they hatin
Posté le 09-06-2009 à 19:48:43  profilanswer
 

Je bosse sur une grosse appli qui utilise MVC et Smarty, alors oui, c'est contraignant de devoir faire des modifs sur 2 voire 3 couches à la fois, mais c'est vachement plus propre et compréhensible.


---------------
Twitter
n°1893339
theredled
● REC
Posté le 09-06-2009 à 20:00:47  profilanswer
 

igarimasho a écrit :

Issue du bouquin: Apress, Holub on Patterns

Citation :

MVC is okay for implementing little things such as buttons, but it fails miserably as an  
application-level architecture because MVC requires the controller to know way too  
much about how the model-level objects are implemented. Too much data is flowing  
around in the system for the system to be maintainable.  


Je code en Ruby on Rails et j'aurais tendance à être d'accord avec lui. Combien de fois mes pages ont pété parce que j'ai changé un truc dans le model et oublié de modifier la view. J'écris des tests automatisés avec Test::Unit, mais c'est pénible, il faut aussi les maintenir, et je trouve que c'est plus une rustine qu'autre chose.


Exemple ?


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1893343
igarimasho
Posté le 09-06-2009 à 20:27:38  profilanswer
 

Un truc bête. J'ai un objet User qui auparavant avait les attributs: firstname, middlename, surname. Je me suis rendu compte que quasiment personne ne tapait middlename ni surname. Alors j'ai remplacé ces 3 attributs par un seul: name.
 
Manque de bol l'objet User est utilisé dans une chiée de views, donc je dois faire les modifications à la main pour virer les anciens attributs et mettre name à la place. Les test automatisés m'ont bien aidé, mais c'est chiant à taper quand même.
 
Alors que l'idée d'Holub, c'est de créer une méthode: User#print_name qui encapsule prénom, nom, etc. Bien évidemment il faut se forcer à créer une API durable, et pas changer sur un coup de tête: print_name en render_name, parce que là ça sert à rien.
 
Et sinon ceux qui ont codé le passage à l'euro ça s'est bien passé? Ca me fait penser que mon support des devises est un peu crade aussi, c'est un mélange de code placé dans le model (et oui les prix sont stockés en centimes), views et helper.
 
Sinon j'ai aussi eu à ajouter (ça ça va encore), modifier (aïe) des attributs pour des paiments Paypal, parce que c'est un sacré foutoir. Le plus drôle c'est quand je me suis rendu compte que le champs mc_gross (ou je sais plus lequel) était le montant payé par un client diminué de la commission paypal qui était stockée dans un autre champs avec un nom à dormir debout. Là aussi recoder les views pour corriger les erreurs de calcul ça a été vachement drôle. Alors que si dès le départ ça se passait dans le model et avec une méthode amount avec tout ce qui va avec j'aurais pas eu à recoder.
 
Un bel exemple qu'il donne:

Citation :

You don't say, "Give me this attribute so I can print it." You say, "Give me a printable  
rendering of this attribute" or "print yourself."


Ca va dans le sens où le model doit avoir du code qui sera injecté dans les views, ou

Citation :


Money a, b, c;  
//...  
a.setValue( a.getValue() + b.getValue() );  
Rather, you ask the Money object to do the work, as follows:  
Money a, b, c;  
//...  
a.increaseBy( b );  


 
Mais c'est sûr que le MVC c'est mieux que d'y aller freestyle avec du code dans tous les sens, mais je pense que le model doit contenir du code qui initialement serait dans la view. Enfin y'a des trucs à adapter.
 
 
EDIT: bon je vais pas poster tout le livre mais merde il était sur ma TOREAD list depuis un moment et c'est seulement aujourd'hui que je vois ça:

Citation :


Probably the most shocking thing I've done in the traffic-model example is put a  
drawYourself(...) method on the Road segment. I've (gasp!) put UI code into the  
business logic!
[...]
The downside, of course, is that I've added a small amount of clutter to the  
Road class, but that UI clutter is easily concentrated in an inner class to clean up things.


Il expose exactement mot pour mot, les problèmes que j'ai rencontré.
 
 
EDIT: assez radical quand même là, voir trollesque dans ce topic, mais bon il n'a pas totalement tord non plus.

Citation :

[...]other UI architectures manage to hide encapsulation better than MVC. (Perhaps the real solution is to avoid an MVC-based UI framework altogether. MVC was developed almost 30 years ago, and we've learned a lot since then.)


M'enfin je vais pas réécrire entièrement mes applis RoR  [:pingouino]

Message cité 3 fois
Message édité par igarimasho le 09-06-2009 à 20:46:49
n°1893375
theredled
● REC
Posté le 09-06-2009 à 22:10:22  profilanswer
 


Alors là comme ça à première vue, je vois pas en quoi c'est intrinsèquement de la faute du MVC.

 

La plupart de ces exemples semblent être des problèmes de factorisation dans la View :o

 

Pourquoi print_name(), ou drawItYourself() n'appartiendrait pas à la vue, toujours sous forme de méthodes, par exemple sur une classe UserUI, RoadUI ?

 

Cela dit pour print_name(), à par le nom je vois pas pourquoi elle ne devrait pas être dans le modèle. Tu l'appelles get_name() et c'est parti :o

 

C'est un des problèmes que j'ai sur le plugin RSS de Symfony : par commodité, quand tu veux facilement rajouter des champs (forcément mis en forme), faut rajouter une méthode correspondante dans le modèle. Je trouve ça à chier, ils pouvaient faire la même chose avec des "partials" (mini-templates). Par contre là à la limite ce serait un peu lourd niveau perfs. Il manque des classes xxxUI - correspondant à un modèle ou pas - dans lesquelles pourrait rajouter en 5 sec des méthodes destinées à l'affichage. Pourquoi pas wrappant le modèle au lieu d'utiliser dirctement le modèle dans la vue...
C'est ptet pareil dans Rails, vu que symfony a piqué pas mal dessus ?

 

Et pour paypal, pourquoi n'y a-t-il pas une seule méthode qui s'occupe de lire la commande et de la transcrire en champs Paypal (+ une autre à côté pour le retour) ? J'ai l'impression que chez toi c'est découpé en 73...

Message cité 2 fois
Message édité par theredled le 09-06-2009 à 22:33:06

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1893380
masklinn
í dag viðrar vel til loftárása
Posté le 09-06-2009 à 22:28:31  profilanswer
 


Il fait la même chose dans l'autre sens, les modèles doivent connaître la manière dont il seront affichés (et donc dans le cadre de quel média ils seront affichés), c'est pas mieux [:petrus75]

 

Et c'est inutilisable dans le cadre d'une app avec GUI [:petrus75]

 

D'ailleurs en parlant d'apps avec GUI, Cocoa sur mac a tendance à violement forcer le MVC, et peu s'en plaignent. Le problème c'est aussi que MVC a justement été créé dans le cadre du codage d'apps desktop (en Smalltalk), les interactions comme les outils ne sont pas les mêmes.


Message édité par masklinn le 09-06-2009 à 22:28:45

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1893383
igarimasho
Posté le 09-06-2009 à 22:32:18  profilanswer
 

theredled a écrit :

Pourquoi print_name(), ou drawItYourself() n'appartiendrait pas à la vue, toujours sous forme de méthodes, par exemple sur une classe UserUI, RoadUI ?


Tu as raison, dans Rails il y a un helper pour chaque Model où on a accès aux méthodes pour la view, visiblement je ne l'utilise pas suffisamment ou mal  :o  (ça pourrait être le inner-class dont il parle par exemple).
 
Pour Paypal ça remonte à un bout de temps donc je sais plus trop, mais je me souviens d'avoir dégusté. Un truc chiant avec paypal c'est que les montants sont sous la forme "15.00" (un string quoi) et ça avait du me péter à la figure quand dans mes views c'était un int qui était attendu (j'utilise d'autres paiements en ligne qui travaillent en centimes).

n°1893385
masklinn
í dag viðrar vel til loftárása
Posté le 09-06-2009 à 22:35:04  profilanswer
 

igarimasho a écrit :

(ça pourrait être le inner-class dont il parle par exemple)


Non le gars il fait du java. Une inner class c'est une classe déclarée dans une autre classe :o


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  48  49  50  ..  62  63  64  65  66  67

Aller à :
Ajouter une réponse
 

Sujets relatifs
Comment créer une architecture propre et fonctionelle...[Débutant] Webdesigner a besoin d'aide pour PHP
script PHP style explorateur windowsPHP et MS SQL
[PHP] envoi d'images qui se dimentionne et s'ajoute direct sur 1pageAfficher le temps utilisé pour générer une page PHP
[PHP] connexion bdd différente selon page locale ou sur serveur ?Afficher une image générée par un script PHP dans un PDF ?
Utilisation d'une variable en Flash depuis PHPErreur de forum PHP
Plus de sujets relatifs à : Model View Controller (MVC) - Architecture des applications PHP


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)