Synchronisation php html sql...?

Mammouth du PHP | 687 Messages

09 nov. 2010, 13:29

Bonjour à tous,
j'ai des centaines de fichiers HTML contenant des informations que je souhaiterai récupérer pour les inclure dans une base de donnees sql.
Savez-vous si cela est possible et surtout comment je peux procéder?

Est-ce qu'un php peut faire la transition et peut servir de synchroniseur entre le html et la base sql?
Cette opération me permettre ainsi de récupérer toutes les infos pour pouvoir ensuite créer un systeme de recherche qui permettra à l'internaute de faire une recherche...
Le résultat sera affiché grace à une page PHP.
Sinon il est peut-être possible de faire une recherche directement sur les html? et les afficher dans un php? Mais j'ai peur qu'une telle opération soit très lente...

Qu'en pensez-vous?

Merci

ViPHP
ViPHP | 5462 Messages

09 nov. 2010, 13:31

ca se fait bien avec DOMDocument et Xpath :wink:
tout t'es HTMl se présente de la même manière ?

Mammouth du PHP | 687 Messages

09 nov. 2010, 13:35

Oui, ils ont tous la même structure, seules les informations internes changent...
Peux-tu m'indiquer comment utiliser DOMDocument et Xpath ?

Merci

ViPHP
ViPHP | 5462 Messages

09 nov. 2010, 13:36

Oui, ils ont tous la même structure, seules les informations internes changent...
Peux-tu m'indiquer comment utiliser DOMDocument et Xpath ?

Merci
ca va deprendre mon un exemple de html

Mammouth du PHP | 687 Messages

09 nov. 2010, 13:53

voici un exemple de fichier html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans nom</title>
</head>

<body>
<table width="781" align="center" border="0" cellpadding="0" cellspacing="0">
  <tbody>
    <tr>
      <td colspan="3"><div id="header">
        <h1>Annonce marché public Mairie d' Orly Marché relatif à 
          l'acquisition de livres imprimés et différents supports numériques pour 
          la médiathèque municipale et de dictionnaires français pour les écoles 
          élémentaires d'orly</h1>
      </div></td>
    </tr>

      <td><img src="annonce_marche_public_2414_111999_fichiers/spacer_21.gif" alt="" width="1" border="0" height="18"></td>
    </tr>
    <tr>
      <td colspan="3"><img src="annonce_marche_public_2414_111999_fichiers/spacer_21.gif" alt="" width="1" border="0" height="12"></td>
    </tr>
    <tr>
      <td style="padding-left: 2px;" valign="top" width="203">&nbsp;</td>
      <td valign="top" width="372" align="center"><div id="rubdroit"><span class="titre">DÉTAIL DE L'AVIS</span> <br>
        <br>
        <table width="314" border="0" cellpadding="0" cellspacing="0">
          <tbody>
            <tr>
              <td style="border-bottom: 1px solid rgb(180, 180, 180); vertical-align: bottom;"><div id="onglets" style="width: 555px;">
                <div id="_1" class="actif" align="center"></div>
</div></td>
            </tr>
            <tr>
              <td><div>
                <div id="trouverappel" style="width: 556px; border-width: 0px; padding: 0px;">
                  <table class="cadregris" style="border-top: 0px none;" summary="Avis pour : L'Etablissement public du musée d'Orsay, description" width="100%" border="0" cellpadding="0" cellspacing="0">
                    <caption>
                      Description de l'avis
                      </caption>
                    <thead>
                      <tr>
                        <th style="padding-top: 0px; padding-bottom: 0px;" id="avis">Mairie d' Orly</th>
                      </tr>
                    </thead>
                    <tbody>
                      <tr>
                        <td headers="avis" style="padding-bottom: 5px;"><b>Marché relatif à
                          l'acquisition de livres imprimés et différents supports numériques pour
                          la médiathèque municipale et de dictionnaires français pour les écoles 
                          élémentaires d'orly</b></td>
                      </tr>
                    </tbody>
                  </table>
                </div>
              </div></td>
            </tr>
          </tbody>
        </table>
        <br>
        <table width="556" cellpadding="0" cellspacing="0">
          <tbody>
            <tr>
              <td><span class="resume">Type de marché :</span> Fourniture</td>
              <td rowspan="4" valign="middle" width="150" align="right"></td>
            </tr>
            <tr>
              <td><span class="resume">Type de procédure:</span> Proc.Adapt.</td>
            </tr>
            <tr>
              <td><span class="resume">Date limite de dépôt des candidatures :</span> // à  h </td>
            </tr>
            <tr>
              <td><span class="resume">Date limite de dépôt des offres:</span> 29/11/2010 à 17 h 00</td>
            </tr>
          </tbody>
        </table>
        <br>
        <table class="texteannonce" style="width: 556px;" summary="Avis de " border="0" cellpadding="0" cellspacing="0">
          <caption>
            Détail de l'avis
            </caption>
          <thead>
            <tr>
              <th id="detail">AVIS DE MARCHE</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td><br>
                <div class="textepetit"><span class="textepetitbleu">Département de publication : </span><br>
                  94</div>
                <br>
                <div class="textepetitbleu">Nom et adresse officiels de l'organisme acheteur : </div>
                <span class="textepetit"> Mairie d' Orly</span><br>
                <div class="textepetit">Correspondant : Direction culturelle, 7, av adrien raynal, 94310 Orly, tél : 0148902423, adresse internet : <a href="http://mairie-orly.e-marchespublics.com/" target="_blank">http://mairie-orly.e-marchespublics.com</a></div>
                <br>
                <div class="textepetit">Le pouvoir adjudicateur n'agit pas pour le compte d'autres pouvoirs adjudicateurs.</div>
                <br>
                <div class="textepetit"><span class="textepetitbleu">Principale(s) Activité(s) du pouvoir adjudicateur : </span><br>
                  Services généraux des administrations publiques </div>
                <br>
                <div class="textepetitbleu">Objet du marché :</div>
                <span class="textepetit"> Marché relatif à l'acquisition de livres imprimés et différents 
                  supports numériques pour la médiathèque municipale et de dictionnaires 
                  français pour les écoles élémentaires d'orly</span><br>
                <br>
                <div class="textepetit"><span class="textepetitbleu">Type de marché de fournitures : </span><br>
                  achat </div>
                <br>
                <div class="textepetit"><span class="textepetitbleu">CPV</span> : <br>
                  &#8226; Objet principal : 22113000 <br>
                  &#8226; Objets complémentaires : 32354500 <br>
                  &#8226; Objets complémentaires : 30237380 </div>
                <br>
                <div class="textepetit">L'avis implique un marché public.</div>
                <br>
                <div class="textepetit">Des variantes seront-elles prises en compte: non.</div>
                <br>
                <div class="textepetit">La procédure d'achat du présent avis est couverte par l'accord sur les marchés publics de l'OMC : oui.</div>
                <br>
                <div class="textepetit"><span class="textepetitbleu">Prestation divisée en lot :</span> oui<br>
                  &#8226; Possibilité de présenter une offre pour un ou plusieurs lots<br>
                  <br>
                </div>
                <br>
                <div class="textepetit"><span class="textepetitbleu">Modalités essentielles de financement et de paiement et/ou références aux textes qui les réglementent : </span><br>
                  Délai global de paiement à 30 jours</div>
                <br>
                <div class="textepetit">Langues pouvant être utilisées dans l'offre ou la candidature : francais </div>
                <div class="textepetit">Unité monétaire utilisée, l'euro.</div>
                <br>
                <div class="textepetit"><span class="textepetitbleu">Justifications à produire quant aux qualités et capacités du candidat : </span><br>
                  &#8226; Copie du ou des jugements prononcés, si le candidat est en redressement judiciaire.<br>
                  <br>
                  &#8226;
                  Déclaration sur l'honneur du candidat justifiant qu'il n'entre dans 
                  aucun des cas mentionnés à l'article 43 du code des marchés publics 
                  concernant les interdictions de soumissionner.<br>
                  <br>
                  &#8226; Déclaration concernant le respect de l'obligation d'emploi mentionnée aux articles L. 5212-1 à L. 5212-4 du code du travail.<br>
                  <br>
                  &#8226;
                  Déclaration concernant le chiffre d'affaires global et le chiffre 
                  d'affaires concernant les fournitures, services ou travaux objet du 
                  marché, réalisés au cours des trois derniers exercices disponibles.<br>
                  <br>
                  &#8226; Déclaration appropriée de banques ou preuve d'une assurance pour les risques professionnels.<br>
                  <br>
                  &#8226;
                  Déclaration indiquant les effectifs moyens annuels du candidat et 
                  l'importance du personnel d'encadrement pour chacune des trois dernières
                  années.<br>
                  <br>
                  &#8226; Présentation d'une liste des principales fournitures 
                  ou des principaux services effectués au cours des trois dernières 
                  années, indiquant le montant, la date et le destinataire public ou 
                  privé.<br>
                  <br>
                  &#8226; Déclaration indiquant l'outillage, le matériel et 
                  l'équipement technique dont le candidat dispose pour la réalisation de 
                  marchés de même nature.<br>
                  <br>
                  &#8226; Production pour chacun de ces 
                  opérateurs des mêmes documents qui sont exigés du candidat pour 
                  justifier de ses capacités professionnelles, techniques et financières<br>
                  <br>
                  &#8226;
                  DC 4 (Lettre de candidature et d'habilitation du mandataire par ses 
                  co-traitants, disponible à l'adresse suivante : 
                  http://www.minefe.gouv.fr, thème : marchés publics).<br>
                  <br>
                  &#8226; DC 5 (Déclaration du candidat, disponible à l'adresse suivante : http://www.minefe.gouv.fr, thème : marchés publics).<br>
                  <br>
                  &#8226;
                  Si les documents fournis par le candidat ne sont pas rédigés en langue 
                  française, ils doivent être accompagnés d'une traduction en français 
                  certifiée conforme à l'original par un traducteur assermenté.<br>
                  <br>
                  <br>
                  Documents à produire dans tous les cas au stade de l'attribution du marché : <br>
                  <br>
                  &#8226; Pièces prévues aux articles D. 8222-5 ou D. 8222-7 et D. 8222-8 du code du travail.<br>
                  <br>
                  &#8226;
                  Attestations et certificats délivrés par les administrations et 
                  organismes compétents prouvant que le candidat a satisfait à ses 
                  obligations fiscales et sociales (si ces éléments ne sont pas déjà 
                  demandés dans le cadre du DC 7, ci-après) ou documents équivalents en 
                  cas de candidat étranger.<br>
                  <br>
                  &#8226; DC 7 ou documents équivalents en cas 
                  de candidat étranger (Etat annuel des certificats reçus, disponible à 
                  l'adresse suivante : http://www.minefe.gouv.fr, thème : marchés publics)<br>
                  <br>
                </div>
                <br>
                <div class="textepetit"><span class="textepetitbleu">Critères d'attribution : </span><br>
                  Offre
                  économiquement la plus avantageuse appréciée en fonction des critères 
                  énoncés dans le cahier des charges (règlement de la consultation, lettre
                  d'invitation ou document descriptif).</div>
                <br>
                <div class="textepetitbleu">Type de procédure : </div>
                <span class="textepetit">Procédure adaptée</span><br>
                <br>
                <div class="textepetitbleu">Date limite de réception des offres :</div>
                <span class="textepetit">29/11/2010 17:00</span><br>
                <br>
                <div class="textepetit"><span class="textepetitbleu">Délai minimum de validité des offres : </span> 120 jours à compter de la date limite de réception des offres</div>
                <br>
                <div class="textepetit"><span class="textepetitbleu">Autres renseignements : </span></div>
                <div class="textepetit">Numéro de référence attribué au marché par le pouvoir adjudicateur / l'entité adjudicatrice :<br>
                  2010-36</div>
                <br>
                <div class="textepetit"><span class="textepetitbleu">Conditions de remise des offres ou des candidatures : </span></div>
                <div class="textepetit">Se référer à l'article 6 du rc</div>
                <br>
                <div class="textepetit"><span class="textepetitbleu">Date d'envoi du présent avis à la publication : </span><br>
                  05/11/2010</div>
                <br>
                <div class="textepetit"><span class="textepetitbleu">Adresse auprès de laquelle des renseignements d'ordre administratif et technique peuvent être obtenus : </span></div>
                <div class="textepetit">Nom de l'organisme : Ville d'orly, Correspondant : Madame turon1 place du fer à cheval, 94310 Orly, tél : 0148902423</div>
                <br>
                <div class="textepetit"><span class="textepetitbleu">Conditions et mode de paiement pour obtenir les documents : </span></div>
                <div class="textepetit">Https://www.e-marchespublics.com. Téléchargeable à titre gratuit</div>
                <br>
                <div class="textepetit"><span class="textepetitbleu">Adresses à laquelle les offres / candidatures / projets / demandes de participation doivent être envoyées : </span></div>
                <div class="textepetit">Nom de l'organisme : Ville d'orly, Correspondant : Direction générale des services, 7 avenue adrien raynal, 94310 Orly</div>
                <br>
                <div class="textepetit"><span class="textepetitbleu">Instance chargée des procédures de recours : </span></div>
                <div class="textepetit">Nom
                  de l'organisme : Tribunal administratif de melun, 43 rue du général de 
                  gaulle, 77008 Melun, tél : 0160566630, fax : 0160566610, courriel : <a href="mailto:[email protected]">[email protected]</a>, adresse internet : <a href="http://www.ta-melun.juradm.fr/" target="_blank">http://www.ta-melun.juradm.fr</a></div>
                <br>
                <div class="textepetit"><span class="textepetitbleu">Service auprès duquel des renseignements peuvent être obtenus concernant l'introduction des recours : </span></div>
                <div class="textepetit">Nom
                  de l'organisme : Tribunal administratif de melun, 43 rue du général de 
                  gaulle, 77008 Melun, tél : 0160566630, fax : 0160566610, courriel : <a href="mailto:[email protected]">[email protected]</a>, adresse internet : <a href="http://www.ta-melun.juradm.fr/" target="_blank">http://www.ta-melun.juradm.fr</a></div>
                <br>
                <div class="textepetit"><span class="textepetitbleu">Renseignements relatifs aux lots : </span><br>
                  &#8226; Lot 1: <br>
                  Ouvrages imprimés de fictions et ouvrages imprimés documentaires pour les adultes<br>
                  &#8226; Lot 2: <br>
                  Ouvrages imprimés de fictions et ouvrages imprimés documentaires pour la jeunesse<br>
                  &#8226; Lot 3: <br>
                  Bandes dessinées pour les adultes et la jeunesse<br>
                  &#8226; Lot 4: <br>
                  DVD de films de fictions et documentaires, cédéroms et DVD-ROM pour adultes et jeune public<br>
                  &#8226; Lot 5: <br>
                  CD audio musique et textes enregistrés<br>
                  &#8226; Lot 6: <br>
                  Dictionnaires
                  français illustrés avec couverture spéciale récompense scolaire 2011 
                  pour les enfants des écoles élémentaires de la ville d'Orly</div>
                <br>
                <br>
                <br>
                <br></td>
            </tr>
          </tbody>
        </table>
      </div></td>
      <td></td>
    </tr>
    <tr>
      <td colspan="3" align="center">&nbsp;</td>
    </tr>
  </tbody>
</table>

</body></html>


ViPHP
ViPHP | 5462 Messages

09 nov. 2010, 14:24

oki, donc tu veux insérer quelle donner dans ta base ? ta plein de fichier html qui sont tout dans un dossier ou ddans plusieurs ?

Mammouth du PHP | 687 Messages

09 nov. 2010, 14:30

tous mes fichiers sont situés dans un unique dossier et effectivement j'aimerai bien pouvoir les insérer dans ma base sql...

ViPHP
ViPHP | 5462 Messages

09 nov. 2010, 14:34

tous mes fichiers sont situés dans un unique dossier et effectivement j'aimerai bien pouvoir les insérer dans ma base sql...
oki pas de soucis la dessus, dis moi quelle champs tu veux insérer et le schema de ta base :wink:

Mammouth du PHP | 687 Messages

09 nov. 2010, 17:12

Alors voici les informations à récupérer dans le HTML :
  • Annonce N°:
    publiée le:
    Avis de marché:
    Département de publication :
    Travaux - Nom et adresse officiels de l'organisme acheteur
    Correspondant :
    tél. :
    télécopieur :
    courriel :
    Objet du marché :
    Lieu d'exécution et de livraison:
    Caractéristiques principales :
    Variantes :
    Quantités (fournitures et services), nature et étendue (travaux) :
    Durée du marché ou délai d'exécution :
    Critères d'attribution :
    Type de procédure :
    Date limite de réception des offres :
    Autres renseignements :
    Renseignements complémentaires :
    Conditions et mode de paiement pour obtenir les documents contractuels et additionnels
    Dossier à retirer aux frais de l'entreprise :
    Tél. :
    télécopieur :
    Conditions de remise des offres ou des candidatures
    lieu de remise des offres :
    Date d'envoi du présent avis à la publication :
    Renseignements relatifs aux lots :
Et voici la structure de la base
CREATE TABLE IF NOT EXISTS `capture_appels_doffre` (
  `id` int(11) NOT NULL,
  `publie_sur_site` int(11) NOT NULL,
  `avis_marche` varchar(255) NOT NULL,
  `dep_publication` varchar(5) NOT NULL,
  `travaux` varchar(250) NOT NULL,
  `num_annonce` varchar(50) NOT NULL,
  `correspondant_organisme` varchar(250) NOT NULL,
  `tel_organisme` varchar(20) NOT NULL,
  `fax_organisme` varchar(20) NOT NULL,
  `mail_organisme` varchar(50) NOT NULL,
  `objet_marche` varchar(250) NOT NULL,
  `lieu_execution_livraison` varchar(50) NOT NULL,
  `caracteristiques_principales` varchar(250) NOT NULL,
  `variantes` varchar(250) NOT NULL,
  `duree_marche` varchar(50) NOT NULL,
  `criteres_attribution` varchar(250) NOT NULL,
  `type_procedure` varchar(250) NOT NULL,
  `date_limite` varchar(50) NOT NULL,
  `autres_renseignements` varchar(250) NOT NULL,
  `renseignements_complementaires` varchar(250) NOT NULL,
  `lieux_retirer_dossier` varchar(50) NOT NULL,
  `tel_retirer_dossier` varchar(20) NOT NULL,
  `fax_retirer_dossier` varchar(20) NOT NULL,
  `lieux_remise_offre` varchar(50) NOT NULL,
  `date_envoi_publication` varchar(20) NOT NULL,
  `renseignements_lots` varchar(250) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

ViPHP
ViPHP | 5462 Messages

09 nov. 2010, 17:22

juste les trucs en gras ?

Mammouth du PHP | 687 Messages

09 nov. 2010, 17:32

Non c'est l'inverse.. désolé j'ai oublié de préciser... Les éléments en gras sont des titres simplement...

Mammouth du PHP | 687 Messages

09 nov. 2010, 22:46

Je suis en train de retourner internet et je ne trouve pas d'infos concernant cette manipulation...
En fait je me demande comment arriver à synchroniser les centaines de fichiers HTML contenu dans mon dossier avec ma base sql... :?
Je ne comprends pas trop...

ViPHP
ViPHP | 5462 Messages

09 nov. 2010, 23:03

le soucis c'est que les champs ne sont même pas nommés dans le HTML
et c'est plutôt : où est quoi ? y'a pas tout les élément dans ton HTML par rapport la base donnée

Mammouth du PHP | 687 Messages

09 nov. 2010, 23:07

Bah en fait je n'ai besoin que de certains éléments des fichiers HTML...
Que faudrait il que je fasse pour que les html soient exploitables pour les envoyer dans ma base sql?

ViPHP
ViPHP | 5462 Messages

09 nov. 2010, 23:13

Bah en fait je n'ai besoin que de certains éléments des fichiers HTML...
Que faudrait il que je fasse pour que les html soient exploitables pour les envoyer dans ma base sql?
pas grand chose faut juste les bonnes requete xpath

par exemple le nom de l'oganisme c'est :
$xpath->query('//span[class="textepetit"]')->item(0)->nodeValue;