Salut Merci de ton retour!

1 —
select * from Etudiant


> $query_1 = $connection
>   ->select('Etudiant', 'etudiants')
>   ->fields('etudiants')
>   ->execute();
>  //

---
Etudiant.objects.all()



2 —
select  max(age) from Etudiant

> $query_2 = $connection->select('Etudiant', 'etudiants')
> ->fields('etudiants', array('age'));
> $query2->addExpression('MAX(age)', 'age_max');
> $query2->execute();
> //

---
Etudiant.objects.all().aggregate(age_max =Max('age'))


3 — select  n1.nom from Etudiant e,
                Professeur p
               where p.id =e.id_professeur

Professeur.etudiants_set.values('noms')


4 — select top 1 from etudiant.

$query_4 = $connection
  ->select('Etudiant', 'etudiants')
  ->fields('etudiants')
  ->limit(1)
  ->execute();
//

---
Etudiant.objects.order_by('id')[0]

5 —

select top  1 id from Professeur
Update Etudiant  set id_Professeur =id


$transaction = db_transaction();
  try {
 $id = $connection
 ->select('Professeur', 'profs')
 ->fields('profs', array('id'))
 ->limit(1)
 ->execute()->fetchField();

  $connection->update('etudiants', array('fields' =>
array('id_Professeur' => $id)))->
        execute();
}
catch (Exception $e) {
 $transaction->rollback();
 //Tout ce que tu veux comme traitement
  }


---
@transaction.commit_on_success
def update():
        professeur = Professeur.objects.order_by(
                        'id')[0]
        Etudiant.objects.update(
                professeur =professeur)




> 1GIGA de Ram c'est beaucoup mon cousin (pour drupal+mysql seulement),
>si tu
> benchmark 10.000 fois seulement pour t'amuser tu verra que le temps
> d'éxécution se mlimitera maximum à une minute ou deux minutes mais
>dans la
> vraie vie  drupal un api batching http://drupal.org/node/180528.

Je veux voir ton  benchmark , je pense que je comprend un peu que c'est
comme sandbox, mais benchmark  quand meme , on verras ensuite !

> Tu peux programer ton process et laisser travailler. Peu être que c'est la
> prochaine chose à tester?

Comment je fais concrètement ?, oui cela pourrait être la prochaine étape?

> Si tu veux du lourd, lance toi avec l'ami Drupal tu sera pas déçu.
> Mais parle avec Thomas avant :)

Avec tout le respect que j'ai pour toi, et je ne doute pas que tu sois quelqu’un
de très brillant , tu n'as pas le 1/100 ieme des neurones de Thomas Noel et
ne serait que pour ça , il faut y allez molo .


> Propose un projet que nous ferions avec drupal de A à Z, c'est une maniéré
> utile de te convaincre et de faire quelque chose d'utile non?

Non , ce ne sera pas nécessaire , j'ai juste besoin de savoir est ce que il y'a
un ORM plus souple sous drupal, orienté objects? , et si  le benchmark
est Ok pour retour , alors  peu etre que je regarderai plus en profondeur ?.

Qu'est ce que tu entends par  — Object Drupal —  , c'est quoi ? , un model
object ? , je peux voir en ligne a quoi ça ressemble ?.

—Ad


Le 25 mars 2013 20:50, Alioune Dia <[email protected]> a écrit :
> Salut Merci de ton retour!
>
> 1 —
> select * from Etudiant
>
>
>> $query_1 = $connection
>>   ->select('Etudiant', 'etudiants')
>>   ->fields('etudiants')
>>   ->execute();
>>  //
>
> ---
> Etudiant.objects.all()
>
>
>
> 2 —
> select  max(age) from Etudiant
>
>> $query_2 = $connection->select('Etudiant', 'etudiants')
>> ->fields('etudiants', array('age'));
>> $query2->addExpression('MAX(age)', 'age_max');
>> $query2->execute();
>> //
>
> ---
> Etudiant.objects.all().aggregate(age_max =Max('age'))
>
>
> 3 — select  n1.nom from Etudiant e,
>                 Professeur p
>                where p.id =e.id_professeur
>
> Professeur.etudiants_set.values('noms')
>
>
> 4 — select top 1 from etudiant.
>
> $query_4 = $connection
>   ->select('Etudiant', 'etudiants')
>   ->fields('etudiants')
>   ->limit(1)
>   ->execute();
> //
>
> ---
> Etudiant.objects.order_by('id')[0]
>
> 5 —
>
> select top  1 id from Professeur
> Update Etudiant  set id_Professeur =id
>
>
> $transaction = db_transaction();
>   try {
>  $id = $connection
>  ->select('Professeur', 'profs')
>  ->fields('profs', array('id'))
>  ->limit(1)
>  ->execute()->fetchField();
>
>   $connection->update('etudiants', array('fields' =>
> array('id_Professeur' => $id)))->
>         execute();
> }
> catch (Exception $e) {
>  $transaction->rollback();
>  //Tout ce que tu veux comme traitement
>   }
>
>
> ---
> @transaction.commit_on_success
> def update():
>         professeur = Professeur.objects.order_by(
>                         'id')[0]
>         Etudiant.objects.update(
>                 professeur =professeur)
>
>
>
>
>> 1GIGA de Ram c'est beaucoup mon cousin (pour drupal+mysql seulement),
>>si tu
>> benchmark 10.000 fois seulement pour t'amuser tu verra que le temps
>> d'éxécution se mlimitera maximum à une minute ou deux minutes mais
>>dans la
>> vraie vie  drupal un api batching http://drupal.org/node/180528.
>
> Je veux voir ton  benchmark , je pense que je comprend un peu que c'est
> comme sandbox, mais benchmark  quand meme , on verras ensuite !
>
>> Tu peux programer ton process et laisser travailler. Peu être que c'est la
>> prochaine chose à tester?
>
> Comment je fais concrètement ?, oui cela pourrait être la prochaine étape?
>
>> Si tu veux du lourd, lance toi avec l'ami Drupal tu sera pas déçu.
>> Mais parle avec Thomas avant :)
>
> Avec tout le respect que j'ai pour toi, et je ne doute pas que tu sois 
> quelqu’un
> de très brillant , tu n'as pas le 1/100 ieme des neurones de Thomas Noel et
> ne serait que pour ça , il faut y allez molo .
>
>
>> Propose un projet que nous ferions avec drupal de A à Z, c'est une maniéré
>> utile de te convaincre et de faire quelque chose d'utile non?
>
> Non , ce ne sera pas nécessaire , j'ai juste besoin de savoir est ce que il 
> y'a
> un ORM plus souple sous drupal, orienté objects? , et si  le benchmark
> est Ok pour retour , alors  peu etre que je regarderai plus en profondeur ?.
>
> Qu'est ce que tu entends par  — Object Drupal —  , c'est quoi ? , un model
> object ? , je peux voir en ligne a quoi ça ressemble ?.
>
> —Ad
>
>
>
>
>
> Le 25 mars 2013 19:44, Mamadou bassirou THIAM
> <[email protected]> a écrit :
>>
>>
>> 2013/3/25 Alioune Dia <[email protected]>
>>>
>>> Pour t'aider a me convaincre , on pourrait commencer par un truc
>>> basique.
>>>
>>> http://drupal.org/developing/api/database
>>>
>>> Tu pourrais par exemple commencer par me parler de database
>>> Api pour commencer? comment est ce que le backend fonctionne pour
>>> me donner.
>>>
>>> Si pour une table Etudiant (Nom , Prenom, Age , id_Professeur)
>>> Si pour une table Professeur(Nom , Prenom, Age , id)
>>>
>>>
>>> 1 — select * from Etudiant
>>> 2 — select  max(age) from Etudiant
>>>
>>> 3 — select  n1.nom from Etudiant e,
>>>                 Professeur p
>>>             where p.id =e.id_professeur
>>>
>>> 4 — select top 1 from etudiant.
>>>
>>> Et si je veux exécuter une transaction du genre ,
>>>
>>> 5 —
>>>
>>> select top  1 id from Professeur
>>> Update Etudiant  set id_Professeur =id
>>
>> Si on suppose que tes tables se trouvent dans une base de données autre que
>> celle utilise drupal
>> voici à peu prés ce qu'il te faut:
>>
>> <?php
>>
>> $connection = Database::getConnection('default',
>> 'base_de_donnee_alioune_dia');
>> $query_1 = $connection
>>   ->select('Etudiant', 'etudiants')
>>   ->fields('etudiants')
>>   ->execute();
>>  //
>> $query_2 = $connection->select('Etudiant', 'etudiants')
>> ->fields('etudiants', array('age'));
>> $query2->addExpression('MAX(age)', 'age_max');
>> $query2->execute();
>> //
>> $query_3 = $connection->select('Etudiant', 'etudiants')
>>   ->fields('etudiants', array('nom'));
>> $query_3->leftjoin('Professeur', 'profs',
>> 'etudiants.id_Professeur=professor.id');
>> $query_3->execute();
>> //
>> $query_4 = $connection
>>   ->select('Etudiant', 'etudiants')
>>   ->fields('etudiants')
>>   ->limit(1)
>>   ->execute();
>> //
>> $transaction = db_transaction();
>>   try {
>>  $id = $connection
>>  ->select('Professeur', 'profs')
>>  ->fields('profs', array('id'))
>>  ->limit(1)
>>  ->execute()->fetchField();
>>
>>   $connection->update('etudiants', array('fields' => array('id_Professeur'
>> => $id)))->execute();
>> }
>> catch (Exception $e) {
>>  $transaction->rollback();
>>  //Tout ce que tu veux comme traitement
>>   }
>>
>>
>>
>>>
>>>
>>> 6  —
>>> Si je benchmark sur un systeme avec 1 GIGA de Ram
>>> avec une base de données MySql , combien de temps il me
>>> faut pour exécuter la transaction — 5 , 10.000 fois
>>>
>>
>> 1GIGA de Ram c'est beaucoup mon cousin (pour drupal+mysql seulement), si tu
>> benchmark 10.000 fois seulement pour t'amuser tu verra que le temps
>> d'éxécution se mlimitera maximum à une minute ou deux minutes mais dans la
>> vraie vie  drupal un api batching http://drupal.org/node/180528.
>> Tu peux programer ton process et laisser travailler. Peu être que c'est la
>> prochaine chose à tester?
>>
>>
>>>
>>>
>>> Si l’étape —5 et  — 6 prend du temps, tu pourrais juste me monter
>>> comment (juste la syntaxe pour avoir l’étape  —1 a  —4  avec le
>>> data base backend de drupal , je pourrais juste voir si c'est
>>> elle est séduisante .
>>> Ensuite on teste autre chose sur Drupal ?
>>> — Ad
>>
>>
>> Mieux encore si Etudiant et Professeur étaient des entités de drupal, tu te
>> contenterais de http://drupal.org/project/views, c'est du lourd ce module.
>>
>>
>> Si tu veux du lourd, lance toi avec l'ami Drupal tu sera pas déçu.
>> Mais parle avec Thomas avant :)
>> Propose un projet que nous ferions avec drupal de A à Z, c'est une maniére
>> utile de te convaincre et de faire quelque chose d'utile non?
>>
>>
>>>
>>>
>>>
>>>
>>> Le 25 mars 2013 16:12, Alioune Dia <[email protected]> a écrit :
>>> > Thomas Noel est bien arrivé a me convaincre de faire du Python, bon sang
>>> > essayer
>>> > juste de me convaincre /Mais vraiment, peu importe si je suis une
>>> > seule personne .
>>> > —Ad
>>> >
>>> > Le 25 mars 2013 11:40, Mamadou bassirou THIAM
>>> > <[email protected]> a écrit :
>>> >> Bonjour les amis,
>>> >> Je suis trop exité ce matin, alors aujourd'hui je ne pourrai pas
>>> >> m'empécher
>>> >> d'écrire.
>>> >> Je suis cette discussion depuis plusieurs semaines maintenant, et c'est
>>> >> ça
>>> >> qui est bizarre.
>>> >>
>>> >>
>>> >>
>>> >> 2013/3/25 Alioune Dia <[email protected]>
>>> >>>
>>> >>> Salut :-)
>>> >>>
>>> >>> Le 25 mars 2013 04:10, Patt Nsukami <[email protected]> a écrit :
>>> >>> > Puisque nous sommes a l'heure de ce qui inquiete :)
>>> >>> >
>>> >>> > Ce qui m'inquiete c'est cette maniere que tu as de t'auto detruire
>>> >>> > des
>>> >>> > le debut, (aucune maitrise de quoi que ce soit, aussi bete que l'ane
>>> >>> > de buridan, etc ....) ça devient habituel chez toi, et effrayant, un
>>> >>> > peu comme si tu manques de confiance en toi. :-\ si t'as pas
>>> >>> > confiance
>>> >>> > en toi, personne le feras a ta place.
>>> >>> >
>>> >>>
>>> >>>
>>> >>> +1 , ca sent le manque de confiance.
>>> >>>
>>> >>>
>>> >>> > Accepter de taffer sans etre payé, soit disant parce que c'est pour
>>> >>> > toi l'occasion de monter en competence. Moi ce que je vois c'est que
>>> >>> > t'as pas confiance en toi. Les membres de cette liste ne font que
>>> >>> > ça:
>>> >>> > ils se font plein de sous pour apprendre et maitriser de nouveaux
>>> >>> > trucs chaque matins, des trucs qu'hier ils ne connaissaient pas, et
>>> >>> > alors ????
>>> >>>
>>> >>> +1 , ca sent le manque de confiance, dans ce pays les gens se
>>> >>> réveillent
>>> >>> tous
>>> >>> les jours , mettent leurs costumes , prennent leurs voitures , posent
>>> >>> leur cul
>>> >>> dans
>>> >>> un bureau et vendent du vent toute la journée a coup de millions :-) .
>>> >>> Pourquoi tu ne vendrais pas ton site a coup de millions toi aussi ,
>>> >>> qu'importe qu'il soit même sous DreamWaver , toi au moins tu vends
>>> >>> du  concret :-).
>>> >>>
>>> >>> > Un outil pas trop compliqué mais quand meme puissant, je te rassures
>>> >>> > tout de suite, ça existes pas j'ai deja cherché, choisis en un avec
>>> >>> > lequel tu arrives a PRODUIRE VITE ET BIEN. Celui  avec lequel t'es a
>>> >>> > l'aise, tu veux le beurre et l'argent du beurre parbleu :-o
>>> >>>
>>> >>> - 1
>>> >>>
>>> >>> Un outil exits bel et bien et sa s'appelle Django pour moi, et peu
>>> >>> être
>>> >>> que ça s'appelle Php pour d'autres.  — Mais moi ce qui m’inquiète  —
>>> >>> c'est que cette liste devait m'appendre des choses nouvelles car en
>>> >>> réalité
>>> >>> c'est pour cette raison que je me suis inscrit , en me disant que les
>>> >>> étudiants
>>> >>> sont férus de nouvelles technologies et ils pourraient m'apprendre de
>>> >>> nouvelles
>>> >>> choses moi qui suit un peu loin de ce monde estudiantine et qui est
>>> >>> dans
>>> >>> le
>>> >>> monde professionnelle .Mais tout ce que je lis dans cette liste c'est
>>> >>> du Joomla ,
>>> >>> SPIP , et personne ne m'as encore vraiment convaincu d'aller vers du
>>> >>> Drupal ,
>>> >>> c'est encore très vague les choses qu'on me donnent .Je suis même a me
>>> >>> demander si les étudiants sont plus bons que moi.
>>> >>>
>>> >>
>>> >> Est ce que cette liste est une liste d'étudiant ou à majorité
>>> >> constituée
>>> >> d'étudiants?
>>> >> Quelqun peut-il nous éclairer please?
>>> >>
>>> >>>
>>> >>> Le défit de la programmation c'est de résoudre les problèmes de façons
>>> >>> objets , et d'interactions entre des objets , je dois programmer comme
>>> >>> si je parlais, le passage entre la parole et la programmation doit
>>> >>> être
>>> >>> trans
>>> >>> parente .Sur mon bureau j'ai des ordinateurs , tasse de café ,
>>> >>> téléphone ,
>>> >>> mes mains qui tapent sur un clavier , ça c'est mon monde réel , si
>>> >>> je dois encire toute cette logique dans un langage , la chose doit
>>> >>> être
>>> >>> transparent et fluide , sinon ce n'est pas un bon langage de
>>> >>> programmation.
>>> >>>
>>> >>> La programmation n'est pas un truc d' élite comme on, veut le croire
>>> >>> au
>>> >>> gens c'est juste un truc de bon sens (Traduire un truc réel en un
>>> >>> truc
>>> >>> informatique)
>>> >>> quand on me dis c'est quoi le  'données' commercial'
>>> >>> Le bon sens veut que quand je récupère le requête que le minimum de
>>> >>> données soient encapsule dans le — request .user— de l'utilisateur en
>>> >>> cours ,
>>> >>> et que si il y'a des choses a recuperer que cette chose soit encapsulé
>>> >>> dans un
>>> >>>  object —  ConseillerCommercial —  , pas dans — Mouton—  ou dans un
>>> >>> — chevre.—
>>> >>>
>>> >>> @login_required
>>> >>> def rbon_check(request ,template_name):
>>> >>>     print request.user
>>> >>>     user, best =\
>>> >>>          Commercial.rbon_check(request.user)
>>> >>>              return render_to_response(template_name ,
>>> >>> {'data' :[user,best] })
>>> >>>
>>> >>> En 2013  personne n'a plus le temps a perdre  a se fatiguer  a
>>> >>> programmer
>>> >>> ,
>>> >>> et dans un environnment de production c'est quasiment impossible ,
>>> >>> alors
>>> >>> j'ai besion de programmer comme si je parlais , et je dois passer plus
>>> >>> de
>>> >>> temps a faire de l'abtraction , Drupal , Django , WhatEver qui
>>> >>> n'arrive
>>> >>> pas
>>> >>> a me permettre de programmer un tas de chose en une seule journée
>>> >>> n'est
>>> >>> pas un bon truc , Mais Pat un tel truc existe bel et bien .
>>> >>>
>>> >>
>>> >> As tu essayer de *programmer* avec Drupal,
>>> >> Je pense pas que des gens se tueraient à convaincre un seul
>>> >> *programmeur*
>>> >> alors qu'il y a un framework à maintenir pour des millions
>>> >> d'utilisateurs.
>>> >>
>>> >> C'est dailleurs impossible de convaincre un programmeur par écrit ou
>>> >> discours, je pense que de pareils gens adoptent les solutions qu'ils
>>> >> ont eux
>>> >> meme testé et approuvé?
>>> >>
>>> >>  Il y a des gens qui arrivent à programmer un tas de chose en une seule
>>> >> journée avec Drupal, Django , WhatEver ; alors peut être que c'est en
>>> >> rapport avec les personnes et non avec ces outils.
>>> >>
>>> >>
>>> >>>
>>> >>> — Ad
>>> >>>
>>> >>
>>> >> Arretons de mettre n'importe quoi en ligne, si vous on peut faire *un
>>> >> bon
>>> >> site web* faisons le , sinon laissons un *bon dev web* le faire
>>> >> moyenant le
>>> >> coût d'un *bon site web*.
>>> >>
>>> >> Have a nice day guys,!
>>> >>
>>> >>
>>> >>
>>> >>>
>>> >>> --
>>> >>> Ce message a été envoyé à la liste [email protected]
>>> >>> Gestion de votre abonnement : http://dakarlug.org/liste
>>> >>> Archives : http://news.gmane.org/gmane.org.user-groups.linux.dakarlug
>>> >>> Le site du DakarLUG : http://dakarlug.org
>>> >>
>>> >>
>>> >>
>>> >>
>>> >> --
>>> >> Ce message a été envoyé à la liste [email protected]
>>> >> Gestion de votre abonnement : http://dakarlug.org/liste
>>> >> Archives : http://news.gmane.org/gmane.org.user-groups.linux.dakarlug
>>> >> Le site du DakarLUG : http://dakarlug.org
>>>
>>> --
>>> Ce message a été envoyé à la liste [email protected]
>>> Gestion de votre abonnement : http://dakarlug.org/liste
>>> Archives : http://news.gmane.org/gmane.org.user-groups.linux.dakarlug
>>> Le site du DakarLUG : http://dakarlug.org
>>
>>
>>
>>
>> --
>> Ce message a été envoyé à la liste [email protected]
>> Gestion de votre abonnement : http://dakarlug.org/liste
>> Archives : http://news.gmane.org/gmane.org.user-groups.linux.dakarlug
>> Le site du DakarLUG : http://dakarlug.org

--
Ce message a été envoyé à la liste [email protected]
Gestion de votre abonnement : http://dakarlug.org/liste
Archives : http://news.gmane.org/gmane.org.user-groups.linux.dakarlug
Le site du DakarLUG : http://dakarlug.org

Répondre à