Content Management System – CMS : nouvelle version 2014-2015
Cliquez ici pour avoir le document PDF.
Cliquez ici pour avoir le document PDF.
Si vous avez crée un template « enfant », comme je l’ai déjà fait plusieurs fois, un des problèmes les plus énervants à chercher est : comment trouver le répertoire courant du thème.
En fait WordPress met à disposition deux fonctions, et il vous faut utiliser soit l’une, soit l’autre :
get_stylesheet_directory_uri()
Vous renvoie le répertoire de l’enfant, donc le répertoire en cours du thème « enfant » que vous êtes en train de développer.
get_template_directory_uri()
Vous renvoie le répertoire du parent, cela peut être pratique si vous voulez chercher des informations dans le parent (utiliser une feuille de style déjà présente, par exemple, afin de ne pas la copier-coller dans votre thème).
// Exemple copié collé et adapté sur stackoverflow :
// http://stackoverflow.com/questions/15630770/node-js-check-if-path-is-file-or-directory
// http://stackoverflow.com/questions/7268033/basic-static-file-server-in-nodejs
//
var http = require('http'),
url = require('url'),
fs = require('fs'),
mongoose = require('mongoose'),
fileSystem = require('fs'),
path = require('path');
var mimeTypes = {
"html": "text/html",
"jpeg": "image/jpeg",
"jpg": "image/jpeg",
"png": "image/png",
"js": "text/javascript",
"css": "text/css"};
var server;
var Schema = mongoose.Schema;
mongoose.connect('mongodb://localhost/test');
var db = mongoose.connection;
var personneSchema = new Schema({
nom: String,
prenom: String
});
var Personne = db.model('Personne', personneSchema);
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function () {
console.log('DB connexion reussie');
server = http.createServer(function (request, response) {
if (request.url=='/personnes') {
console.log("> JSON");
Personne.find({}).select('nom prenom').exec(function (err, p) {
if (err) {
return console.log(err);
}
var retour='[';
for (var i = 0; i < p.length; i++) {
retour+='{'+ p[i].nom+', '+p[i].prenom+'},';
};
retour=retour.substr(0, retour.length-2)+']';
response.writeHead(200, {
'Cache-Control': 'no-cache, must-revalidate',
'Expires': 'Mon, 26 Jul 1997 05:00:00 GMT',
'Content-type': 'application/json'
});
response.end(retour);
});
// Stopper tout traitement :
return;
}
var uri = url.parse(request.url).pathname;
var filename = path.join(process.cwd(), uri);
console.log("> " + filename);
fs.exists(filename, function(exists) {
if ((!exists) || (fs.lstatSync(filename).isDirectory())) {
console.log(">> fichier inexistant : " + filename);
response.writeHead(200, {'Content-Type': 'text/plain'});
response.write('404 Not Found\n');
response.end();
// Stopper tout traitement :
return;
}
var mimeType = mimeTypes[path.extname(filename).split(".")[1]];
response.writeHead(200, {'Content-Type':mimeType});
var fileStream = fs.createReadStream(filename);
fileStream.pipe(response);
});
//var p = new Personne({
// nom: 'Pons',
// prenom: 'Olivier'
//});
//p.save(function (err) {
// if (err) {
// return console.log(err);
// }
// var query = Personne.find();
// query.select('nom prenom');
// query.exec(function (err, p) {
// if (err) return console.log(err);
// for (var i = 0; i < p.length; i++) {
// console.log(p[i].nom+' '+p[i].prenom);
// };
// console.log('Nombre total d\'enregistrements : '+p.length);
// });
//})
});
// Listen on port 8000, IP defaults to 127.0.0.1
server.listen(8000);
// Put a friendly message on the terminal
console.log("Server running at http://127.0.0.1:8000/");
});
Ajouter dans wp-config.php
define('FS_METHOD', 'direct');
Bonjour,
Voici en ligne la première partie, version non définitive, des cours que nous entamons sur les systèmes de gestion de contenu.
Cliquez ici pour le récupérer.
C’est très simple… une fois que vous avez cherché pendant longtemps :
dconf-editor
, et si vous êtes comme moi et que vous ne savez pas trop comment chercher via l’interface graphique, cela fonctionne tout aussi bien en ligne de commandeorg » gnome » desktop » interface
cursor-size
par une valeur plus grande. Par exemple, j’ai mis 56 et ça me donne enfin un pointeur d’une taille très grossière et pratique – choisissez l’adjectif qui vous convient le mieux, pour moi les deux sont applicables~/.icons
cursors
~/.icons
sudo apt-get install gnome-tweak-tool
tw
pour rechercher le programme TweakC’est cet article qui m’a beaucoup aidé, même s’il manque des informations…
En espérant avoir fait gagner du temps… Bien sûr si vous avez des méthodes plus efficaces, rapides, ou « propres », n’hésitez pas à laisser un commentaire !
Cliquez ici pour avoir la version PDF.
Si vous avez des remarques, si vous voulez des ajouts, n’hésitez pas à laisser un commentaire !
Si jamais les permaliens ne fonctionnent pas :
.htaccess
;vhost
;Alors essayez de mettre ce qui suit en règle de réécriture dans votre fichier vhost
:
# Olivier Pons : règles pour WordPress # faites "à la main" : # si index, on stoppe tout : RewriteRule ^index\.php$ - [QSA,L] # Tester TOUTES les possibilités # pour voir si c'est un fichier : RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-d RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [QSA,L]
Dans mon cas leurs règles ne fonctionnaient pas car il ne voyait pas que les fichiers étaient bien là, alors j’ai ajouté la vérification en ajoutant %{DOCUMENT_ROOT}
.
Oui je sais ça n’est pas l’idéal, mais comme il est écrit sur l’entrée de Facebook :
Done is better than perfect.
…And I got this thing done. Whatever.