Une difficulté de la logique. Aidez moi svp.

dbobby
Une difficulté de la logique. Aidez moi svp.

Bonjour
Ca fait longue temps que je ne vous ai pas écrit, alors me revoilà. En fait je fais appel a votre aide puis que je me troue devant un problème qui est peut être d’ordre logique, et pas facile a résoudre d’âpres moi.
Voila, pour un projet de taille je dois constituer un fichier de cette ordre :

Fichier :
Homme - Femme
Mariage entre eux
Des enfants qui descendent des différentes couples
Apres mariage entre les enfants (plus tard)

(Ca ressemble un peu a un programme généalogique, mais pour plusieurs familles)

Il faut aussi prendre en considération qu’une femme peut avoir plusieurs maris pendent sa vie, ainsi l’homme peut avoir plusieurs femmes. En court de remariages.
Donc les enfants ne descendent pas toujours du même couple.

Dans le requêtes je dois pouvoir afficher l’homme ; femme ; les couples et leurs enfants respectifs, et aussi les ascendants des enfants.

Maintenant je vais vous donner un exemple qui n’est pas une bonne solution et pas complète non plus

Prenons ms access
Je crée une table Homme
« « « « Femme
« « « « Enfant (evntl table garçon et table fille mais pas forcement)

Maintenant je dois créer de relation entre les différents fichiers par lignes de code et pas dans les options homme peut dépendre de femme ou vice versa. Puis que comme indique plus haut chacun peut avoir plus qu’un partenaire.
Suite il y’a des enfants qui vont se marier et avoir des enfants. Ca m’obligera de le copier dans les parents, je n’aurai plus accès facilement a leurs ascendants qui se trouvent maintenant dans le même fichier (Homme-Femme)
Voila, ici la base de données commence à perdre de sa efficacité
Bien sur je ne pense pas qu’un programme comme access sera bon pour un exercice pareil, mais si vous pensez à des solutions faites le moi savoir.
Merci d’avance
Dbobby

dbobby
precision

Encore une precision. je pense de mettre le proget sur le reseau open source puis que c'est un projet de taille assez grand. Ca serai la premiere fois que je fait ca . En verra ce que ca donne. Mais avant j'aurai d'autres questions.
En tout cas avant de le mettre il faudrai deja que je trouve une solution pour cette question plus haut
Et je vous tiendrai au courant de developpement

jrebillat

Hum...
Je n'aurais pas pris le problème comme toi.

Pour moi, hommes, femmes et enfants sont des personnes. Donc j'aurais fait un table "Personne" avec un id unique pour chacune et en plus nom, prénom, etc... et aussi le sexe comme colonne. Par ailleurs, chacun n'ayant qu'un père et une mère - enfin je crois - deux colonnes ( "pere" et "mere" ) contenant les ids des géniteurs (pour ceux dont les parents ne sont pas répertoriés, on mettra 0 comme id des parents).

Ensuite, certaines de ces personnes ont des relations de mariage. Donc une nouvelle table avec l'id du mari, l'id de la femme, la date du mariage et celle du divorce, par exemple.

dbobby

oui,merci deja pour cette reponse.
Mais comprennez que c'est pas une solution ideale , puis que ca peut creer une double- voir triplle emploi des memes personnes dans des differntes fichiers, et je pense que ca peut creer un veritable "spaghetti fichiers"
deja je voudrai bien eviter de copier les enfants dans le fichier des adultes maries, puis que ca ferai un double emploi, et on risque de ne pas pouvoir bien exploter les differentes donnees
UN VRAI CASSE TETE
encore merci

bast2

Non je ne vois pas de double emploi. Je suis de l'avis de jrebillat. Il n'y qu'une seule entrée dans la table personnes, par "humain", qu'il soit père, père ou enfant.
Le champ indiquant la situation familiale ne pouvant pas avoir plusieurs valeurs en même temps, ce champ peut être intégré à la table personnes.

Si un couple a un enfant, alors le champ père et mère contiendra l'id de l'enfant, mais le père et la mère lui n'aura pas à être modifié, puisque tu peux savoir si l'homme ou la femme a un enfant en regardant si l'id est présent dans le champ père ou mère de l'une des personne.

C'est en tout cas la manière la plus efficace selon moi de constituer la base. La seule info externe à cette table personnes sera effectivemment la relation existant entre un homme et une femme.

Pour les frères et soeurs, tu pourra les déduires, pas besoin de préciser dans la base qui est frère de l'autre. Tu pourra même voir si ils sont demi-frères en regardant si les id du père et de la mère sont les même ou si l'un des deux diffères.

En quoi tu vois que cela ferait un "spaghetti fichiers"

Les enfants n'ont pas à être copiés d'une table à l'autre, tu n'as pas besoin de faire un table enfants et une table parents, ca n'a pas de sens.
Toutes les personnes doivent se trouver dans la même table.

fredericmazue

Quote:
Non je ne vois pas de double emploi. Je suis de l'avis de jrebillat.

Double emploi n'est pas le terme. Et l'avis de jrebillat n'est pas nécessairement bon non plus. Il peut l'être ou pas selon ce qu'il est vraiment question de faire, ce qui n'est pas excessivement clair.

La difficulté, ce que dbobby appelle un casse-tête :lol:, c'est qu'il s'agit d'avoir une base de données arborescentes ce qui est effectivement très difficile.
Ce qui n'est pas clair dans la question, c'est comment traiter les données. Tout SQL ? Partie SQL partie code ? (en quel langage au fait ?) Dbobby parle de fichiers et en même temps d'Access ce que je trouve curieux.

Pour ce qui est de savoir si Access convient. Si on fait du tout SQL c'est non. Dans ce cas il faut éviter les jouets et prendre un SGDBR qui supporte les procédures stockées récursives. Les procédures en question travaillant sur des tables en auto-jointures
Si on fait du tout SQL, il faut savoir qu'au délà d'une profondeur de 5 le coût en terme de performances devient prohibitif avec des données organisées "id de parent dans l'enregistrement de l'enfant, etc". Si le volume de données et la profondeur sont importants, il faut gérer ce qu'on appelle une arborescence à représentation intervallaire. Avec ça les requêtes restent rapides, mais il y d'autre inconvénients, comme par exemple poser une limiter arbitraire au nombre de descendants d'une personne.

Ce qui n'est pas clair non plus est comment seront parcourues les données, toujours dans le même sens ? Dans la question j'ai cru comprendre que non

Quote:
les couples et leurs enfants respectifs, et aussi les ascendants des enfants.

Si c'est toujours dans le même sens, en remontant vers les ascendants, alors la suggestion de jrebillat fonctionne.
Si c'est dans les deux sens il y a problème car alors on a des graphes dont les noeuds ont plusieurs parents, ce qui n'a rien de pratique pour un parcours du graphe dans le sens descendant :lol:
Quote:
Les enfants n'ont pas à être copiés d'une table à l'autre, tu n'as pas besoin de faire un table enfants et une table parents, ca n'a pas de sens.

Non seulement ça n'a pas de sens, mais une redondance de données est toujours à proscrire comme le veut le bon sens. C'est même pour cette raison que l'on a inventée la clé étrangère ;) :D

Maintenant ce qui est peut être à proscrire c'est le concept de table pour faire cela. Du moins pour traiter les données sinon les stocker. Ce que je veux dire c'est que dans le cas des données arborencentes comme ça, (si grande profondeur et gros volume, je le répète) le SGDBR ne suffit pas à lui seul, il faut écrire du code autour...

jrebillat

fredericmazue wrote:
Et l'avis de jrebillat n'est pas nécessairement bon non plus.

Tiens donc... et pourquoi ne suis-je pas étonné ? 8)

Pour le reste, je te rejoins. Sauf que je ne me posais même pas la question. pour moi une base de données, c'est fait pour être interrogé par du code... Je n'envisageais pas du tout du "tout-SQL" surtout avec Access !

bast2

jrebillat wrote:
Sauf que je ne me posais même pas la question. pour moi une base de données, c'est fait pour être interrogé par du code... Je n'envisageais pas du tout du "tout-SQL" surtout avec Access !

Idem pour moi, cela me paraissait tellement évident que je ne l'ai pas précisé non plus :D

fredericmazue

Quote:
Tiens donc... et pourquoi ne suis-je pas étonné ?

Rien de personnel là dedans, sinon j'aurais trouvé le moyen de dire d'emblée que l'avis de jrebillat était mauvais :lol: ;)
Surtout que c'était facile. En fait dbobby dans sa présentation du problème induit quelque chose qui est assez contre nature, à savoir sauvegarder dans une *même* table, des données en fonction d'autres données de la dite table. C'est contre nature en SQL et c'est donc normal que SQL ne soit pas performant sur ce coup puisqu'il est utilisé à contre emploi.
C'est vicié à la base (si je peux dire :D).

Quote:
pour moi une base de données, c'est fait pour être interrogé par du code... Je n'envisageais pas du tout du "tout-SQL"

C'est que là ce n'est pas si évident. Bon bien sûr, le gag Access on oublie.
Mais une base de données c'est fait pour être interrogé non par du code quelconque mais par du code SQL. Ca fait une grosse différence. C'est pour cela que dans ces situations, on utilise des procédures stockées récursives. Parce que une seule requête traite tout le problème.
Sinon, la récursivité étant inévitable puisqu'on a des données arborescentes, qui va l'effectuer ? Un langage X en faisant des appels récursifs avec dans chaque appel une requête SQL simple ?
Le problème est que si l'arborescence est un peu grande, ce qui est probable dans notre cas (les éventuelles familles nombreuses) le nombre de requêtes à formuler va exploser exponentiellement.
Dans le cas de clients lourds (ou riches comme on dit maintenant), le traffic réseau va être surchargé et le SGDBR aussi car il devra compiler les requêtes au passage à chaque appel. Dans le cas d'un client léger (navigateur) ce sera alors (par exemple) du code Php qui va mouliner et augmenter la charge du serveur avec éventuellement un débordement de pile ou un épuisement mémoire à la clef. (et le SGDBR reste tout autant sollicité d'ailleurs). Ca va être difficile de tenir la charge (oui je sais encore mon buzz sur la charge, mais quand on fait de l'informatique c'est une chose à laquelle il est bon penser ;) ) Tandis qu'avec une procédure stockée, on peut raisonnablement croire que les traitements seront optimisés et on s'affanchit de la compilation de la requête.

Bon maintenant sans doute il serait judicieux de repenser tout le problème, et d'utiliser des outils adaptés à un problème qui n'est pas du tout anodin, des outils capables de travailler sur les graphes de façon naturelle. Evidemment je pense à des outils "à esprit tordu". Alors là je me contente seulement d'évoquer ;)

dbobby

whoao, je n'aurai jamais pensé que je vais creer une telle polemique.
Merci pour toutes vos reponses.
je vais devoir prendre un peu de temps pour etudier les reponses.
Ce qui concerne access , c'etait juste un example , puis que access je connais assez bien comme sbgdr.Bien entendu , je ne pense pas qu'accessl est ideal pour ce projet.
Si je me trompe pas , il faudrai regarder comment un programme de genealogie est fait, et le reecrire pour des multifamilles.
vous avez dans la base
Homme1 homme2
femme1 femme2
hoome1 se mairie avec femme1
pareil pour homme2 et femme2
Ils ont des enfants
les enfants se marient etc, etc
Est ce que c'est la programmation des arbres binaires qu'il faut utiliser pour un tel projet ??

bast2

dbobby wrote:
whoao, je n'aurai jamais pensé que je vais creer une telle polemique.

Non pas de polémique 8) Ce n'est qu'un échange d'idée, c'est comme ca qu'on pense un projet de toute façon. Il y a toujours plusieurs façon de faire, mais certaines sont meilleurs que d'autres.

fredericmazue

Quote:
whoao, je n'aurai jamais pensé que je vais creer une telle polemique.

Comme dit notre webmaster, aucune polémique ici :)
Quote:
Ce qui concerne access , c'etait juste un example , puis que access je connais assez bien comme sbgdr

Parfait. Maintenant jette le :)
Quote:
Si je me trompe pas , il faudrai regarder comment un programme de genealogie est fait, et le reecrire pour des multifamilles.

Tu te trompes deux fois.

1) D'abord faudrait être sûr qu'il est bien fait.
2) s'il est bien fait pour une famille, alors il est bien fait pour plusieurs familles. Il suffit de l'invoquer plusieurs fois. Une fois par famille :)

Quote:
Est ce que c'est la programmation des arbres binaires qu'il faut utiliser pour un tel projet ??

Il s'agit bien d'arbres. Mais pas binaires.
Dans un arbre binaire, chaque noeud a au plus deux noeuds fils, d'où le nom de BInaire. Comme si chaque couple avait au plus deux enfants par exemple.
Dans ton cas, tu ne sais pas ce qu'est l'arbre. Et si tu traites des familles nombreuses il va être bien loin d'être binaire.
C'est là qu'employer un langage capable de travailler naturellement avec les arbres serait bienvenu. Et le choix du langage aura certainement un impact sur la meilleure façon de stocker les données.
Faudrait aussi savoir si les quantités de données sont importantes. Selon que tout peut tenir en mémoire (quelques familles seulement sur quelques générations) ou que le travail avec des données sur disques (un très grand nombre de familles sur des centaines de génération) est incontournable. Selon la situation la façon de solutionner le problème ne sera pas la même.
dbobby

D'accord .,j'ai compris. Un tres grand merci a vous tous.
Encore une chose. Quel sont les languages moderne le plus apte, pour le traitement des arbres (pas binaire !) ?

fredericmazue

Ca dépend du volume de données à traiter, et de ce que tu veux en faire, ce que je n'arrive pas à te faire dire.
Entre une petite appli personnelle qui montre l'arbre généalogique de ta famille, de ta belle famille et de ta petite amie seulement et sur 5 générations seulement et un site de généalogie très sollicité et montrant des miliers d'arbres sur une centaines de générations la donne n'est pas la même. Donc on ne choisira pas nécessairement le(s) même(s) outil(s)

Les langages (très) adaptés aux arbres sont les langages fonctionnels. Mais j'ose à peine le murmurer, j'entends déjà les sarcasmes des obscurantistes... :lol:
Sinon tout langage qui supporte la récursivité fera l'affaire, plus ou (beaucoup) moins bien selon les besoins à satisfaire.

dbobby

ah c'est ca vous voulez savoir. je ne pensai pas que c'etait tellement important.
C'est pour des associations en france, qui peuvent avoir plusieurs centaines voir milliers de membres. C'est ne vraiment pas defini.
voila, merci
dbobby

bast2

fredericmazue wrote:
Ca dépend du volume de données à traiter, et de ce que tu veux en faire, ce que je n'arrive pas à te faire dire.
Entre une petite appli personnelle qui montre l'arbre généalogique de ta famille, de ta belle famille et de ta petite amie seulement et sur 5 générations seulement et un site de généalogie très sollicité et montrant des miliers d'arbres sur une centaines de générations la donne n'est pas la même. Donc on ne choisira pas nécessairement le(s) même(s) outil(s)

Les langages (très) adaptés aux arbres sont les langages fonctionnels. Mais j'ose à peine le murmurer, j'entends déjà les sarcasmes des obscurantistes... :lol:
Sinon tout langage qui supporte la récursivité fera l'affaire, plus ou (beaucoup) moins bien selon les besoins à satisfaire.

Fred sinon on peut le faire en Java non ? Ok, je sors 8)

P.S: au fait, je ne suis pas sérieux, au cas ou quelqu'un prenne cette idée au sérieux, c'est du 8eme degré.

fredericmazue

Quote:
Fred sinon on peut le faire en Java non ? Ok, je sors

DEHORS :!: :!: :!: :!: :twisted: :twisted: :twisted: :twisted:

Quote:
P.S: au fait, je ne suis pas sérieux, au cas ou quelqu'un prenne cette idée au sérieux, c'est du 8eme degré.

Ah tiens ? Moi j'ai pris ça au premier degré :lol:

fredericmazue

Quote:
C'est pour des associations en france, qui peuvent avoir plusieurs centaines voir milliers de membres.

Ca peut mener loin cette affaire....
Moi je le ferais en Lisp, qui me paraît particulièrement bien adapté à la situation.
Et pour m'affranchir des problèmes inhérents à SQL dont nous avons parlé ci-dessus, je sauvegarderais les données dans des CLOB, éventuellement conjointement à leur fonctions de traitement. :D C'est ce que j'appelais "écrire du code autour" dans mes posts précédents.

Je ne sais pas si tu vas adopter la suggestion ou même t'en inspirer, mais ce que j'aimerais bien c'est que tout un chacun s'abstienne de puérilités du genre "on ne peut pas coder en Lisp à cause des parenthèses" :lol:
En ce qui me concerne ça mettrait un terme à cette discussion :twisted: :D

dbobby

LISP???.Oui, pour quoi pas. Je ne connais pas de tout la programmation de cette language. Et pour quoi pas prolog. Je possede en fait Turbo Prolog que j'ai achete il y a une vingtaine des annees.
Alors je vais apprendre lisp, donnez moi quel que mois ou plus. Appres je met ce projet en open source, comme indique plus haut, et la ce qui est bien mon cher Fred je vais vous inviter a partitiper au projet . Lol et double LOL :wink: :wink: :wink:

dbobby

je suis allé voir des sujets sur lisp, et je suis tombé sur des veilles pages, non mis a jour depuis plusieurs annees,
En tout cas apparament lisp ne fait pas partie des languages le plus facile a apprendre.
Alors je voudrai recitifier ce que j'ai dit dans mon dernier post. Donnez moi plutot qq annees au lieu de qq mois pour apprendre cette language
:(
Merci et a bientot
Dbobby

jrebillat

dbobby wrote:
je suis allé voir des sujets sur lisp, et je suis tombé sur des veilles pages, non mis a jour depuis plusieurs annees,
En tout cas apparament lisp ne fait pas partie des languages le plus facile a apprendre.
Alors je voudrai recitifier ce que j'ai dit dans mon dernier post. Donnez moi plutot qq annees au lieu de qq mois pour apprendre cette language
:(

No comment... :roll:

fredericmazue

Quote:
je suis allé voir des sujets sur lisp, et je suis tombé sur des veilles pages, non mis a jour depuis plusieurs annees,

Tu n'as pas du aller voir aux bons endroits :)

Quote:

En tout cas apparament lisp ne fait pas partie des languages le plus facile a apprendre.

Et bien si justement c'est un des plus faciles :)
La seule chose éventuellement difficile est de désapprendre ce qu'on a appris avec d'autres langages et d'aborder Lisp avec un esprit ouvert sans vouloir sans cesse se raccrocher à d'anciennes, mauvaises et inadaptées habitudes.
Moyennant cette condition, Lisp est vraiment facile, mais alors vraiment :)
fredericmazue

Quote:
No comment...

Même ça ce n'était pas nécesssaire... :(
Bon je commence à comprendre que je passe beaucoup de temps (bénévolement) pour rien sur ce forum, à essayer d'élever les débats ou de montrer d'autres et (plus) efficaces approches de la programmation dans certaines situations.
Bon très bien, on ne peut pas programmer en Lisp à cause des parenthèses. Tu as dit ailleurs, en substance car ce n'étaient pas les termes exacts, qu'on ne peut pas programmer en Python parce qu'il n'y a pas de parenthèses.
Alors que faire ? :lol:
S'incliner devant la puissance de l'argumentation et admettre qu'il faut programmer en Java parce que les accolades sont plus belles qu'en C :lol:

Et bien sûr c'est toi qui aidera dbobby n'est-ce pas ? ;)

jrebillat

fredericmazue wrote:

Bon je commence à comprendre que je passe beaucoup de temps (bénévolement) pour rien sur ce forum, à essayer d'élever les débats ou de montrer d'autres et (plus) efficaces approches de la programmation dans certaines situations.

Non, non, pas pour rien !
D'abord tu abordes les sujets avec un oeil différent, qui permet une prise de recul très enrichissante, je t'assure. Simplement, il faut parfois laisser un peu de place à la mode.
Ensuite, tu sais déjouer certains pièges du dogmatisme et des réponses toutes faites, ce qui permet d'éviter des erreurs dûes à des a-priori à l'emporte-pièce. Mais encore une fois, il ne faut pas tomber dans l'alter-programmation dogmatique non plus.

Quote:
Bon très bien, on ne peut pas programmer en Lisp à cause des parenthèses. Tu as dit ailleurs, en substance car ce n'étaient pas les termes exacts, qu'on ne peut pas programmer en Python parce qu'il n'y a pas de parenthèses.
Alors que faire ? :lol:
S'incliner devant la puissance de l'argumentation...

Non, là, c'est moi qui m'incline car tu as raison, tout cela n'est pas clair. Mais ce n'est pas étonnant, je ne suis pas cohérent dans tout ce que je fais, car je suis un dilettante- qui le revendique.

Quote:
admettre qu'il faut programmer en Java parce que les accolades sont plus belles qu'en C :lol:

Le souci n'est pas parenthèses ou pas, c'est une question de structuration de l'esprit. J'ai besoin de bornes pour limiter et hiérarchiser mon champ de réflexion lorsque je programme, sans tomber dans un carcan qui me bride trop. Les langages objet me sont donc bien adaptés. Toi, tu es plus ouvert, c'est tout...

Quote:
Et bien sûr c'est toi qui aidera dbobby n'est-ce pas ? ;)

J'ai l'impression d'avoir déjà commencé...
dbobby

Bonjour,
Je tient a vous dire que vous m'avait tous aidé. Meme si je ne adopte peut etre pas tous vos sugestions, mais au moins ca me (nous) permet de voir un peu plus large.
Je vous remerci d'avoir pris du temp de repondre, sur tout puis que en regle general c'est du benevole.
encore , si ca devait etre lisp, quel lisp faudrai prendre ? Je suis tombé sur de trucs genre Dr Sheme . c'est cela ??
merci d'avance et merci pour TOUTES VOS reponses
Dbobby
PS .plus tard je vous tindrai au courrant ce qu'il est devenu ce projet :wink:

fredericmazue

Quote:
Non, non, pas pour rien !

Bah si
Quote:
D'abord tu abordes les sujets avec un oeil différent, qui permet une prise de recul très enrichissante, je t'assure. Simplement, il faut parfois laisser un peu de place à la mode.

Je ne comprends pas "laisser un peu de place à la mode".
Moi j'écris du rapidement du code qui marche, c'est ce qui me permet de vivre. Et c'est avec cet oeil là que je réfléchis lorsqu'il s'agit de choisir un outil ou une méthode de programmation. Je dois prendre l'outil qu'il faut pour un travail bien défini c'est tout. Sinon je ne peux pas vivre. Et accessoirement, à une époque où tout le monde fait du Java, c'est parce que je sais faire aussi autre chose que je peux vivre.
Quote:
il ne faut pas tomber dans l'alter-programmation dogmatique non plus.

Pas du tout. Mes applets je les écris en Java.
Quote:
J'ai besoin de bornes pour limiter et hiérarchiser mon champ de réflexion lorsque je programme, sans tomber dans un carcan qui me bride trop. Les langages objet me sont donc bien adaptés.

Aïe...
Je ne voulais pas insister, mais tu me tends si gentiment la perche. Alors regarde comme tu es bridé à l'insu de ton plein gré:
Quote:
Hum...
Je n'aurais pas pris le problème comme toi.

Pour moi, hommes, femmes et enfants sont des personnes. Donc j'aurais fait un table "Personne" avec un id unique pour chacune et en plus nom, prénom, etc...


Tu te rends compte que là tu penses objet à la façon étriquée de Java et que tu établis une relation "EST-UN" totalement hors de propos avec le problème à résoudre et en désaccord avec l'algèbre relationnel de CODD qui régit SQL ? Bref sans t'en rendre compte tu penses objet alors qu'il est question de définir le schéma de donénes adapté au problème. L'influence pernicieuse de Java.... Si ça ce n'est pas un carcan qui bride ...
fredericmazue

Quote:
Meme si je ne adopte peut etre pas tous vos sugestions, mais au moins ca me (nous) permet de voir un peu plus large.

Merci :)

Quote:
Je vous remerci d'avoir pris du temp de repondre, sur tout puis que en regle general c'est du benevole.

Pas en règle générale, toujours :)
Quote:

encore , si ca devait etre lisp, quel lisp faudrai prendre ? Je suis tombé sur de trucs genre Dr Sheme . c'est cela ??

Des Lisp il y en a plein. Peu importe lequel pourvu que ça soit un Common Lisp, celui standardisé et adapté aux applications industrielles. Toute implémentation du Common Lisp ira très bien :)
Par contre je déconseille Scheme. En dépit de la ressemble (les fameuses parenthèses ;) ) Scheme n'est pas du tout Lisp.
Schème convient à certains types d'applications scientifiques "universitaires" disons. Mais n'aidera pas à ce que tu veux faire, au contraire.
dbobby

OK, J'ai compris
a bientot

fredericmazue

@dbobby
Si tu veux te faire la main avec Lisp, le mieux est probablement de télécharger un IDE professionnel en version personnelle ou Free Express.
Tu as le choix entre:

Lispworks http://www.lispworks.com/
Allegro http://www.franz.com/

Là dedans tu trouveras sûrement des didactiels pour aborder Lisp ;)

dbobby

Merci Fred. C'est vraiment gentil. En fait je suis deja tombé sur le site de franz, mais rien m'a indique que allegro etait du lisp.
C'est quand meme curieux que je n'ai rien trouve en francais, sur tout sur le site de developpez.com. Apparament c'est pas trop connu en france.
Pour moi c'est pas grave, puis que l'allemnad et l'anglais ne me pose pas de problemes, mais pour d'autres , c'est quand meme dommage.
Le probleme qui se pose maintenant, c'est que le projet devait avancer vite, et si on doit attendre que j'apprend une nouvelle language et des outils qui l'entourent.....
Bon on verra bien. Evtnlm. un solution rapide et appres migrer vers lisp, ou un truc comme ca.
Oui, Oui je sais c'est pas comme ca qu'on travail mais bon, que voulez vous que je vous dit
A bientot et biensur avec tout mes remerciments
Dbobby

fredericmazue

Quote:
Apparament c'est pas trop connu en france.
Pour moi c'est pas grave

En France on ne connait que Java ou C# tu le sais bien.
Mais à l'étranger Lisp est encore très utilisé et n'est pas près d'être abandonné.
Si tu fais des recherches tu trouveras qu'il y a des tas de boîtes qui vivent en vendant des outils Lisp ce qui est significatif.
Quote:
Le probleme qui se pose maintenant, c'est que le projet devait avancer vite, et si on doit attendre que j'apprend une nouvelle language et des outils qui l'entourent.....

Ah?
Alors dans ce cas, il veut sans doute mieux ne pas le faire en Lisp. J'ai dit et je maintiens que Lisp est facile à apprendre. Pour comme avec tous les langages, pour développer une appli professioànnelle il faut bien connaître, en avoir saisi l'esprit. Et cela ne s'improvise pas. Ni en Lisp ni en rien d'autre.
Quote:
Oui, Oui je sais c'est pas comme ca qu'on travail mais bon

Ben si dans ce cas, ça peut être comme ça qu'on travaille :)
Bon courage dans ton développement et à bientôt
dbobby
[Resolu]

fredericmazue wrote:
Quote:

Pour comme avec tous les langages, pour développer une appli professioànnelle il faut bien connaître, en avoir saisi l'esprit. Et cela ne s'improvise pas. Ni en Lisp ni en rien d'autre.

Entierement d'accord.!!! Seulement rien n'empeche de le porter a lisp plus tard. ce qui est prevu maintenat.
Merci, a bientot
dbobby
fredericmazue

Pour information:

Ceux qui seraient intéressés de savoir si Lisp sert à quelque chose de nos jours peuvent lire ce court article:
http://www.algo.be/cl/documents/LispLives.pdf

dbobby

fredericmazue wrote:

Ceux qui seraient intéressés de savoir si Lisp sert à quelque chose de nos jours


Ouiiii, moi :wink:

Maintenant , rappelez vous que la question initial portai plutot sur la structure des fichiers , que sur le logciel qui devait exploiter la bdd.
Je pense que j'ai trouvé une solution acceptable.
Pour l'instant elle est sur papier, il reste a tester.
Bien entendu je vous tiendrai au courrant de progress , puisque c'etait avec votre aide
A bientot
Dbobby

dbobby

Bonjour,
La base de données que j’ai crée ressemble beaucoup a l’exemple de jrebillat, mais pour des différentes raisons j’ai ne le pas fait exactement comme ca.
Alors une base qui consiste toutes les personnes présentes avec leurs renseignements fixes, des données qui normalement ne change pas pendent toute une vie (Nom ou Nom jeune fille, prénom, date et lieu de naissance). J’appelle cette base ‘Pilote’
Une base pour père, une pour mère et une pour enfants.
Dans la base ‘pilote’ y’a un ID vers homme ou femme et un ID vers enfants
Une relation infinie crée, entre homme et femme ainsi une femme peut avoir plusieurs maris, ou un homme plusieurs femmes. C’est justement la j’aurai vu la difficulté si j’aurai copié toutes les personnes dans une seule Base, puis que je ne sais pas d’avance combien des ID’s je devais créer.
Maintenant je crée une relation infinie entre femme homme vers enfants (Les frères et sœurs ont toujours la même mère mais pas forcement le même père.
Voila ce ci est une solution, peut être pas la meilleure, mais d’âpres moi elle fonctionne.
Faites vos critiques
Merci
Dbobby

fredericmazue

Quote:
Une base pour père

Tu veux dire une table ?

Quote:
Maintenant je crée une relation infinie

Qu'est-ce que tu appelles une relation infinie ?
dbobby

Bonjour Fred
Je suis tres content que vous nous avez pas abandonne :) :) :wink:
Vous avez tres bien compris, j'ai appelé table par base. Peut etre j'ai juste employe un mauvais terme ,mais c'est ainsi je l'appel. je m'excuse.
Par infini j'ai voulu dire une relation une a plusieurs . Dans ms acces ( je ne l'ai toujours pas jette) cette relation est indique par une 8 horizontale.
Y'a des reletion 'une a une' si non une a plusieurs , et ce cela qui m'interesse. Voila
a bientot
Dbobby

fredericmazue

Quote:
Je suis tres content que vous nous avez pas abandonne

Te réjouis pas trop vite.
D'abord je suis en semi vacances jusqu'à fin août.
Ensuite comme tu le sais, j'ai été très peiné par l'incident d'avant les vacances. (au fait, merci à toi et à valdeub pour vos posts de soutien. merci aussi à ceux qui m'ont encouragé dans des mails privé :) ) J'ai bossé très dur, (bénévolement, faut-il le rappeler ?) pour lancer ce forum et cela pour aboutir à l'incident que tu sais. Alors je commence à comprendre que bosser dur pour rien n'est pas forcément une bonne idée.
Alors je ne vais pas abandonner complètement le forum, mais je vais y participer beaucoup moins comme je l'avais déjà dit il y a un mois.
Et puis, si j'en crois la participation, le forum marche maintenant. Alors ma présence est beaucoup moins nécessaire. C'est à tout ceux qui y viennent de le faire vivre :)

Quote:
Par infini j'ai voulu dire une relation une a plusieurs

Ah ok. Je comprends.
dbobby

Bonjour
Je voudrai souligner une chose que j'essaye d'éxpliquer depuis le debut de cette discussion.
D'appres moi on apprend pas mal des choses en repondant des questions. C'est un peu ce qu'on dit sur un prof et son eleve. " L'eleve apprend mais le prof aussi" . C'est peut etre de benevolat , mais ce n'est pas pour rien.
Si je me trompe pas , vous etes en outre journaliste , Fred ? Alors vous savez surement qu'on peut ecrire des articles et MEME des livres entiers basées sur des forums ( et meme gagner de l'argent avec ca) :) D'ailleurs je pense ca deja etre fait
Maintenant ce qui concerne le forum sans vous , il suffit de regarder. beacoup de question resterai sans reponses.
Et aussi je voulai vous dire que dans votre site je vois nul part marqué que le forum est reservé au professionels.Alors il se peut que y'a des questions (ainsi des reponses) peuvent etre de (tres) haut niveau au (tres) bas niveau. Je pense il faut repondre a tout le monde (dans la mesure de possible). Et si des gens peuvent dire des 'betises' il suffit de rectifier , comme vous le faites d'ailleurs , et je vous en remerci tout en etre persuadé que les autres lecteurs se rejoignent.
Je suis sur que tout le monde est d'accord pour dire que vous faites un travail colossal.
Voila , merci et a bientot
Dbobby

fredericmazue

Quote:
D'appres moi on apprend pas mal des choses en repondant des questions. C'est un peu ce qu'on dit sur un prof et son eleve. " L'eleve apprend mais le prof aussi" . C'est peut etre de benevolat , mais ce n'est pas pour rien.

L'argument est valable dans l'absolu. Mais, au risque de paraître prétentieux, ma participation au forum toute l'année dernière ne m'a pas appris grand chose.
Quote:
Si je me trompe pas , vous etes en outre journaliste , Fred ? Alors vous savez surement qu'on peut ecrire des articles et MEME des livres entiers basées sur des forums ( et meme gagner de l'argent avec ca) D'ailleurs je pense ca deja etre fait

Sans aucun doute ça a été fait et souvent :(
Mais pas par moi.
J'ai pour éthique de ne pas pomper et copier-coller le travail des autres.
Quote:
Et aussi je voulai vous dire que dans votre site je vois nul part marqué que le forum est reservé au professionels.

En effet il ne l'est pas. Les débutants y sont les bienvenus. Le problème n'est pas là du tout.
Quote:
Je pense il faut repondre a tout le monde

Sans doute, mais tu te rends compte du temps et des efforts que cela demande ? Alors justement jusqu'à cet été j'étais motivé pour le faire mais ->
Quote:
Et si des gens peuvent dire des 'betises' il suffit de rectifier , comme vous le faites d'ailleurs

-> C'est ici que se situe le problème. Certains ne supportent pas que je rectifie. Tu dois bien te souvenir de l'incident. Incident qui a eu une suite désagréable en privé d'ailleurs. Il est donc beaucoup plus simple et confortable pour moi de m'abstenir. Bon c'est vrai que tu peux voir ça comme pas très juste. Pour un grincheux, il y a sans doute beaucoup de gens contents de venir sur ce forum. Mais pour faire "un travail colossal" comme tu dis, encore faut il en avoir envie, et pour le moment je n'en ai pas envie. C'est pourquoi j'ai toujours l'intention de me limiter à une participation minimale.
Mais c'est un forum ici, il n'y a pas de raison de voir en moi le seul intervenant devant répondre aux questions. Tout le monde peut participer. D'ailleurs c'est ce que je souhaite pour le forum et que j'ai toujours souhaité. Plus il y aura d'intervenant, plus je serai content :)
dbobby

fredericmazue wrote:

Certains ne supportent pas que je rectifie.

Ca ne change absolument rien. Si ils ont tort, ils ont tort. Des critiques constructives sont tj les bienvenues. En tout cas pour moi.
fredericmazue wrote:

Tu dois bien te souvenir de l'incident. Incident qui a eu une suite désagréable en privé d'ailleurs

Non je ne vois pas de tout, mais j'espere que ce n'etait pas a cause de moi.
fredericmazue wrote:

Mais c'est un forum ici, il n'y a pas de raison de voir en moi le seul intervenant devant répondre aux questions

Entierement d'accord avec vous . Je vous comprend et je respecte votre decision, seulement j'espere que la qualité de forum reste a la hauteur.
A bientot
Dbobby
fredericmazue

Quote:
j'espere que ce n'etait pas a cause de moi.

Non, absolument pas, je te rassure :)
dbobby

fredericmazue wrote:

J'ai pour éthique de ne pas pomper et copier-coller le travail des autres

C'est pas de ca je parle. Je sais que certains font ca, mais je parle des Journalistes/ecrivains qui font une veritable travail de recherche et portent des veritables reponses justes et professionels.
Alors pour quoi ne pas prendre des sujets de forums ?! Puis que c'est sont des sujets qui interessent des gens.
dbobby
Re: Une difficulté de la logique. Aidez moi svp.

Même 5 ans après je trouve que c’était une de plus belle et enrichissante discussion !

fredericmazue
Re: Une difficulté de la logique. Aidez moi svp.

Merci dbobby :)

Que deviens-tu ? Ca faisait longtemps ?

dbobby
Re: Une difficulté de la logique. Aidez moi svp.

De rien :wink:

Je fait très peu dans la programmation , et de toute façon je suis très largement dépasse par tout ces nouvelles technologies :(
Des temps en temps j'y revient sur cette site ; Nostalgie oblige :)
Alors bonne continuation a toute votre équipe