Faire un lien vers la dernière version de Java depuis son site

Dans le boulot que je fais (je bosse dans la dématérialisation des marchés publics), certains modules de notre service en ligne utilisent Java. Oui je sais c’est pas top, mais on a pas encore trouvé mieux pour gérer les certificats de chiffrement. Bref. Vous savez (et si vous ne le savez pas je vous le rappelle), Google aime bien les pages dynamiques, dont le contenu change régulièrement, et lorsque c’est le cas, vous prenez quelques places dans les résultats de votre moteur de recherche favori…

Pourquoi je vous dit ça ? Tout simplement parce que si votre boite utilise Java, cela pourrait être du plus bel effet de faire télécharger la dernière version en date directement depuis votre site internet. Dans les faits, vous souhaiterez sans doute maîtriser la version que vous souhaitez faire télécharger et tester votre application avec la dernière version de Java, mais passons cette éventualité.

Le but est donc, en php, d’obtenir avec une expression régulière en s’inspirant de cette page, pour obtenir l’info de la dernière version (numéro de la dernière version) et le lien vers l’exécutable hors ligne. Par exemple, la dernière version actuellement est : Java . Le lien vers la dernière version à été généré dynamiquement grâce à un petit bout de code que je vais vous présenter tout de suite :

function get_last_java_version() {
    $page = file_get_contents('http://www.java.com/fr/download/manual.jsp');
    
    // expressions régulières 
    $ptn = '/Windows Hors ligne" href="([^"]+)">/';
    $ptn_ver = '/Recommandé (.+) <\/strong>/';

    preg_match($ptn, $page, $lien);
    preg_match($ptn_ver, $page, $ver);

    $j['lien'] = $lien[1];
    $j['ver'] = $ver[1];    

    return 'Java '  
    . strtolower($j['ver']) . '';
}
echo get_last_java_version();

Cette petite fonction vous permettra donc de proposer systématiquement à vos visiteurs la dernière version de la plateforme phare d’Oracle.

Sinon vous pouvez directement aller sur mon outil qui propose d’installer la dernière version de Java.

Je suis le meilleur blog dofollow

C’est important d’avoir une haute estime de soi ! Non, je ne suis pas le meilleur des blogs DoFollow de la blogosphère Française, seulement l’un de ses représentants.

Le dofollow pour un lien, c’est tout simplement de ne pas comporter l’attribut rel="nofollow".

Mais pourquoi le Dofollow ?

Le dofollow est un état esprit laissant libre aux personnes amenées à commenter sur votre blog de laisser un lien sur votre blog, et qu’il soit référencé ! Car après tout, internet est un échange. En participant aux articles avec un commentaires construit, je pense qu’il est de bonne guerre de vous laisser à vous aussi la possibilité de faire grimper votre référencement.

Comment mettre son WordPress en Dofollow ?

Par défaut, les commentaires WordPress sont en nofollow. Il vous faut donc un plugin, ou ajouter quelques lignes de code dans le fichier fonction du thème de votre blog :

// Fonction Do Follow
function dofollow($attr) {
    return str_replace('" rel="nofollow', '', $attr);
}
add_filter('comment_text', 'dofollow');
remove_filter('pre_comment_content', 'wp_rel_nofollow', 15);

function enleve_nofollow($attr){
    return str_ireplace(' nofollow', '', $attr);
}
add_filter('get_comment_author_link', 'enleve_nofollow');

Comment savoir si un blog est en Dofollow ?

Voilà un petit tuto sous chrome pour vous expliquer comment savoir si un blog est en dofollow.

Bon déjà allez sur le site sur lequel vous voulez commenter (ou pas). Sur un commentaire avec un lien (généralement le pseudo ou le prénom de la personne qui commente) effectuez un clique droit, puis aller sur « inspecter l’élément ». Vous devriez avoir un fenêtre qui apparaît comme sur l’écran ci-dessous :

nofollow-reconnaitre-blog-dofollow-rel

Sur la ligne surlignée, si vous disposez le l’attribut rel="nofollow" comme sur l’exemple, alors ces liens ne sont pas référencés, et par déduction le blog n’est pas en dofollow.

Un petit conseil pour la fin

Si vous souhaitez utiliser IRZ pour commenter et avoir des lien en dofollow, pas de problème ! Cependant, je n’accepte pas tout les commentaires. Je privilégie les commentaires construits, de plus de 150 caractères (à la louche, une ou deux bonne phrase minimum), et apportant une valeur ajouté à l’article. Déjà, ne commentez pas cet article, tout le monde le fait. Voici ce que je vous conseille de faire :

1
Allez sur la page d’accueil du site ou faites une recherche par mot-clef.
2
Trouvez un article se rapprochant de votre thématique (mais ce n’est pas obligatoire).
3
Lisez l’article !
4
Utilisez votre savoir ou une expérience personnelle pour commenter celui-ci

Si vous suivez ces conseils, il y 99% de chances que je valide votre commentaire. Irz est un site très vaste qui parle de sujets des plus variés. De plus, si aucun sujet ne se rapporte à votre domaine et que vous êtes vraiment inspiré, vous pouvez proposer un article via notre page de contact, en essayant de faire minimum 400 mots. Bien entendu, un lien dofollow vous sera attribué !

N’ayez plus jamais à mettre à jour votre copyright de bas de page

C’est une chose que je constate souvent, en bas de page, à côté du copyright, il y a souvent une année, qui correspond à l’année de création de l’entreprise (style ‘2017 © Tartempion production’) si c’est l’année courante, ou une formule comprenant deux années, la première étant l’année de création de l’entreprise (ou du site), la seconde étant l’année courante (style ‘1997-2017 © Tartempion production’).

J’ai pensé à vous en vous concoctant une petite fonction PHP qui fait tout ça à votre place !

function nos_annees($annee) {
$annee_en_cours = date('Y');
    if($annee!=$annee_en_cours) {
        return $annee . '-' . $annee_en_cours;
    }
    return $annee;
}

Exemple, pour l’année 2007 : 2007-2017

Pour vous en servir, rien de plus simple, voici le code à insérer en bas de page pour faire appel à cette fonction :

< ?php echo nos_annees(1997); ?>  © Tartempion Prod.

C’est le genre de petites fonctions qui permet d’avoir un forme de pérennité dans ses pages, en évitant de devoir à mettre à jour ce genre de choses à la main chaque année, et en évitant d’avoir des données erronées qui traînent sur votre site.

Afficher une liste définie de catégories dans la sidebar de votre blog WordPress

Suite à des demandes récurrentes, voici comment faire pour afficher non pas toutes les catégories (j’en ai une liste longue comme le bras et il est possible d’explorer tout ça dans la page Archives), mais une liste définie de catégories à afficher en barre latérale.

Perso, j’utilise Exec-PHP et ajoute directement le code dans un nouveau Widget type Texte (Apparence > Widgets).

  • Catégories
  • Voici la liste des variables utilisées :

    • show_count : à 1, affiche le nombre d’articles de chaque catégorie
    • number : nombre de catégories à afficher
    • orderby : par quel champ trier ? Le choix est entre :
      • ID
      • name (valeur par défaut)
      • slug
      • count
      • term_group
    • order : DESC indique qu’on commence par le plus gros chiffre, normal

    Le résultat final ressemblera à ceci :

    Pour plus de détails à propos des paramètres que prend en compte le tableau de wp_list_categories, un petit tour sur le Codex vous fera le plus grand bien.

    Vérifier l’existence d’un stream en cours sur une chaîne justin.tv

    Pour les besoins d’un développement en cours, j’ai commencé à me plonger dans l’API du site JustinTV.

    Voilà la portion de code qui va bien vous aider. Je vais me passer de commentaires, la code parle de lui-même :

    function is_streaming($stream)
    {
        $link = 'http://api.justin.tv/api/stream/list.json?channel=' . $stream;
        $data = file_get_contents($link);
        $existe = strpos($data, 'name');
        if($existe) {
            return true;
        }
        return false;
    }   
    
    $chaine = 'missclicktv';
    if(is_streaming($chaine))
    {
        echo $chaine . ' est en train de streamer !';
    } else {
        echo 'Rien en cours, allez sur le Youtube de ' . $chaine . ' !';
    }

    Il suffit donc d’utiliser la fonction is_streaming() qui retourne true si l’utilisateur stream actuellement. Si le stream n’est pas en cours, vous pouvez dirigez l’utilisateur vers la chaîne YouTube (ou autre) correspondante.

    Enjoy !

    BuddyPress : Personnaliser l’affichage des champs du profil avec le filtre bp_get_the_profile_field_value

    Vous souhaitez personnaliser l’affichage d’un des champs de votre profil BuddyPress ? Dans cet exemple, l’utilisateur va entrer l’ID d’une vidéo YouTube et afin que le champ ne renvoi pas 2aEsr_2Cfp4 (par exemple), mais un embed de la vidéo correspondante, nous allons utiliser bp_get_the_profile_field_value pour modifier l’affichage de la valeur de votre champ.

    Dans le fichier functions.php de votre thème :

    function set_video_field($field_value) {
    	$bp_this_field_name = bp_get_the_profile_field_name();
    	// remplacer 'Vidéo' par le champ que vous souhaitez customiser
    	if($bp_this_field_name=='Vidéo') {
    		$field_value = strip_tags( $field_value );
    		$field_value = '';
    	}
    	return $field_value;
    }
    add_filter( 'bp_get_the_profile_field_value','set_video_field');

    Bien sûr, à partir de là, vous pouvez un peu faire ce que vous voulez.

    Par défaut, les champs sont encadrés de </p><p>, pour obtenir la donnée brut je me sert de cette ligne :

    $field_value = strip_tags( $field_value );

    En espérant vous avoir été utile !

    Add more files extensions : le remède contre le manque d’extensions de wordpress

    Ce plugin fait suite a cet article concernant l’ajout de types mime, ou des extensions de fichiers à la volée.

    Qui n’a jamais eu le message : « Tel fichier n’a pas pu être mis en ligne suite à une erreur – Désolé, ce type de fichier n’est pas autorisé pour des raisons de sécurité. » ? C’est le message qui s’affiche lorsque vous essayer d’utiliser l’utilitaire d’upload de WordPress en utilisant une extension interdite par défaut par votre CMS préféré.

    C’est clairement une fonctionnalité manquante dans les médias de WordPress : l’upload de fichiers, sans limite d’extensions, n’est pas permise par défaut. Pour des raisons de sécurité sans doute, la liste des extensions supporté la bibliothèque de WordPress est fortement limité.

    En voici la liste : jpg, jpeg, jpe, gif, png, bmp, tif, tiff, ico, asf, asx, wax, wmv, wmx, avi, divx, flv, mov, qt, mpeg, mpg, mpe, mp4, m4v, ogv, mkv, txt, asc, c, cc, h, csv, tsv, ics, rtx, css, htm, html, mp3, m4a, m4b, ra, ram, wav, ogg, oga, mid, midi, wma, mka, rtf, js, pdf, swf, class, tar, zip, gz, gzip, rar, 7z, exe, doc, pot, pps, ppt, wri, xla, xls, xlt, xlw, mdb, mpp, docx, docm, dotx, dotm, xlsx, xlsm, xlsb, xltx, xltm, xlam, pptx, pptm, ppsx, ppsm, potx, potm, ppam, sldx, sldm, onetoc, onetoc2, onetmp, onepkg, odt, odp, ods, odg, odc, odb, odf, wp, wpd.

    La solution a tout vos problèmes ? Add more files extensions !

    C’est tout simple : un champ dans la page Réglages > Médias > Envoi de fichiers va apparaître dès que vous aurez installé le plugin, vous allez pouvoir insérer (séparé par un espace) les extensions supplémentaires que vous souhaitez autoriser.

    Certifié valide WordPress 3.2.1.

    Télécharger Add more files extensions

    Pour ce qui est détails technique, j’ai écrit un tutoriel pour mettre ça en place en natif (dans votre thème WordPress).

    Recherches qui ont permis de trouver cet article :

    • =ip 213 186 33 87 upload images
    • ip :213 186 33 87 upload images
    • ip:213 186 33 87 upload

    Désolé, ce type de fichier n’est pas autorisé pour des raisons de sécurité

    Qui n’a jamais eu le message : “Tel fichier n’a pas pu être mis en ligne suite à une erreur – Désolé, ce type de fichier n’est pas autorisé pour des raisons de sécurité.” ? C’est le message qui s’affiche lorsque vous essayer d’utiliser l’utilitaire d’upload de WordPress en utilisant une extension interdite par défaut par votre CMS préféré.

    Il vous est en effet sans doute déjà arrivé de souhaiter télécharger un film un type de fichier un peu spécial sur WordPress et qui n’était pas supporté par le gestionnaire de fichier de votre blog. Vous vous êtes sans doute rabattu sur une autre solution ou vous cherchiez encore.

    Si vous voulez vous simplifiez la vie sans avoir à toucher votre code, j’ai créé le plugin add more files extensions, qui permet de réaliser (avec une interface) ce que je m’apprête à vous décrire tout au long de cet article.

    Ajouter un type de fichier

    En ce qui me concerne, j’ai rencontré le problème avec un fichier sc2replay (replay du jeux vidéo Starcraft 2). La manipulation est assez simple, elle consiste a insérer quelques lignes dans le fichier functions.php, qui se trouve normalement à la racine de votre thème (dans /wp-content/theme/votre-theme/).

    Si vous ne connaissez pas le type mime de l’extension de fichier que vous souhaitez ajouter, je vous conseille une petite recherche sur Google.

    Attention, gardez ces lignes de codes sous la main car lorsque vous allez changer le thème de votre blog, il faudra insérer de nouveau ces lignes dans le thème que vous utiliserez.

    // autorise les mimes contenu dans la fonction mon_nouveau_mime()
    add_filter('upload_mimes', 'mon_nouveau_mime');
    
    // $existing_mimes récupère la liste des mimes existant
    function mon_nouveau_mime ( $existing_mimes = array() ) {
    	$existing_mimes['sc2replay'] = 'application/octet-stream';
    	return $existing_mimes;
    }

    Pour enlever un type mime, vous pouvez utiliser unset dans votre fonction :

    unset( $existing_mimes['exe'] );

    Intégrer des extensions à la volée

    Pour ce qui est de l’intégration à la volée, nous avons besoin d’un peu plus de code. Vous avez deux solutions. La première et de télécharger le plugin WordPress Add more files extensions (que j’ai développé suite à cet article) ou suivre la suite de ce tuto.

    Ce que l’on souhaite faire, c’est d’intégrer un champ dans les paramètres wordpress (ici Réglages > Médias > Envoi de fichiers) permettant de personnaliser les extensions autorisées.

    Toujours dans le fichier functions.php de votre thème, vous pouvez insérer ces lignes de code pour insérer un champ de paramètre personnalisé ‘ext’ (vous pourrez par la suite appeler la fonction get_option(‘ext’) pour obtenir le résultat de ce champ.

    add_action('admin_init','add_media_field');
    
    function add_media_field() {
    	add_settings_section( 'fichier', __('Envoi de fichiers'), 'display_ext', 'media' );
    	register_setting( 'media', 'ext' );
    }
    
    function display_ext(){
    	echo '';
    	echo __('Entrez les extensions de fichier que vous souhaitez ajouter sans le point (séparé par un espace, ex: "mp3 doc gif")');
    }

    Pour résumer ces quelques lignes de code add_action(‘admin_init’,’add_media_field’) lance la fonction add_media_field() lorsque l’utilisateur est dans la zone wp-admin de WordPress. La fonction add_media_field() ajoute une section (add_settings_section) ‘Envoi de fichiers’ et se charge d’afficher sur la bonne page (Réglages > Médias) un section en insérant display_ext(). register_setting( ‘media’, ‘ext’ ) se charge d’enregistrer en base l’option ‘ext’ transmise par le formulaire.

    Vous pouvez remplacer la ligne comprenant add_settings_section par celle-ci si vous ne voulez ajouter qu’un champ dans une section existante et pas une section entière :

    add_settings_field( 'ext', 'Extension', 'display_ext', 'media', 'default', array( 'label_for' => 'ext' ) );

    Ces quelques lignes nous ont permis d’ajouter une option dans l’administration. Maintenant, il faut ajouter systématiquement les types associés à l’option ‘ext’ pour que l’on puisse utiliser les médias de WordPress avec les extensions que l’on veut. Pour cela, il nous faut un fichier bien spécial, comprenant un peux plus de 600 extensions de fichiers et leurs types associés. Téléchargez ce fichier et mettez le dans le dossier ‘inc’ de votre thème en le renomant ‘types-mimes.php’.

    Maintenant, toujours dans le fichier ‘functions.php’ de votre thème, ajouter ceci :

    add_filter('upload_mimes', 'custom_upload_mimes');
    
    function custom_upload_mimes ($existing_mimes = array()) {
        $mimetype = new mimetype();
        $file_types = get_option('ext');
        $variables = explode(' ', $file_types);
    
        foreach($variables as $value) {
            $value = trim($value);
            if(!strstr($value, '/')) {
                $mime = $mimetype->privFindType($value);
            } else {
                $mime = $value;
            }
            $existing_mimes[$value] = $mime;
        }
        return $existing_mimes;
    }
    
    class mimetype {
       function privFindType($ext) {
          $mimetypes = $this->privBuildMimeArray(); 
    
          if (isset($mimetypes[$ext])) {
             return $mimetypes[$ext];
          } else {
             return 'application/octet-stream';
          } 
    
       } 
    
    	function privBuildMimeArray() {
    		require_once('inc/types-mimes.php');
    		return $types;
    	}
    }

    La fonction custom_upload_mimes() parcourt la liste des extensions et utilise la classe mimetype pour l’associer à un type mime. Si aucun type n’est trouvé, l’extension prend le type mime ‘application/octet-stream’.

    Si vous avez des questions, je serait heureux d’y répondre.

    [Source]

    Recherches qui ont permis de trouver cet article :

    • wordpress n’a pas pu être mis en ligne suite à une erreur Désolé ce type de fichier n’est pas autorisé pour des raisons de sécurité

    Résoudre le Fatal error: Cannot redeclare update_category_cache() (previously declared in /deprecated.php on line 2603

    Diantre ! Votre blog wordpress à été victime d’un mystérieux bug lors de votre dernière mise-à-jour ?

    Que faire ?

    Réinstaller manuellement (par FTP) WordPress en supprimant tout les fichiers (à part le dossier wp-content et le fichier wp-config.php) remplacer les fichiers supprimé par ceux de la nouvelle version.

    Et voilà. C’était pas si compliqué.

    Mémo MAMP : Résoudre « Error: Could not connect to MySQL server! »

    En installant Mac OS X Lion (entre autres, car le problème se pose aussi avec Leopard, Snow leopard ou bien Mountain Lion), il est possible que le MySQL de votre version de MAMP ne fonctionne plus. Parfois on n’a pas envie de comprendre le pourquoi comment et origine du problème ! A celui-ci, allez dans le terminal Mac OS, et tapez les incantations magique suivantes :

    ps aux | grep mysql 
    lsof -i 
    killall -9 mysqld

    Et voila, redémarrez MAMP, tout fonctionnera comme par enchantement (j’ai aussi lancé un # sudo chmod -Rfv 777 /Applications/MAMP pour écarter tout problème de permission, mais ce n’est pas utile, en fait…).

    Bon je remet les mains dans le camboui.

    Source

    Recherches qui ont permis de trouver cet article :

    • error: could not connect to mysql server!
    • error could not connect to mysql server mamp