images (1)

Afficher avec #Spip la dernière vidéo d’un channel #Youtube

Etape 1 : récupérer le flux

Le flux lié à votre channel youtube est de la forme :

Pour trouver l’id de votre channel, connectez vous sur votre channel, et en haut vous aurez une url de la forme :
http://www.youtube.com/channel/ID_DE_VOTRE_CHANNEL

 

 

Etape 2 : Boucler avec la boucle DATA de spip

On utilise la boucle DATA de spip afin de boucler sur le flux du channel de l’étape 1.
On retrouve une url de la forme : http://www.youtube.com/watch?v=ID_DE_VOTRE_CHANNEL, qu’on transforme afin d’avoir l’url du code iframe de youtube, très proche puisqu’il s’agit de  http://www.youtube.com/embed/ID_DE_VOTRE_CHANNEL

 

Etape 3 (Facultative) rendre le player reponsive

 Pour finir, voici comment adapter le Css à appliquer à la div de l’exemple précédent pour que la vidéo soit responsive

 

681515 (1)

Faire tourner Spip 1.8.3 sous Mamp sur Mac

Mamp permet de mettre en place sur Mac un serveur local php/Mysql, un peu comme EasyPHP sur Pc.

Spip a ses débuts a mis en place une compatibilité avec les anciennes versions de php, notamment php3, ce qui fait que la plupart des extensions SPIP 1.8.3  sont en « .php3 ».

Avec les versions de Spip et de php, cette compatibilité a été abandonnée à un moment, la plupart des hébergements montant également en version de php. Pour des raisons de sécurité, la plupart des serveurs ce jour sont en php 5.

En essayant d’installer un spip 1.8.3 sur un mamp php5, il y aura plusieurs soucis et ça ne fonctionnera pas. la solution est de faire comprendre au serveur de traiter les fichiers « .php3 » comme des fichiers « .php »

Généralement en mettant dans le htaccess du spip cela est possible, mais là ça ne passe pas, il faut donc directement le faire dans la conf de Mamp.

Il faut aller éditer MAMP/conf/apache/httpd.conf (près de la ligne 38) et éditer pour obtenir ceci à la fin

 

Capture d’écran 2013-09-22 à 17.35.24

Mutualisation du noyau Spip 3 sur un mutualisé de chez OVH

Mutualiser le noyau permet de faire tourner plusieurs sites avec une seule instance du noyau de spip, ce qui permet par exemple de n’avoir à faire qu’une seule et unique mise à jour pour mettre à jour l’ensemble des sites.

OVH propose différentes offres d’hébergement, en mutualisé comme en dédié.

Dans mon exemple, j’ai :
– un hébergement mutualisé chez OVH avec utilisation du multidomaine (http://www.ovh.com/fr/items/multidomain.xml) ,
– un serveur sql dédié, ce qui me permet de créer une base par site.
– Spip 3.0.11

Il existe plusieurs sources d »informations sur le net concernant la mutualisation du noyau spip, mais plusieurs datent de spip 2, ou ne parlent pas des spécificités d’un hébergemetn chez OVH.

 

ETAPE 1 : On installe Spip à la racine de l’hébergement

Installation normale, soit via le spip loader, soit en mettant les fichiers à la racine de votre hébergement.
Il faut choisir un nom  de domaine « principal » et installer votre spip dessus.

Installer dans ce spip les plugins dont vous pourriez avoir besoin dans les spip mutualisés

ETAPE 2 : On le mutualise

Toutes les infos sont ici : http://contrib.spip.net/La-mutualisation-facile-modifications-manuelles et http://contrib.spip.net/Ferme-a-SPIP

1°) on met en place les fichiers pour la mutualisation

Récupérer le zip ici de mutualisation http://files.spip.org/spip-zone/mutualisation_v1.zip, dézipper le, vous obtiendrez un répertoire nommé « mutualisation_v1 ». Renommez le en « mutualisation »,  et uploader ce répertoire et son contenu à la racine de votre site web.

Même si ça vous démange, il ne s’agit pas à proprement parler d’un plugin, et donc il ne faut pas l’installer dans /plugins, ou dans /plugins/auto

2°) On prépare la future mutualisation :

A l’intérieur de votre répertoire « mutualisation », il y a un fichier nommé « mes_options.php.txt » .

Ce fichier est primordial parce que c’est lui qui va stocker toutes les informations nécessaire à l’installation d’un nouveau site mutualisé. il faudra l’éditer pour chaque nouveau site mutualisé à rajouter.

Prenez donc le fichier « mes_options.php.txt » et copier le dans le « config » de base de votre site spip, puis renommez le en « mes_options.php ». N’y touchez pas encore, on va l’éditer par la suite.

 

3°) Un répertoire pour stocker les sites spip mutualisés :

Créez un répertoire « sites » à la racine de votre hébergement ( là ou est installé votre spip). Il faut que le serveur ait les droits pour écrire dedans. Et un voilà donc avec un répertoire pour les stocker tous et dans le serveur les mutualiser. (nos amis hobbit apprécieront la rhétorique).

4°)  On met en place le htaccess de Spip

Basé sur le htaccess de base d’ovh, et celui fourni par Pyrat.net, mettez à jour votre fichier htaccess avec le contenu de celui ci :

htaccess à remplacer

 

 

ETAPE 3 : (à répéter pour chaque nouveau site mutualisé)

1°) On configure le nom de domaine du site à mutualiser

On fait pointer le nom de domaine du site à mutualiser  vers l’IP de votre serveur. Vous pouvez passer par OVH pour acheter vos noms de domaines, ou tout autre registrar (godaddy par exemple).

Dans mon exemple je suis passé par OVH pour acheter le nom de domaine, donc il pointe déjà vers l’hébergement.
Ensuite, il vous faut aller dans votre manager OVH, et aller dans votre nom de domaine « principal », qui est celui où vous pouvez faire du multidomaine.

ensuite configurer un multidomaine pour que le nom de domaine de votre site à mutualiser pointe en multidomaine vers le /www de votre hébergement. En image ça donne ça :

configurer un multidomaine pour votre site à mutualiser (à partir de votre site principal)

Dans cette capture, nous sommes dans le gestionnaire de multidomaine du site principal. On créé donc un multidomaine pour notre nouveau site à mutualiser (champ « Multi domaine » donc, le premier en partant du haut sur la capture), et on laisse bien que le dossier cible est www/. Notre nom de domaine pour notre site mutualisé va donc pointer vers la racine de l’hébergement, là où on a installé à l’étape le noyau de spip. Spip va se charger ensuite d’utiliser les bons fichiers et les bons répertoires. Là vous êtes paumés ? oui je suppose, mais ce n’est pas grave, faites moi confiance et continuez ! 😉
Vous allez comprendre vous allez voir !

 2°) On crée la base de données pour ce nouveau site mutualisé sur le sql privé :

allez dans votre manager OVH, puis votre sql privé pour pouvoir créer une base de donnée dédiée pour ce nouveau site mutualisé. donc vous créer une base, un user et son mot de passe.

3°) On configure les infos pour lancer la mutualisation

Là on va toucher au fichier le plus important pour mutualiser un site. Il se trouve dans le répertoire config, on en a parlé plus haut, c’est à dire le fichier mes_options.php qu’on a placé dans /config

On va éditer ce fichier et y définir les options propres au nouveau site que l’on souhaite mutualiser :
Tout d’abord avec les infos mysql de la base qu »on a créé pour ce nouveau site.

ensuite, on configure la fonction « demarrer_site » avec les options qui convienne. Dans notre cas voici ce que cela donne :

Comme on crée une base par site, on a pas de souci de préfixes de tables.
Faites attention aussi à changer le code d’activation pour chaque installation, ça évite d’avoir de mauvaises surprises d’installation.

 4°) On lance l’installation du site mutualisé :

Une fois le fichier « mes_options.php » situé dans /config est bien configuré avec les bonnes infos, on peut (enfin) lancer l’installation du site à mutualiser.

Pour se faire, aller sur le nom de domaine de votre site à mutualiser (comme défini plus haut dans la partie multidomaine).
Vous devriez arriver sur un affichage de ce type, qui va vous demander le fameux code d’activation  :

Capture d’écran 2013-09-22 à 17.35.24

 

Tapez donc le code que vous avez défini dans mes_options.php, et validez. De là vous êtes guidé d’écran en écran, et spip va créer les différents répertoires dans /sites, créer les tables dans la base de données, etc.

 Et voilà, vous avez votre nouveau site mutualisé qui fonctionne, a son propre cache, vous pouvez activer des plugins parmi ceux installé sur le site spip principal. Pour chaque nouveau site spip à rajouter, il faut refaire l’étape 3 en entier.

 

Remarque :

la mutualisation de spip ne gêne pas l’utilisation du multidomaine d’ovh histoire d’avoir d’autres sites qui ne sont pas des spip dans des sous répertoire de votre hébergement. En résumé, j’ai un noyau spip avec plusieurs sites mutualisés, et d’autres sites confifurés en multidomaines (wordpress et autre), chaque site dans son sous répertoire (comme epxliqué ici : http://www.ovh.com/fr/items/multidomain.xml) sans que cela gene.

RACINE du site

|—– fichiers de spip

|—– sites (qui stocke les sites mutualisés)

|—————- spipA.com

|—————- spipB.com

|—————- spip-ETC.com

|—– siteWP1

|—– siteWP2

|—– siteJoomla

redirection-www

Rediriger « proprement » un domaine vers un autre en spip via .htaccess

Imaginons, vous avez un site internet répondant à http://www.supersite.com/

Comme il y avait une promo sur les noms de domaine, vous avez fait une folie, vous avez également acheté http://www.supersite.net/, et vous avez eu raison, elle était vraiment intéressante cette promo.

Sauf (et oui, il ya toujours un « mais ») qu’à cause de cela, tout contenu de votre site est accessible de 2 façons, soit via http://www.supersite.com/ soit via http://www.supersite.net/, et ceci pose un petit souci de référencement appelé le duplicate content. Normalement, les moteurs de recherche parviennent à s’en sortir, mais le mieux reste quand même de leur faciliter la tache.

L’idée est donc de définir un nom de domaine principal, dans mon exemple nous avons choisi (http://www.supersite.com/) et de mettre en place une redirection 301 pour l’ensemble des pages de http://www.supersite.net/ vers leurs « équivalents » en http://www.supersite.com/

En plus, comme les pages peuvent être aussi accéder via  http://supersite.net/ et http://supersite.com/, on va rediriger tout ceci vers la version : http://www.supersite.com

Oui vous pourriez utiliser « un rel=canonical » en précisant la bonne page, mais c’est à utiliser avec précaution, comme indiqué par Google lui même : http://googlewebmastercentral.blogspot.com/2013/04/5-common-mistakes-with-relcanonical.html . Plusieurs articles vous éclaireront à ce sujet sur le net après une petite recherche

Donc on récapépète, voici les redirections que l’on souhaite pour l’ensemble des pages de notre site :

  • http://supersite.com/ == 301 ==> http://www.supersite.com/ (cas sans-www.com vers www.com)
  • http://www.supersite.net/ == 301 ==> http://www.supersite.com/ (cas www.net vers www.com)
  • http://supersite.net/ == 301 ==> http://www.supersite.com/ (cas sans-www.net vers www.com)

Afin de mettre en place ces redirections, on va utiliser le fichier htaccess de base fourni par spip. Celui a une zone spécialement dédiée aux réglages personnalisées.
Voici donc les lignes à rajouter

 

 

Comment imposer des tailles limites ou des poids limites aux documents et pièces jointes de Spip

Spip est un gestionnaire de contenu assez puissant qui est porté par une communauté francophone très active.
Grâce à celle ci, j’ai pu saisir au bond une info intéressante par rapport à certains soucis rencontrés.

En effet, Spip permet d’adjoindre des documents (images, mp3,doc, flv, gif, etc) aux articles créés, mais un souci revenait assez régulièrement par rapport à ces pièces jointes, notamment quand aux limites des choses possibles.

Par exemple, si vous faites monter un jpeg de 3400 sur 2800, Spip peut péter les plombs, parce qu’il va prendre trop de temps à générer la minature de cette image, et ramener une erreur.
Ou encore, l’utilisateur ne savant pas qu’il y a une limite, essaye de faire monter un fichier de 9Mo directement via le formulaire Ajouter un document à l’article (la méthode à employer étant alors d’uploader le document dans tmp/upload pour pouvoir le sélectionner apès dans l’admin.)

Bref, des soucis liés à la taille des documents (largeur x hauteur) et à leurs poids (fichiers trop lourds).

Or il existe une méthode afin de définir des limites aux documents joints.
Il faut définir dans le fichier mes_options.php (par défaut il n’existe pas dans Spip, vous devrez le créer) les variables suivantes en fonction de vos besoins

_COPIE_LOCALE_MAX_SIZE (en octets, par défaut 16777216)

_DOC_MAX_SIZE (en kilo-octets, par défaut pas de limite)

_IMG_MAX_HEIGHT (en pixels, par défaut pas de limite)
_IMG_MAX_WIDTH (en pixels, par défaut pas de limite)
_IMG_MAX_SIZE (en kilo-octets, par défaut pas de limite)

_LOGO_MAX_HEIGHT (en pixels, par défaut pas de limite)
_LOGO_MAX_WIDTH (en pixels, par défaut pas de limite)
_LOGO_MAX_SIZE (en kilo-octets, par défaut pas de limite)

ainsi, pour interdire la prise en compte par spip d’une image de plus de 1000 x 1000 pixels (le formulaire uploadera bien le fichier mais il sera détruit et spip n’en tiendra pas compte ni dans IMG/ ni en base de données,tout en envoyant un sympathique message d’avertissement à l’utilisateur) il faut déclarer dans mes_options.php :

define('_IMG_MAX_HEIGHT', 1000);
define('_IMG_MAX_WIDTH', 1000

pour interdire la prise en compte par spip d’une image de plus de 500 Ko :
define('_IMG_MAX_SIZE', 500);

pour interdire la prise en compte par spip d’un document de plus de 850 Ko :
define('_DOC_MAX_SIZE', 850);

Merci à arthegone pour cette info intéressante !