Nous sommes le Jeu 28 Mars, 2024 17:31
Supprimer les cookies

Recherche logiciel pour relier des noms à des photos

Pour une tâche précise, pour remplacer un logiciel propriétaire donné...

Jeu 21 Fév, 2013 16:09

Bonjour,
Je fais bénévolement de la généalogie depuis 10 ans pour une association Corse.
Prochainement, je vais saisir les fiches matricules de Marins Corses sur Xcel. La fiche matricule d'un inscrit maritime est l'équivalent du Livret Militaire pour les marins.

Mettre les 8000 noms sous Xcel et faire le classement alphabétique ça je sais le faire mais c'est pas que je veux réaliser car à chaque nom est rattachée une photo.

Je recherche un logiciel qui me permettrait de classer par ordre Alphabétique à peu prés 8000 personnes avec leur nom prénom date de naissance et surtout y rattacher une photo. Je sais ce que je veux mais je ne sais pas comment vous l'expliquer pour que vous puissiez me donner une réponse correspondant au travail que je voudrais réaliser.

Je m'explique, nous avons un site internet et je voudrais qu'en cliquant sur tel lien ou tel dossier, que s'ouvre la page sur laquelle on entrera un Patronyme exemple: CASABIANCA on fait OK et le système vous affiche tous les CASABIANCA qu'il a dans sa base. Ensuite et c'est là le plus important, vous faites définissez votre choix par le prénom, puis vous cliquez dessus et il vous affiche le livret Matricule de la personne.

Je vous mets ci-dessous un lien pour vous montrer ce que je voudrais faire
http://www1.arkhenum.fr/ad_corsedusud_m ... /index.php

On a la possibilité de mettre directement le Nom recherché ou alors en choisissant par la lettre alphabétique.
Vous cliquez sur le nom et vous allez avoir le livret d'une personne s'afficher à votre écran de PC.

Si une personne peut m'indiquer quel logiciel pourrait faire ce travail se serait super
Par avance je vous remercie Hermonius93
hermonius93

Messages : 51

Sam 02 Mars, 2013 01:28

Bonjour hermonius93

Je vais essayer de répondre clairement (ce qui n’est pas simple).

Ce que vous désirez faire n’est rien d’autre qu’une gestion de base de donnée. Il y a des logiciels pour cela, dont beaucoup sont Libres. Nous sommes donc en mesure de vous aider.

Choisir de saisir des données dans le cadre d’un tableur (qu’à l’avenir je n’appellerai plus « Xcel » mais « Calc » (de LibreOffice) est une chose possible ... dans un premier temps.

Dans un second, il est alors possible d’extraire les données saisie des feuilles de tableur pour les injecter dans un SGBD(R). Celui-ci peut être local (typiquement Base de LibreOffice) ou distant (pour du Web).

Mais les photos de carnet disponibles dans votre exemple, laissent à croire qu’elles sont très lourdes en termes de poids-octets. Multiplié par huit mille, vous pouvez sans peine imaginer la monstruosité. Il faut donc être malin... Et ça tombe bien, je vous imagine l’être. Donc, vos huit mille photos, vont d’abord former huit mille fichiers, sans doute au format JPeG. Les mettrez-vous dans le même dossier (répertoire) ? Ce serait, là aussi, pure folie. Je ne sais pas comment vous pouvez faire votre sauce mais vous pouvez, soit les répartir dans vingt-six dossiers correspondant aux vingt-six lettres de l’alphabet, soit faire un dossier par année de naissance, soit ... tout autre chose. À vous de voir ce qui est le plus logique pour vous y retrouver parmi cette masse qu’il faut structurer pour y intervenir « manuellement » si le besoin s’en fait sentir.

Mais pour ce qui de la gestion de vos lignes, Calc fait cela très bien ; démonstration (sous M$-Window$) :

  • En cellule « A1 » : tapez « Marcel ».
  • En cellule « B1 » : tapez « Casabianca ».
  • En cellule « C1 » : tapez « C:\dossiersOuSeTrouveLimage\casabiancaMarcel.jpg ».
  • En cellule « D1 » : tapez « =LIEN.HYPERTEXTE(CONCATENER("file://"; C1); "Clic") ».

Avantages :
  • Votre fichier se commence très facilement sur un tableur.
    Huit mille lignes forment une feuille bien remplie mais c’est encore raisonnable.
  • Le reclassement de celles-ci, par exemple par ordre alphabétique, fait « suivre » les adresses.
  • Ce système est extrêmement portable, principalement parce que vous en maîtrisez la structure. Cela veut dire que quand vous mettrez vos huit mille images en ligne, il n’y aura pas à les extraire ; simplement les copier dans une arborescence de répertoires similaire à celle de votre disque dur.
  • Si vous avez des besoins un peu spécifiques, il est possible d’utiliser les macros... Sur votre problème, je dois avoir quelques idées avec un « contrôle picto » placé en haut de feuille, le déroulement de la feuille fixée à moitié d’écran et des liens appelant une macro pour charger l’image dans le contrôle. Mais c’est un peu un délire, car vos photos sont des documents manuscrits, lisible dans une fenêtre agrandie, et qu’à programmer un peu, il vaut mieux l’envisager sous Base (SGBD de LibreOffice).

Vous notez :
  • J’ai nommé le fichier « casabiancaMarcel.jpg » : pas de majuscule au début, pas d’espace, pas d’accent, mais majuscule sur « Marcel ». Cela n’a RIEN d’un détail et cela se justifie (*).
  • Dans la colonne « D » n’apparaît que le mot « Clic » ... qui est cliquable (en réglant correctement LibreOffice (*)) !
  • Comme c’est un fichier dont l’extension est « .JPG », c’est votre système d’exploitation qui va se débrouiller pour ouvrir le bon logiciel propre à lire ce genre d’images.
  • Aucune image n’est donc stockée dans le fichier ; juste une indication de cheminement et un nom de fichier dont je vous recommande chaudement de normaliser la forme avec la conscience de ce que cela permet. Plus vous normaliserez ce point précis, mois vous aurez d’ennuis.

Le passage de Calc à Base est aisé. Plus complexe est celui de Base à mariaDB (mySQL) ou PostgreSQL. Parce que si votre finalité est le Web, il faudra bien en passer par là. Les pages que votre exemple nous donne à voir sont écrites en PHP. Peut-on avoir une adresse web pour fureter sur votre propre site ? Avez-vous ne serait-ce que des notions de PHP ? Combien vont peser (en poids octet) vos huit mille images ? Tout cela est à prendre en considération. Le problème est simple, il peut même aboutir à un tutoriel. C’est votre saisie qui sera longue.

En aurez-vous le goût de la recherche et du partage ? Avez-vous pensé à la licence de vos images ?

À vous lire,
:-)


(*) : Explication donnée plus tard si vous voulez qu’on conversationne sur le sujet en ce lieu.
Sébastien Cosson

Avatar de l’utilisateur
Messages : 19
Géo : Meymac (19250)

Lun 04 Mars, 2013 09:33

Bonjour quelques compléments...
pour moi

dans la cellule C1 il doit y avoir quelque chose dans le genre
concatener ("chemin des images";a1;b1;".png")
---> pour moi avec un dossier Test sur le bureau : =CONCATENER("C:\Users\USER\Desktop\Test\";A1;B1;".png")
---> cela va créer un "chemin vers l'image" dont le nom est prenomnom.png


en D1 quelque chose dans le genre =LIEN.HYPERTEXTE(C1;"Clic")

Je n'ai pas compris l'importance majuscule/minuscule ....
patricegendreau

Messages : 29

Lun 04 Mars, 2013 09:42

Si on classe les images dans des dossiers en fonction de l’initiale du nom de famille,
il faut ajouter dans le chemin le nom de ce répertoire qui peut être "calculé" à partir du contenu de la cellule B1 par quelque chose du genre:
= gauche(B1;1)
et par exemple mis dans la case C1
le contenu du D1 (l'ancien C1) va être =CONCATENER("C:\Users\USER\Desktop\Test\";C1;"\";A1;B1;".png")
noter que j'ai ajouté un \ pour qu'il soit inséré dans le chemin du fichier...

PS je me suis fait avoir par des espaces à la fin des noms/prénoms dans a1 & b1 et par , au lieu de . donc attention aussi....
patricegendreau

Messages : 29

Lun 04 Mars, 2013 17:07

Vos propositions me semblent très justes Patrice ; mais je pensais développer cela un peu plus tard, quand l’ami hermonius93 nous aura répondu, car je voulais commencer par un éveil en douceur...

Donc oui, mettre nom est prénom dans deux colonnes distinctes est absolument nécessaire, ne serait-ce que pour classer correctement par ordre alphabétique. De même, je conçois sans problème que la séparation du chemin d’accès avec la construction automatique du nom de fichier est une chose à laquelle il faut arriver. C’est même tellement important qu’il faut pousser ce principe plus loin pour éviter toute redondance (qui alourdit inutilement le fichier) mais aussi permettre un déplacement de l’ensemble par la modification du contenu d’une seule cellule. En d’autres termes :

  • En cellule « A1 » : « file://C:\Users\USER\Desktop\Test\ ».
  • En cellule « A2 » : « Marcel ».
  • En cellule « B2 » : « Casabianca ».
  • En cellule « C2 » : « =CONCATENER($A$1 ; GAUCHE(B2 ; 1) ; DROITE(A1 ; 1) ; MINUSCULE(B2) ; NOMPROPRE(A2) ; ".png") »
  • En cellule « D2 » : « =LIEN.HYPERTEXTE(C2 ; "Clic") ».
La nomination correcte des fichiers, concise et très pensée, me semble extrêmement importante. On doit pouvoir retrouver très facilement un fichier même sans avoir la base sous la main. Or, les systèmes de fichiers ne possèdent que très peu de fonction de tri, dont seule l’alphabétique est vraiment utilisée. Il faut donc jouer avec. La forme « nomPrenom.extension » me semble pouvoir se justifier ainsi :

  • Si vous listez les fichiers dans un répertoire, c’est le nom qui vous guidera ; vous n’avez en général rien à faire que tous les « Marcels » soient groupés. Donc même si vos colonnes représentent bien la forme correcte française « prénom », puis « nom », cela n’empêche pas qu’il faille, selon moi, faire cette entorse au nom de fichier, parce que les systèmes de classification alphabétique des répertoires sont extrêmement triviaux.

  • On sait qu’utiliser les espaces est sujet à emmerdes ; même encore aujourd’hui, il est souvent plus efficace de s’en passer. Même chose pour les accents qui passent mal les transferts des systèmes d’exploitation. Notre ami étant sous M$-Window$ nous a parlé de pages web, donc hébergées en ligne, qui ont de grandes chances de ne pas tourner sur un système privateur. Le tiret de soulignement « _ » (touche [8] d’un clavier français de PC) sert souvent de « faux espace » dans les noms de fichier (son code ASCII prend sept bits, il est donc très ancien), mais il rallonge le nom de fichier. Bon, sur huit mille, ce n’est pas la mer à boire (8 ko), mais c’est aussi, de ma part, une habitude de concision. À mon avis, il faut faire le plus court possible.

  • La majuscule entre les mots qui forme le nom du fichier n’est là que pour la lisibilité. Dans une liste de fichiers, il est beaucoup plus aisé de lire « casabiancaMarcel.png » que « casabiancamarcel.png ». Mais elle permet, aussi, de pouvoir reconstituer par programmation le couple prénom / nom, puisqu’elle forme, par essence, une marque de séparation (son code ASCII est inférieur à 97). Ce n’est pas forcément utile au début de la mise en place, mais ça peut permettre de s’éviter à terme quelques arrachements capillaires...
Le fait de séparer cheminement et nom de fichier est évidemment aussi avantageux pour le passage ultérieur dans un langage de Web. Vous aurez bien noté que j’ai récupéré le caractère séparateur par « DROITE(A1 ; 1) » ; ce n’est pas pour rien : il est différent sous M$-Window$ (« \ ») que dans les systèmes Unix (« / »).
Il n’est pas, ici, fait l’usage d’une fonction qui supprimerait les espaces ou remplacerait les accents. La fonction SUBSTITUE permet de supprimer les espaces et il faut passer par une fonction décrite en macro (quelques lignes très simples) pour convertir les accents. Mais nous n’en sommes pas là.
Enfin, n’oubliez pas que « file:// » est nécessaire au début de l’adresse de cheminement comme déclaration de protocole ; il pourrait, par exemple, être « http:// » ou « ftp:// ». La réaction du système d’exploitation serait donc différente.
:D
Sébastien Cosson

Avatar de l’utilisateur
Messages : 19
Géo : Meymac (19250)

Lun 04 Mars, 2013 17:59

Sébastien Cosson a écrit:... quand l’ami hermonius93 nous aura répondu ...
Justement, je crains qu'il n'ait quitté la place :cry:
Linux un jour, Linux toujours ...
papadon

Messages : 45
Géo : Wavre - Belgique

Lun 04 Mars, 2013 18:08

Tout d'abord merci pour votre réponse.
et j'abonde pour prénom avant le nom... je suis un peu grincheux là dessus...

Et surtout je vous remercie d'insister sur le fait de bien nommer ses fichiers... ensuite tout devient simple

Et aussi merci pour vos règles de "casse" majuscule minuscule... j'ajouterais que Linux est très susceptible là dessus...
donc bien respecter la casse me semble intéressant en cas de portage de ce dossier sur un Linux

Et oui le protocole d'accès au fichier peut-être intéressant.

Et pour finir.. calc (OpenOffice ou LibreOffice) fait beaucoup, beaucoup...
patricegendreau

Messages : 29

Lun 04 Mars, 2013 18:55

Comme, de toute façon, on passera par une base de données, autant réfléchir en termes de bases de données:
Aucun calcul de références liées au tableur.
Peut-on mettre en ligne simplement une BDD de OOO?
Mais:
Chaque inscrit a un identificateur (numéro) unique et ce simple numéro sert à identifier l'image de son dossier militaire.
L'année de naissance identifie le dossier
Ceccaldi Joseph d'Antoine id:1 né en 1908 : dossier images/1908/1.jpg
Par ailleurs, on voit que les même noms apparaissent souvent, avec les mêmes au point qu'il faut ajouter "de untel", pour les distinguer. 9a suppose sûrement plus d'un champ prénom.
Ca n'empêche pas de créer avec Calc, puis d'exporter en CSV, et d'intégrer grâce à HeidiSql, par exemple.
Donnez une arme à quelqu'un et il s'en servira.
Donnez du pouvoir à quelqu'un et il en abusera.
sirakawa

Messages : 633
Géo : Orléans

Lun 04 Mars, 2013 20:27

papadon a écrit:Justement, je crains qu'il n'ait quitté la place :cry:
Dans toute démarche tutorielle, il ne faut jamais écrire pour une seule personne ; il y a une permanence du Web qui donne un sens beaucoup plus étendu que la satisfaction juste égotique du retour immédiat. Cela ne veut pas dire que je vais développer très longuement le sujet tout seul dans mon coin ; seulement faire acte de présence à l’endroit de gens qui participent à cet échange. Si son inspirateur a quitté les lieux sans prendre la peine d’y revenir, d’autres, dont je suis, feront fruit d’enseignements mutuels. À contrario, pour ne pas orienter le débat dans le sens de son désir initial, il sera le premier à en hériter de l’appauvrissement. Mais cela, c’est lui, et lui seul, que cela regarde. N’oublions pas la Liberté ; elle est toujours réciproque.

sirakawa a écrit:Comme, de toute façon, on passera par une base de données, autant réfléchir en termes de bases de données:
La question peut être plus mesurée. Le concept de bases de donnée, notamment relationnelles (basé sur l’ID), n’est pas forcément évident à acquérir. La façon dont s’exprime l’ami hermonius93 (et pas que dans le présent fil) ne m’a pas démontré qu’il soit à l’aise avec ce genre de choses. Ça ne m’empêche pas d’avoir en tête de l’y mener s’il se laisse faire. Mais il nous a parlé d’une saisie dans un tableur qu’il nous dit maîtriser ; je fais donc avec, pour commencer. Il y a une très grosse différence, pour un novice, entre « images/1908/1.png » et « images/C/casabiancaMarcel.png », fut-ce à devoir subir des déclinaisons comme « images/C/casabiancaMarcel_01.png », « images/C/casabiancaMarcel_02.png », &c. N’oublions pas qu’il est entrevu la gestion de huit mille fichiers. Dès sa première phrase, l’ami hermonius93 nous dit clairement faire « bénévolement de la généalogie depuis 10 ans pour une association » ; c’est cela qu’il faut commencer par prendre en compte, parce que c’est cela qui me semble le plus signifiant pour ébaucher une réponse qui lui soit recevable.

En pédagogie, on commence par faire simple pour aller vers du plus complexe. Donc la mise en place de données avec, semble-t-il, peu de champs (colonnes), me semble intéressante sous forme de tableur dans la mesure entendue où elle est guidée par des gens qui ont en tête une finalité plus complexe sans forcément l’exprimer... L’export en CSV aura de toute façon la gentillesse de supprimer de facto toute formule et autres calcul référenciels.

J’ai déjà passé beaucoup de temps avec des personnes pour leur expliquer que se servir des enrichissements typographiques (gras, italique, souligné) n’était pas rentable du point de vue de la signifiance informatique. C’est parfois très vite évident pour certains (et donc très facilement corrigé), beaucoup plus difficile pour d’autres. Dans tous les cas, il faut expliquer au début les erreurs qui feront problème à terme et en profiter pour laisser les personnes faire les petites erreurs qui pourront être résolues très simplement (par exemple avec trois ligne de code) par la suite. Ces petites erreurs ont souvent un avantage : celui de leur faire aborder le sujet avec un sentiment de maîtrise plus important ; et cela, c’est capital dans l’élaboration de tout projet.

Enfin, pour répondre à votre question :
sirakawa a écrit:Peut-on mettre en ligne simplement une BDD de OOO?
je ne le pense pas « simplement ». hermonius93 nous a parlé de pages Web ; en notre occurrence, cela implique un minimum de script et de connaissance de son hébergeur pour connaître ce qu’il propose en matière de base de données. Si, comme on peut l’imaginer tant c’est courant, il s’agit d’un couple PHP/mySQL, c’est évidemment faisable facilement ; encore faut-il qu’il s’y attache.

Seul le temps peut répondre a ces questions.
:D
Sébastien Cosson

Avatar de l’utilisateur
Messages : 19
Géo : Meymac (19250)

Lun 04 Mars, 2013 21:57

Mesurant ma réaction, je dirai simplement que s'il est bon pédagogiquement d'aller du simple au compliqué, il n'est sûrement pas bon de partir d'un point qui ne conduit pas directement à la solution qu'on sera contraint de mettre en oeuvre.
Par ailleurs, la multitude des noms identiques et des prénoms identiques générera des noms de fichiers à rallonges :
Ceccaldi_363.png est-il plus clair qu'un simple numéro qui sera produit automatiquement. Le numéro de sécu ferait aussi très bien l'affaire. Le numéro matricule aussi, et il est présent dans les propos du demandeur.
Donnez une arme à quelqu'un et il s'en servira.
Donnez du pouvoir à quelqu'un et il en abusera.
sirakawa

Messages : 633
Géo : Orléans

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit