Aller au contenu

yhugo

Webmaster Régulier
  • Compteur de contenus

    71
  • Inscrit(e) le

  • Dernière visite

Messages postés par yhugo

  1. Ce que je fais sur beaucoup de sites, au travail :

    - J'appelle le fichier distant, avec un timeout (J'utilise cURL au lieu de file_get_contents).

    - J'enregistre le résultat localement

    - Je parse le fichier local

    Si jamais le fichier distant ne répond pas dans le temps imparti, je passe tout de suite à l'étape 3 : je parse le fichier local, qui contient fatalement la dernière sauvegarde du fichier.

    Merci capitaine_torche...

    Que penses-tu de ce code? Je ne m'y connais pas beaucoup en cURL, mais ça semble bien fonctionner... Comment l'optimiser?


    <?php
    $url = 'https://secure.diigo.com/api/v2/bookmarks?key=****';
    $path = "diigo.json";
    $timeout = 10;
    $http_auth_ident = '***'; // username:password
    $ch = curl_init($url);

    curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

    if (preg_match('`^https://`i', $url)){
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    }

    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
    curl_setopt($ch, CURLOPT_USERPWD, $http_auth_ident);

    $data = curl_exec($ch);
    $httpStatusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

    if ($httpStatusCode == 200) {
    $fp = fopen($path, 'w');
    curl_setopt($ch, CURLOPT_FILE, $fp);
    $data = curl_exec($ch);
    fclose($fp);
    }

    curl_close($ch);
    ?>

    Merci!

    Salutations

  2. Bonjour à tous,

    sur mon futur site (pas encore en ligne), je récupère les 15 derniers bookmarks de mon compte Diigo. Pour se faire je passe par l'API de Diigo et PHP file_get_contents() et je parse le JSON avec json_decode(), etc...

    Mais je me dis que si le site de Diigo tombe en panne, j'aurais une erreur sur ma page d'accueil, donc j'aimerais bien afficher quand-même le contenu.

    Alors ça serait bien si je pouvais récupérer le JSON de l'API et de l'enregistrer sur mon serveur pour le parser en local. Puis une fois ou deux par jour je pourrais lancer un cron job qui rafraîchirait le fichier JSON sur mon serveur.

    Le seul problème c'est que je ne sais pas trop comment faire tout ça, je me demande même si c'est la meilleure solution?

    Donc j'aimerais avoir vos conseils et aussi quelques pistes de solutions pour les réaliser...

    Merci, bonne fin de journée!

  3. Bonjour,

    Pour ceux qui comme moi se pose la question : "Ontologie c'est quoi ça ? " je met un lien qui m'a paru intéressant : Techno-science sur le lequel tu trouveras déjà piste pour créer toi même l'ontologie de l'immobilier ;)

    Merci pour le lien Arlette :) Mais je n'ai malheureusement pas le temps ni les moyens de me lancer dans la construction d'ontologies... J'aimerais bien, mais ce n'est pas possible pour l'instant. En attendant je continue ma recherche.

    Ciao, bonne fin de journée

  4. Bonjour SStephane,

    Voilà j'ai essayé la syntaxe que tu m'as proposée et voici l'erreur qu'on me retourne :


    Warning: SimpleXMLElement::__construct() [simplexmlelement.--construct]: Entity: line 255: parser error : Extra content at the end of the document in /home/yhs/www/cv.hugo.soucy.cc/mic.xhtml.php on line 257

    Warning: SimpleXMLElement::__construct() [simplexmlelement.--construct]: <br /> in /home/yhs/www/cv.hugo.soucy.cc/mic.xhtml.php on line 257

    Warning: SimpleXMLElement::__construct() [simplexmlelement.--construct]: ^ in /home/yhs/www/cv.hugo.soucy.cc/mic.xhtml.php on line 257

    Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in /home/yhs/www/cv.hugo.soucy.cc/mic.xhtml.php:257 Stack trace: #0 /home/yhs/www/cv.hugo.soucy.cc/mic.xhtml.php(257): SimpleXMLElement->__construct('<!DOCTYPE html ...') #1 {main} thrown in /home/yhs/www/cv.hugo.soucy.cc/mic.xhtml.php on line 257

    Le code :


    <?php
    $currentDocument = file_get_contents("http://cv.hugo.soucy.cc/mic.xhtml.php","r");
    $vCard = new SimpleXMLElement($currentDocument);

    print $vCard->div;
    print $vCard->xpath('//h1');
    ?>

    Merci, bonne journée

  5. Bonjour à tous,

    j'ai cherché sur le Web des tutoriels, mais je n'ai rien trouvé ... :blush:

    J'ai une page PHP/XHTML qui contient du RDFa ... Elle ressemble un peu à ceci :


    <div rel="ov:businessCard">
    <div about="http://sw-app.org/mic.xhtml#businesscard" typeof="vcard:VCard">
    <div rel="vcard:org">
    <div about="http://sw-app.org/mic.xhtml#org" typeof="vcard:Organization">
    <span property="vcard:organization-name" datatype="xsd:string">
    Digital Enterprise Research Institute (DERI),<br />
    National University of Ireland, Galway<br />
    </span>
    <span rel="owl:sameAs" resource="http://dbpedia.org/resource/Digital_Enterprise_Research_Institute" />
    </div>
    </div>
    <div rel="vcard:workAdr">
    <div about="http://sw-app.org/mic.xhtml#postaladress" typeof="vcard:Address">
    <span property="vcard:street-address">IDA Business Park, Lower Dangan</span>,<br />
    <span property="vcard:locality">Galway</span>,
    <span property="vcard:country-name">Ireland</span>
    </div>
    </div>
    Tel.: <span property="vcard:workTel">+353 91 495730</span>
    </div>
    </div>

    J'aimerais savoir comment je peux extraire des données de ce bout de code avec simpleXML et xPath ? J'ai déjà utilisé simpleXML avec un fichier XML externe, mais là j'aimerais l'utiliser avec du XHTML qui ce trouve sur ma page... mais j'ai aucune idée de la façon de charger le DOM pour ensuite le parcourir.

    Voilà, merci et bonne journée tout le monde...

  6. Dans un cas les items sont au deuxième niveau du XML et dans l'autre au troisième niveau (dans un "channel")? C'est probablement lié au fait qu'il s'agit de RSS 1.0 dans le premier cas et de RSS 2.0 dans le deuxième, mais je n'ai jamais regardé ça, donc ce n'est qu'une supposition...

    Jacques.

    C'était tout à fait ça Jacques ... Merci beaucoup !

  7. Bonjour à tous,

    oui bien c'est cela je n'arrive pas toujours à extraire des infos des RSS externes, c'est assez bizarre ... Pourtant c'est simple, voilà ce que je veux faire.

    Sur une page je veux simplement afficher le titre du dernier élément publié de 3 RSS différents ... Mais je n'arrive pas à accéder au contenu d'un des RSS par simpleXML.

    Voici le code de ma page et c'est la requête du centre qui ne fonctionne pas (#lastKryzalid) :

    <div class="blocRss" id="lastIdenti" title="Mon dernier microbillet en provenance de Identi.ca.">
    <?
    $xmlIdenti = simplexml_load_file('http://identi.ca/yhs/rss');
    echo "<p><a href='".$xmlIdenti->item[0]->link."'>".$xmlIdenti->item[0]->title."</a></p>";
    ?>
    </div>

    <div class="blocRss" id="lastKryzalid" title="">
    <?
    $xmlKryzalid = simplexml_load_file('http://blog.kryzalid.net/author/admin/feed/');
    echo "<p><a href='".$xmlKryzalid->item[0]->link."'>".$xmlKryzalid->item[0]->title."</a></p>";
    ?>
    </div>

    <div class="blocRss" id="lastDelicious" title="Le dernier signet que j'ai ajouté à mon compte Delicious.">
    <?
    $xmlDelicious = simplexml_load_file('http://delicious.com/rss/yhugo');
    echo "<p><a href='".$xmlDelicious->item[0]->link."'>".$xmlDelicious->item[0]->title."<br/>".$xmlDelicious->item[0]->link."</a></p>";
    ?>
    </div>

    Quelqu'un à un indice ?

    Merci et bonne fin de journée

  8. Je ne pense pas qu'ajouter une balise fasse planter le principe du sitemap, non (mais bon, c'est totalement empirique, je n'ai pas testé).

    Dans cette optique, tu pourrais éventuellement te générer ton plan via un script, mais comment comptes-tu gérer les éventuelles subdivisions, rubriques, etc ?

    C'est une bonne question :)

    Cet exercice n'est pas encore relié à un exemple concret, mais j'essaie de voir ce que je pourrais automatiser dans mes projets de sites Web ... Puis comprendre un peu mieux la manipulation d'info des fichiers XML.

    Mais ma question de départ c'est vraiment de comprendre ce que ça veut dire concrètement "Extension du protocole Sitemap" :whistling:

    Merci, ciao

  9. Non, tu ne peux pas ajouter de label, ni aucune autre balise non prévue.

    Pourquoi voudrais-tu le faire, d'ailleurs ? Un fichier Sitemap sert juste à trouver des pages, seule l'url en est donc une information pertinente.

    En ce qui concerne les autres informations (titre, contenu, etc), le moteur les trouvera de lui-même lors de sa visite sur la page.

    Salut captain_torche,

    je me demandais si c'était possible d'utiliser les données d'un sitemap XML pour créer une page Plan su site en xhtml (ou vice versa) ... ? Mais tu sembles dire qu'on ne peut altérer le schéma du standard sitemap ...

    Mais de quoi parle-t'on avec "Extension du protocole Sitemap" ?

    Merci, ciao

  10. Bonjour à tous,

    Sur le site officiel du protocole Sitemaps on parle d'extension ...

    Mais comment faire concrètement ?

    Voici à quoi peut ressembler un sitemap standard :

    <?xml version="1.0" encoding="UTF-8"?>
    <urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    <url>
    <loc>http://www.monsite.com</loc>
    <lastmod>2008-03-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
    </url>
    <url>
    <loc>http://www.monsite.com/accueil</loc>
    <lastmod>2008-03-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
    </url>
    <url>
    <loc>http://www.monsite.com/vision</loc>
    <lastmod>2008-03-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
    </url>
    </urlset>

    Mais est-ce que je pourrais ajouter une balise <label></label> ? Comme ceci :

    <?xml version="1.0" encoding="UTF-8"?>
    <urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    <url>
    <loc>http://www.monsite.com</loc>
    <lastmod>2008-03-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
    <label></label>
    </url>
    <url>
    <loc>http://www.monsite.com/accueil</loc>
    <lastmod>2008-03-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
    <label>Accueil</label>
    </url>
    <url>
    <loc>http://www.monsite.com/vision</loc>
    <lastmod>2008-03-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
    <label>Vision</label>
    </url>
    </urlset>

    Si oui comment s'y prendre ? Quelqu'un aurait une piste ?

    Merci beaucoup et bonne journée

  11. Bonjour à tous, merci Kioob et captain_torche pour vos commentaires,

    je comprends mieux le problème qu'apporte mon déplacement du #header avec javascript ^^ ... Et je constate moi aussi que le fait de mettre le menu principal avant le contenu n'influence pas trop trop l'indexation ; Cependant j'aimerais quand-même trouver une astuce CSS pour solutionner ma question de départ. :)

    Merci et bonne journée !

  12. Bon début de semaine à tous,

    merci de vos commentaires ! C'est motivant de se savoir dans la bonne direction. :) Merci Bigb06 de soulever l'aspect de la vitesse de chargement de nos sites ... J'ajoute ça à ma liste toute suite !

    Justement, qu'est-ce que vous ajouteriez de plus à cette liste ? Est-ce que j'ai oublié autre chose ?

    Merci encore et bonne journée !

  13. Là comme ça je vois pas ce qui coince. Si ça peut t'aider, voici un exemple où c'est utilisé (oui c'est une page d'erreur, et oui ça ne paye pas de mine, mais ça fonctionne).

    Pour ma part j'utilise cette méthode aussi parce que cela facilite la navigation à mon sens, et je trouve plus logique de placer en premier ce qui est important. Je ne vois pas ce que ça a de "crade". :S

    Salut Kioob,

    voici comment je le fais avec jQuery et c'est ultra-simple :

    <script type="text/javascript" src="js/jquery/jquery-1.2.6.pack.js"></script> 
    <script type="text/javascript">
    // <![CDATA[
    $(document).ready(function(){

    //Mettre le header en haut de la page si JS est activé
    $("#header").insertBefore("#wrapper");
    //

    });
    // ]]>
    </script>

    Voilà, bon weekend à tous ... ciao

  14. Bonjour à tous,

    je suis en train de brosser un portrait des étapes du référencement d'un site. J'aimerais donc vous présenter ce que j'ai fait jusqu'à maintenant et avoir vos commentaires.

    De A à H ce sont les grandes étapes que j'ai identifié (au meilleur de mes connaissances) ; Puis à l'intérieur ce sont les actions à posés ... Je leur ai donné trois niveaux de priorité :

    A. Déterminer notre cible, notre public cible ; À qui s'adresse-t'on ? Cela facilitera notre recherche de mots clés et l'adaptation des textes !

    B. Trouver les mots clés avec lesquels le public nous trouvera facilement avec l'aide des engins de recherche.

    1. Choisir une vingtaine de combinaison de mots clés (Entre 20 et 25). [Priorité 1]

    2. Trouver, si possible, un nom de domaine pertinent et facile à retenir qui contient idéalement un mot clé. [Priorité 3]

    C. Structurer et (ré)écrire le contenu pour l'adapter au médium qu'est le Web.

    1. Structurer le contenu pour faire une sujet = une page. Établir une hierarchie claire. [Priorité 1]

    2. Création de contenu unique, original, à valeur ajoutée ... Y insérer les termes clés sélectionnés précédemment. [Priorité 1]

    3. Section Nouvelles mise à jour régulièrement. [Priorité 2]

    4. Créer une FAQ -> Permet d'avoir une page riche en mots clés et de placer plusieurs hyperliens internes. [Priorité 3]

    D. Intégrer les contenus en utilisant des techniques qui permettent une grande accessibilité tant aux moteurs de recherches qu'aux utilisateurs.

    1. Séparer la structure d'un document de la présentation de son contenu -> XHTML/CSS par rapport au HTML avec tableaux. [Priorité 1]

    2. Optimiser les <title></title> avec des mots clés [Priorité 1]

    3. Optimiser les balises <h1> pour présenter le sujet principal de la page; Y insérer un mot clé qui se retrouve dans la balise <title> de la page. [Priorité 1]

    4. Mettre le contenu le plus haut possible dans le code : Google donne plus de poids au contenu qui se trouve au début de la page. [Priorité 1]

    5. Optimiser les liens internes du site : Dans les textes faire des hyperliens vers d'autres pages du site et leurs donner un attribut title. [Priorité 1]

    6. Ajouter aux images des attributs ALT bien renseignés (Utiliser des mots clés si possible). [Priorité 2]

    7. Ajouter un sitemap XML à la racine du site : Assure une mise à jour plus rapide des informations qui sont modifiés sur le site. [Priorité 1]

    8. Une page Plan du site avec la description du contenu de chaque page à coté des hyperliens. [Priorité 2]

    9. Réécriture d'URLs, pour rendre la structure plus claire et insérer des combinaisons de mots clés. [Priorité 2]

    10. Faire des liens textuels plutôt que des liens de type "Cliquez-ici" ... [Priorité 1]

    11. Créer un fil d'Arianne : Répétition "naturelle" des expressions clés de chaque page, en plus de mieux situer l'utilisateur dans le site. [Priorité 3]

    12. Une page d'erreur 404 personnalisée avec les principaux liens du site ... Cela évite aux crawlers des moteurs de se retrouver dans un cul de sac. [Priorité 1]

    13. Tags cloud, nuage de mots clés : Il semblerait que Google les aime bien (Pour encore combien de temps ?) ; En plus de permettre d'insérer des mots clés dans les pages, il peuvent être pratique pour l'utilisateur de lister toutes les pages d'un sujet en un clic. [Priorité 3]

    14. Fichier robot.txt [Priorité 3]

    15. Créer une version du site Web pour téléphone mobile ... La navigation par téléphone portable, smartphone, ultraportable ou autres supports plus petits que les écrans standards est de plus en plus populaire ... [Priorité 3]

    E. Mettre en valeurs les contenus (Par l'ergonomie, les méta-données, etc ...)

    1. Dans les textes mettre de l'emphase sur les mots clés avec les balises <strong> ou <em>. [Priorité 1]

    2. Flux RSS (et ATOM). [Priorité 2]

    3. Développer du contenu sémantique : Microformats, RDFa, Métadonnées (Dublin Core, géolocalisation, etc.) [Priorité 3]

    F. Inscrire le site aux principaux moteurs de recherche, dans les annuaires Web, et dans différents les outils de localisation pour favoriser le référencement local.

    1. Inscriptions dans les annuaires Web les plus important et placer sont sites dans les bonnes catégories. [Priorité 1]

    2. Inscription à Google Local Business Center. [Priorité 1]

    G. Entreprendre d'autres actions de promotion en parallèle aux actions de référencement (Échanges de liens, médias sociaux, bannières publicitaires, infolettres, blogs, etc.).

    1. Échange de liens avec des sites "cousins" (complémentaires mais non concurrents). [Priorité 1]

    2. Création d'un blog d'humeur pour son site. [Priorité 3]

    3. Présence sur les médias sociaux du Web, tel que Facebook, Twitter, etc. [Priorité 3]

    H. Faire une veille des résultats et des statistiques d'indexation et de trafic ... Faire des ajustements et de l'optimisation au besoin.

    1. Mettre à jour le site le plus souvent possible ; Renouvler le contenu. [Priorité 1]

    2. Se tenir au courant et s'adapter ! [Priorité 1]

    3. S'inscrire aux outils Google, tel que Outils pour les webmasters et Google Analytics. [Priorité 1]

    Merci beaucoup et bonne journée !

  15. Je me base sur une intervention de QuentinC sur Alsacreations qui est très certainement le premier concerné par le problème : http://forum.alsacreations.com/topic-6-390...ts.html#p280208

    Bonjour Sora,

    pour moi l'argument du lecteur vocal et celui des moteurs de recherche me semble suffisant pour justifier une telle pratique. Surtout dans un milieu où l'on fait des sites Web pour qu'ils soient vues et facilement trouvable par Google, parce que nos clients nous donnent pas mal d'argent pour des résultats ... Est-ce que les gens qui naviguent sur un site avec un navigateur de type lynx vont vraiment être déroutés par cette structure ? Personnellement je ne crois pas ! Surtout si le site respecte globalement les règles d'accessibilité ... Et avec un lien "Aller au menu", je crois que nous atténuons le désagrément, si désagrément il y a.

    Y'a pas d'absolue à ce niveau, comme dirait l'autre ; Après tout, c'est peut-être seulement un choix ergonomique.

    ciao, bonne journée !

  16. Une petite source (sérieuse et récente) pour confirmer ça ?

    Techniquement, ce n'est pas si important et même assez perturbant, l'utilisateur s'attend à avoir le menu en haut de page, c'est plus logique. Le plus important en termes d'accessibilité c'est de prévoir des lien d'évitement (aller au menu / aller au contenu).

    Bonjour à tous, salut Sora ...

    voici ma source, je sais pas si on peut dire qu'elle est récente, cependant je crois que les arguments dans ce texte son toujours d'actualité :

    Qui en bénéficie ?

    1. Marc en bénéficie. Tel que montré dans les exemples précédents, Lynx affiche le contenu dans l'ordre dans lequel il apparaît dans le code source HTML. Ce qui fait que Marc doit faire défiler toute la barre de navigation à chaque fois qu'il visite votre page. Le défilement est chiant.

    2. Jackie en bénéficie. JAWS, tout comme Lynx, présente le contenu dans l'ordre dans lequel il apparaît le code source HTML, non pas l'ordre d'affichage à l'écran. Avec JAW, le problème est plus important, parce-que Jackie doit attendre que JAWS ait lu tout le contenu de la barre de navigation avant de pouvoir écouter le vrai contenu et il n'existe aucun moyen sur de sauter directement au contenu voulu. (Nous parlerons de ce problème lundi prochain)

    3. Google en bénéficie. Google donne plus de poids au contenu qui se trouve au début de la page. Il s'agit du début du code source HTML de votre, non pas le contenu visuel du haut de votre page. En fait, la plupart des personnes qui connaissent ce truc font partie du milieu de l'optimisation des moteurs de recherche ; pour eux les bénéfices de l'accessibilité sont secondaires.

    Salut Kioob, merci pour ton exemple ! Le faire en javascript serait sûrement une solution, surtout si je n'arrive pas à le faire en CSS; Merci je vais regarder ça :)

    Merci de prendre du temps pour me répondre, bonne journée à tous !

×
×
  • Créer...