Se connecter / S'enregistrer
Votre question

Analyser le contenu des fichiers automatiquement et les classer

Tags :
  • Clavier qwerty
  • Programmation
Dernière réponse : dans Programmation
31 Janvier 2012 15:19:28

Salut a tous,
Avant de commencer, désolé pour les accents, mais je suis a l'étranger, et les QWERTY ne connaissent pas :p 

Je viens vous demander votre avis car on me demande quelque-chose jusque la jamais vu.
Je suis en stage a Malte, dans une entreprise de recturement.
Ils possedent une BDD avec des milliers de records de candidats. e-boss solution, genre de CMS)
Dans un premier temps, ils m'ont demandé de récupérer les informations, et de recréer une autre BDD en SQL avec ces infos.
J'ai donc créé un petit truc en XSLT qui me tranforme toutes les données extraites vers du SQL (XML -> SQL).
Jusque la, rien de bien compliqué vous allez me dire.
Maintenant ca se complique..

A chaque record, il y a un CV attaché sous format DOC, DOCX, RTF, PDF, ...
ils souhaiteraient que ces CV se trient dans des dossiers en fonction des capacites linguistiques et informatiques des candidats par ex:
Ce qu'ils voudraient, c'est ne plus avoir a devoir effectuer des recherches sur les filtres, mais plutot d'avoir les resultats sous forme de dossiers .. comme un genre de ftp si je comprends bien.
Si par exemple un nouvel user s'inscrit et a des connaissances en JAVA, C++, PHP et parle maltais, anglais et turc, il faudra automatiquement prendre le CV qu'il a uploadé et le placer dans les 6 dossiers adéquats (3 de programmation, et les 3 dossiers de langues)

Un genre d'affichage FTP si je comprends bien.
Cela signifie donc de la redondance de données .. et biensur un putin de logiciel qui doit tout traiter.. Il faudrait un PC de la NASA pour traiter ca non?

Merci de m'éclairer :D 
Bien a vous,
Ceeym

Autres pages sur : analyser contenu fichiers automatiquement classer

31 Janvier 2012 16:01:53

Je me demandais si un script en php ne serait pas bien pour ce genre de choses..
Il me suffirait d'ouvrir chaque fichier a la main, et de creer des liens dans les folders vers ce CV d'origine, en fonction des mots que je retrouve ...
exemple "je cherche la chaine JAVA", si je la trouve ds le CV, je cree un lien vers ce cv, et le place dans le dossier JAVA ...

Ca sera lourd, mais je ne vois pas comment faire d'autre..
a c 232 L Programmation
31 Janvier 2012 16:05:52

Salut,

Je ne pense pas qu'il va falloir faire de la redondance de données, ce n'est jamais conseillé de toute manière.
Tu peux le stocker une seule fois, et lui attribuer des propriétés. Par exemple, définir que ce CV a la compétence Java, C++, PHP, ...

Et de ton côté, tu dois pouvoir simuler un affichage FTP si c'est ce qu'ils désirent.
Quand ils cliquent sur le "dossier" Java, tu récupères la liste de tous les CV où la compétence Java est présente, et tu les affiches.
Contenus similaires
31 Janvier 2012 16:26:31

OmaR a dit :
Salut,

Je ne pense pas qu'il va falloir faire de la redondance de données, ce n'est jamais conseillé de toute manière.
Tu peux le stocker une seule fois, et lui attribuer des propriétés. Par exemple, définir que ce CV a la compétence Java, C++, PHP, ...

Et de ton côté, tu dois pouvoir simuler un affichage FTP si c'est ce qu'ils désirent.
Quand ils cliquent sur le "dossier" Java, tu récupères la liste de tous les CV où la compétence Java est présente, et tu les affiches.

Un grand merci pour ton aide OmaR!
Je t'avoue que je suis un peu perdu sur la maniere de m'y prendre pour faire tout ca..
Je ne sais pas trop par ou commencer, et ne vois pas du tout comment

*faire un affichage style FTP mais avec des requetes
*attribuer aux fichiers des proprietes..
--> Tu veux dire par exemple une table a plusieurs entrees, ou le premier champ serait par ex l'URL de mon CV, et dans les autres champs une enumeration des langages?

* programmer cela.. PHP te semble assez?

Merci :)  Je me sens deja un peu moins seul!
a c 232 L Programmation
31 Janvier 2012 16:49:11

Pour moi tu aurais au moins 3 tables :
- une table avec les "propriétés" (langages de programmation, langues...) (peut être divisée en plusieurs)
- une table avec tes CVs
- une table pour lier les 2 (vu que c'est une relation Many to Many, vu qu'un CV peut avoir plusieurs propriétés, et qu'une propriété peut être associées à plusieurs CVs)

Tu aurais par exemple :
Dans la Table Propriétés, une colonne ID et une colonne Name :
- 1 - Java
- 2 - C++
- 3 - PHP
- 4 - Maltais
- 5 - Anglais

Dans la table CV, une colonne ID, une colonne File :
- 1 - /dossier/cv1.doc
- 2 - /dossier/cv2.doc
- 3 - /dossier/cv3.doc

Dans la table CV_Proprietes, une colonne ID (facultative normalement), une foreign key vers CV et une foreign key vers proprietes :
- 1 - 1 - 1
- 2 - 1 - 2
- 3 - 1 - 3

Ca veut dire par exemple que ton CV 1 a les 3 propriétés 1 (Java), 2 (C++) et 3 (PHP).


Donc il te suffira de récupérer la liste des propriétés pour afficher tes différents dossiers (un simple SELECT de la table Proprietes)
Quand tu sélectionnes un dossier, il te suffira de faire un filtre dessus pour récupérer les CVs associés (un SELECT qui joint les 3 tables)


Edit: et oui PHP est suffisant pour faire ça
1 Février 2012 10:26:46

OmaR a dit :
Pour moi tu aurais au moins 3 tables :
- une table avec les "propriétés" (langages de programmation, langues...) (peut être divisée en plusieurs)
- une table avec tes CVs
- une table pour lier les 2 (vu que c'est une relation Many to Many, vu qu'un CV peut avoir plusieurs propriétés, et qu'une propriété peut être associées à plusieurs CVs)

Tu aurais par exemple :
Dans la Table Propriétés, une colonne ID et une colonne Name :
- 1 - Java
- 2 - C++
- 3 - PHP
- 4 - Maltais
- 5 - Anglais

Dans la table CV, une colonne ID, une colonne File :
- 1 - /dossier/cv1.doc
- 2 - /dossier/cv2.doc
- 3 - /dossier/cv3.doc

Dans la table CV_Proprietes, une colonne ID (facultative normalement), une foreign key vers CV et une foreign key vers proprietes :
- 1 - 1 - 1
- 2 - 1 - 2
- 2 - 1 - 3

Ca veut dire par exemple que ton CV 1 a les 3 propriétés 1 (Java), 2 (C++) et 3 (PHP).


Donc il te suffira de récupérer la liste des propriétés pour afficher tes différents dossiers (un simple SELECT de la table Proprietes)
Quand tu sélectionnes un dossier, il te suffira de faire un filtre dessus pour récupérer les CVs associés (un SELECT qui joint les 3 tables)


Edit: et oui PHP est suffisant pour faire ça




Waaaaouw! Un grand merci a toi! Tout me parait beaucoup plus clair, je n'avais jamais vu ca comme ca. :p 
Pour ce qui est du niveau de l'affichage, je suppose que ce qui est le plus simple a faire, c'est simuler tout ca en "creant un site web" en PHP ou il y aura un tas "d'icones" ou plutot d'images que j'aurai prealablement disposées en dur dans mon web-design.. Chacune executant une bete requete SQL dans mes tables? et affichant les liens pour ouvrir les CV..





a c 232 L Programmation
1 Février 2012 10:43:12

Tout dépend de ce que l'entreprise veut.
S'ils veulent une interface web, oui tu peux te faire un petit site en PHP en disposant les icônes comme tu le souhaites, et en effectuant des requêtes pour afficher ce qu'il faut.

S'ils veulent un logiciel, tu ne pourras pas faire de PHP, mais on est à une époque où les sites web sont très appréciés, donc ça devrait aller ;) 
1 Février 2012 11:02:19

D'accord, un grand merci pour tout!
Je garde ce fil en favoris !
On ne sait jamais que j'ai de nouveau besoin de te contacter :) 
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS