Faire un régime juste avant une fête, c’est possible

Quand on est du genre à prendre facilement du poids comme moi, la période des fêtes de fin d’année qui combine Noël, le jour de l’an et mon anniversaire n’est pas des plus propices à une perte de poids. Continuer la lecture de Faire un régime juste avant une fête, c’est possible

Introduction au GPIO du Raspberry Pi 2

Il y a quelques semaines, j’ai craqué pour un starter Pack Raspberry Pi 2. N’ayant pas de serveur, je me suis dit que ce serait idéal pour programmer quelques tâches cron et bidouiller un peu. Continuer la lecture de Introduction au GPIO du Raspberry Pi 2

Recherches qui ont permis de trouver cet article :

  • shema gpio rpio2
  • introduction raspberry
  • les broche raspberry pi3
  • port gpio raspberry pi 2
  • raspberry pi 3 model b branchement borne arcade

Utiliser un client FTP

FTP (pour File Transfer Protocol) est le nom d’un des protocoles de transfert de fichier les plus utilisés au monde. Il permet via une application (appelé aussi client) de déposer/récupérer des documents sur un serveur.

Il est très utile, notamment pour vous mettre à jour les fichiers qui composent votre site internet.

Connexion

1
Pour commencer, il vous faut un client FTP. Je vous conseille de télécharger Cyberduck, c’est un logiciel multiplateforme (il fonctionne aussi bien sous Windows que sous Mac OS X). Une fois que votre logiciel est installé, vous êtes prêt à vous connecter.
2
Pour vous connecter, vous devez tout d’abord cliquer sur le bouton « Nouvelle connexion ». Afin de vous identifier, vous avez généralement besoin de 3 choses:

  • Le nom du serveur : il est l’adresse à laquelle vous devez vous connecter, par exemple ftp.irz.fr, ou alors une IP : 80.14.122.107.
  • Le nom d’utilisateur : votre nom d’utilisateur, vous l’avez sans doute choisi, admettons que ce soit mon prénom, Arthur.
  • Le mot de passe : pour accéder à votre serveur, un mot de passe est appréciable, par exemple, il s’agit de jhb16581fv (quelle inspiration !).

Il y a aussi le port qui peut être personnalisé, mais par défaut il s’agit du port 21.

cyberduck-nouvelle-connexion

3
Voilà, vous êtes fin prêt à changer des fichiers ! Il suffit pour cela d’effectuer des glissez déposer pour déposer ou récupérer des documents.

Choisir un programme par défaut

En général, lorsque vous mettez un site en production, vous avez au préalable mis en place une version de votre site en local, ou sur un serveur de pré-production dans ce cas là, un simple glisser-déposer vous permet de mettre en ligne vos modifications.

Il arrive parfois que vous ayez besoin de modifier un fichier directement sur le serveur (si vous êtes sur votre serveur de pré-prod, ou pour des modifications minimes). Dans ce cas, vous avez dans le menu de Cyberduck le bouton édition.

Toutefois, si le logiciel qui s’ouvre n’est pas votre programme d’édition par défaut, vous pouvez le modifier en allant dans Cyberduck > Préférences > Editeur externe. Sur cette page de configuration, vous avez la possibilité de paramétrer votre logiciel favori. Vous pouvez aussi cocher « Toujours utiliser l’éditeur par défaut », si vous souhaitez l’utiliser pour ouvrir tout vos fichier sur le FTP.

cyberduck-editeur-par-defaut

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.

Générer un slug à la volée en javascript

Un slug (ou Permalien pour les francophones) est la partie d’une url qui permet d’identifier clairement à quoi correspond celle-ci, en passant à travers le traditionnel identifiant numérique propre à la majorité des bases de données.

Exemple

La page

  • mapage.com/produits/canon

est plus parlante que

  • mapage.com/produits.php?cat=5

A quoi ça sert en fait ?

Lorsque vous saisissez un article, vous avez parfois besoin de générer un slug correspondant à votre titre ou conforme aux règles que vous souhaitez vous imposer. Quoi qu’il en soit, ceci est une petite fonction javascript qui vous permettra de pré-remplir à la volée votre slug pour vérifier qu’il soit en conformité avec vos besoins.

Démo

Valeur en mode slug : « teste-moi »

Voir la page de démo

(vous pouvez faire un clique droit pour voir la source)

Code source

Voici une version du code source commenté (pour un peu mieux comprendre les actions).

function slugMe (value) {    
 var rExps=[
 {re:/[\xC0-\xC6]/g, ch:'A'},
 {re:/[\xE0-\xE6]/g, ch:'a'},
 {re:/[\xC8-\xCB]/g, ch:'E'},
 {re:/[\xE8-\xEB]/g, ch:'e'},
 {re:/[\xCC-\xCF]/g, ch:'I'},
 {re:/[\xEC-\xEF]/g, ch:'i'},
 {re:/[\xD2-\xD6]/g, ch:'O'},
 {re:/[\xF2-\xF6]/g, ch:'o'},
 {re:/[\xD9-\xDC]/g, ch:'U'},
 {re:/[\xF9-\xFC]/g, ch:'u'},
 {re:/[\xC7-\xE7]/g, ch:'c'},
 {re:/[\xD1]/g, ch:'N'},
 {re:/[\xF1]/g, ch:'n'} ];

 // converti les caractères accentués en leurs équivalent alpha
 for(var i=0, len=rExps.length; i<len; i++)
  value=value.replace(rExps[i].re, rExps[i].ch);

  // 1) met en bas de casse
  // 2) remplace les espace par des tirets
  // 3) enleve tout les caratères non alphanumeriques
  // 4) enlève les doubles tirets
  return value.toLowerCase()
      .replace(/\s+/g, '-')
      .replace(/[^a-z0-9-]/g, '')
      .replace(/\-{2,}/g,'-');
};

Mise en place dans un champ input texte (comme dans la démo) :

 Valeur en mode slug : ""

Inspiration : Ben Truyman & jquery-slug-plugin

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.

Recherches qui ont permis de trouver cet article :

  • copyright basdepage blog

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 !

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
  • mamp Error: Could not connect to MySQL server!