Tous les articles par durstjack@gmail.com

Liens utiles des sharers : les urls des differents réseaux sociaux

 

Liste des différentes URLs à utiliser pour se servir des sharers mis à votre disposition
soit mettre l’url en dur ou faire un echo de la page en cours ;)

<a href="http://www.facebook.com/share.php?u=http://www.votresite.fr/lapage" target="_blank">partager</a>
<a href="http://twitter.com/share?url=http://www.votresite.fr/lapage" target="_blank">partager</a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http://www.votresite.fr/lapage" target="_blank">partager</a>
<a href="http://www.stumbleupon.com/submit?url=http://www.votresite.fr/lapage" target="_blank">partager</a>
<a href="http://www.myspace.com/Modules/PostTo/Pages/?u=http://www.votresite.fr/lapage" target="_blank">partager</a>
<a href="http://delicious.com/post?url=http://www.votresite.fr/lapage" target="_blank">partager</a>
<a href="http://digg.com/submit?url=http://www.votresite.fr/lapage" target="_blank">partager</a>
<a href="http://reddit.com/submit?url=http://www.votresite.fr/lapage" target="_blank">partager</a>
<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://www.votresite.fr/lapage" target="_blank">partager</a>
<a href="https://plus.google.com/share?url=http://www.votresite.fr/lapage" target="_blank">partager</a>

 

Créer des Hooks Persos dans WordPress

Voici une petite explication de ce qu’il est possible de réaliser grâce au système de hook de WordPress.
Ces quelques lignes vous aiderons peut être à voir plus clair en ce qui concerne la notion de hook et les fonctions add_action() et do_action()

Imaginons ce code php dans votre fichier functions.php :

function dire_bonjour() {
 $phrase = '<p>bonjour!</p>';
 echo $phrase;
}
add_action( 'thierry_action_hook', 'dire_bonjour' );

do_action('thierry_action_hook');

Pour créer un hook perso il suffit de le mentionner dans un do_action() et c’est tout, WordPress saura le gérer.

la fonction do_action( $tag, $arg1 );

Cette fonction appellera toutes les fonctions attachées au hook d’action : $tag ( ici thierry_action_hook , notez que $arg1 est un argument qui n’est  en rien obligatoire ). Vous pourrez même passer plusieurs arguments si besoin.

la fonction add_action( );

Ensuite pour donner un intérêt à la chose, créez la fonction voulue (ici : dire_bonjour(); ) et grâce à un add_action( ) vous accrocherez cette fonction à votre hook. Cette fonction permet d’accrocher une fonction à un hook d’action. WordPress exécutera votre fonction lors du hook précisé.

Cette fonction pourrait s’expliquait en la notant comme ceci :

add_action( $hook , $function_to_add , $priority , $number_of_arg );

$hook et $function_to_add sont des variables de type string.
$priority et  $number_of_arg sont des variables de type int.

Accrochez plusieurs fonctions à votre Hook

function dire_bonjour() {
 $phrase = '<p>bonjour!</p>';
 echo $phrase;
}
function remercier($mot1, $mot2) {
 $phrase = $mot1.' '.$mot2;
 echo $phrase;
}
add_action( 'thierry_action_hook', 'dire_bonjour' );
add_action( 'thierry_action_hook', 'remercier', 10, 2 ); //ici 2 correspond au nbr d'arguments de la fonction remercier()

do_action('thierry_action_hook', 'Je vous remercie', 'pour votre attention');

 

Ajouter des menus à votre thème WP

Il suffit pour cela d’utiliser la fonction register_nav_menus() de WordPress

register_nav_menus( array(
   'primary' => __( 'Primary Menu', 'themename' ),
   'footer' => __( 'Footer Menu', 'themename' ),
   'sidebar' => __( 'Sidebar Menu', 'themename' )
    ) );

l’idéal est d’accrocher cette fonction au hook after_setup_theme
le code complet devient :

function mes_menus_setup() {

  	register_nav_menus( array(
    		'primary' => __( 'Primary Menu', 'themename' ),
    		'footer' => __( 'Footer Menu', 'themename' ),
    		'sidebar' => __( 'Sidebar Menu', 'themename' )
     	) );
}
add_action( 'after_setup_theme', 'mes_menus_setup' );

Pour afficher le menu de votre choix vous utiliserez la fonction de WordPress wp_nav_menu()

    <?php wp_nav_menu( array( 'container_class' => 'menu-wrap menu-primary-wrap', 'theme_location' => 'primary' ) ); ?>

l’argument passé à cette fonction est un tableau, qui nous permet par exemple de donner un ou des classes css au conteneur de notre menu. ‘theme_location’ désigne l’identifiant du menu que vous souhaitez afficher

Utiliser composer

Installer Composer

pensez à mettre dans votre path l’emplacement de php puis:

C:\wamp\www> php -r "eval('?>'.file_get_contents('http://getcomposer.org/installer'));"
C:\wamp\www>php composer.phar --version

mettre à jour composer

C:\wamp\www>php composer.phar self-update

La première chose à faire dans un projet, c’est de déclarer ses dépendances. Cela se fait via un fichier composer.json, qui contient les informations sur les bibliothèques dont dépend votre projet

{
 "require": {
 "twbs/bootstrap": "v3.3.2",
 "components/handlebars.js" : "v3.0.3",
 "components/jquery" : "v1.8.3"
 }
}

 

Valeur

Exemple

Description

Un numéro de version exact

"2.0.17"

Ainsi, Composer téléchargera cette version exacte.

Une plage de versions

">=2.0,<2.6"

Ainsi, Composer téléchargera la version la plus à jour, à partir de la version 2.0 et en s’arrêtant avant la version 2.6. Par exemple, si les dernières versions sont 2.4, 2.5 et 2.6, Composer téléchargera la version 2.5.

Une plage de versions sémantique

"~2.1"

Ainsi, Composer téléchargera la version la plus à jour, à partir de la version 2.1 et en s’arrêtant avant la version 3.0. C’est une façon plus simple d’écrire ">=2.1,<3.0"  avec la syntaxe précédente. C’est la façon la plus utilisée pour définir la version des dépéndances.

Un numéro de version avec joker « * »

"2.0.*"

Ainsi, Composer téléchargera la version la plus à jour qui commence par 2.0. Par exemple, il téléchargerait la version 2.0.17, mais pas la version 2.1.1.

Un nom de branche "dev-XXX"

C’est un cas un peu particulier, où Composer ira chercher la dernière modification d’une branche Git en particulier. N’utilisez cette syntaxe que pour les bibliothèques dont il n’existe pas de vraie version. Vous verrez assez souvent "dev-master", où « master » correspond à la branche principale d’un dépôt Git.

 

Vous trouvez une liste non exhaustive de packages sur le site www.packagist.org

SSH et serveur Linux

pour paramétrer votre service ssh sur un serveur linux,
taper:
vi /etc/ssh/sshd_config

attention pas le fichier ssh_config qui lui est utilisé pour une machine client

Pensez juste à changer le port d’écoute, et interdire le login en root
et oui tout le monde connait l’existence de ce compte, passer par un nom d’utilisateur pour après « switcher » en root est plus sûr !!


puis pour relancer le service ssh, taper:
/etc/init.d/ssh restart

Les bonnes pratiques

Bien placer ses balises script

Pour inclure du code Javascript il suffit d’insérer dans sa page HTML la balise <script> :

<!DOCTYPE html>
<head>
  <script type="text/javascript">
     //function faire_quelquechose(){

    }
  </script>
</head>
<body>
   ...

On peut aussi inclure le code dans un fichier externe grâce à l’attribut src="", c’est d’ailleurs recommandé car plus propre et plus performant (mise en cache du script par le navigateur)
dans ce cas:

<!DOCTYPE html>
<head>
  <script type="text/javascript" src="monscript.js"></script>
</head>
<body>
   ...

 

Google et Yahoo recommande de placer les balises script en bas de la page afin de ne pas en ralentir le chargement:

      ...
      </div>
     <script type="text/javascript" src="monscript.js"></script>
  </body>
</html>

Configurer Apache2 sur un serveur linux

Un serveur web apache2 est capable de gérer plusieurs sites soit plusieurs arborescence de dossiers, ceci grâce à la notion d’hôtes virtuels (virtualhost).

Il y à plusieurs façon pour mettre cette redirection en place:

  • Hôtes virtuels basés sur le nom
  • Hôtes virtuels basés sur le port
  • Hôtes virtuels basés sur l’adresse IP

Une méthode tend à devenir le standard dans l’hébergement web il s’agit des hôtes virtuels basés sur le nom. Il s’agit simplement d’associer plusieurs noms DNS à une seule adresse IP.

Dans un premier temps nous allons définir des noms DNS pour nos sites, dans le fichier /etc/hosts on ajoute autant de fois que nécessaire la ligne: « 127.0.0.1 le nom de domaine du site« 

127.0.0.1 lesite1.fr
127.0.0.1 lesite2.fr

Ensuite au lieu de créer les deux dossiers de nos sites directement dans le répertoire du serveur /var/www On préféra les créer dans un répertoire personnel comme /home/UTILISATEUR/www-dev/lesite1 et  /home/UTILISATEUR/www-dev/lesite2.

Ensuite on créer deux liens symboliques depuis le répertoire principal du serveur vers nos dossiers personnels:

sudo ln -s /home/UTILISATEUR/www-dev/monsite1 /var/www/lesite1
sudo ln -s /home/UTILISATEUR/www-dev/monsite2 /var/www/lesite2

Ces liens faits, nous allons créer les fichiers de configurations pour apache. Dans « /etc/apache2/sites-available » se trouve un fichier nommé « default« , copier ce dossier il servira de modèle pour se faire:

cp default lesite1
cp default lesite2

On édite le fichier « lesite1 » par exemple comme suit:

<VirtualHost *:80>
	ServerAdmin votre-mail@lesite1.fr
	ServerName lesite1.fr
	ServerAlias www.lesite1.fr

	DocumentRoot /var/www/lesite1
	<Directory />
		Options FollowSymLinks
		AllowOverride None
	</Directory>
	<Directory /var/www/lesite1>
		Options Indexes FollowSymLinks MultiViews
		AllowOverride None
		Order allow,deny
		allow from all
	</Directory>

	ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
	<Directory "/usr/lib/cgi-bin">
		AllowOverride None
		Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
		Order allow,deny
		Allow from all
	</Directory>

	ErrorLog /var/log/apache2/error.log

	# Possible values include: debug, info, notice, warn, error, crit,
	# alert, emerg.
	LogLevel warn

	CustomLog /var/log/apache2/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>

Enfin, une fois les deux fichiers modifiés on active nos deux sites grâce aux commandes:

sudo a2ensite lesite1
sudo a2ensite lesite2

on recharge la config d’apache grâce à la commande

sudo /etc/init.d/apache2 reload