Archives de l’auteur : Nico

panel-d4w

Projet Collaboratif :: Panel d’admin de serveur

Ayant depuis bientôt un an un serveur web, et depuis quelques semaines un deuxième, j’aime pouvoir gérer les actions fréquentes de manières simple. C’est pour cela que j’avais commencé de me créer un panel d’administration de serveur.

Aperçu du panel

Ce panel fonctionne actuelle à l’aide du micro Framework Limonade-PHP, et permet les actions suivantes :

Schéma communication API<->Panel

  • Voir l’état des services du serveur, ainsi que l’état de la mémoire (Ram, Swap, Disque dur, Charge).
  • Configurer le service DNS (ajout/edition/suprression d’un nom de domaine, ou sous-domaine)
  • Configurer les compte FTP
  • Voir les backups réalisés et délester le disque distant
  • Gérer les webcrons
  • Gérer les softs du serveur (Arrêt/Marche/Redémarrage)
  • Faire un ping/whois
  • Voir les process actif, et les ports actifs (ps faux et netstat)

Le panel n’est pas directement lié à la machine, mais il interroge un web service qui réalise les actions. Ainsi il serait possible de placer une api par machine a gérer, et juste un panel central.

En parallèle de cela, réalisé également un monitoring qui lui aussi interroge l’API afin de connaitre certaines informations du/des serveur(s) et les afficher publiquement.

Aperçu du monitoring

J’aimerai donc continuer ce projet afin qu’il devienne collaboratif, et puisse aboutir.
Si vous êtes intéressé, contactez moi.

dump_backup

Backups et dumps

Si comme moi, vous vous demandez comment réaliser des backups(sauvegarde d’un répertoire) ou des dumps(sauvegarde de la base de données) de manière très automatisée sur un serveur dédié.

Alors j’ai une solution à vous proposer à l’aide de scripts en Shell, que vous pourrez améliorer à votre sauce.

Voici l’exemple type pour les dumps

#!/bin/bash

#Variables utilisées
LOCAL_FOLDER="/home/backups/sql";

FTP_SERVER="ftp.distant.fr";
FTP_USER="user";
FTP_PASSWORD="pass";
FTP_FOLDER="/sql/";


#Génération du dump
DATE=$(date +%Y-%m-%d_%H-%M)
FILENAME="dump_${DATE}.sql.gz"
cd $LOCAL_FOLDER

mysqldump -u root --password="pass" --all-databases | gzip> ${FILENAME};


# On référence les fichiers à copier
FTP_FILES=sudo ls $LOCAL_FOLDER/*

# Résumé des données
cd $LOCAL_FOLDER

# Lancement de la copie
                                                                                            
ftp -vin $FTP_SERVER <<EOF
user $FTP_USER $FTP_PASSWORD

cd $FTP_FOLDER

binary

mput *

bye

EOF



# Suppression du fichier temporaire
rm $FILENAME

# On envoi un mail de confirmation
mail -s 'Dumps - succès' 'info-gerance@ndd.com' -a 'FROM: mon-srv <root@ndd.com>' <<EOMAIL
Un nouveau dumps de la base de donnée à été créé avec succès.
Fichier ajouté : /sql/dump_${DATE}.sql.gz

EOMAIL

Et voici l’exemple pour réaliser un backup. Ici backup du répertoire des sites web.

#!/bin/bash

#Variables utilisées
LOCAL_FOLDER="/home/backups/www";

FTP_SERVER="ftp.distant.fr";
FTP_USER="user";
FTP_PASSWORD="pass";
FTP_FOLDER="/www/";


#Génération du backup
DATE=$(date +%Y-%m-%d_%H-%M)
FILENAME="www_backup_${DATE}.tar"
cd $LOCAL_FOLDER

tar -cf ${FILENAME} /home/www/;
gzip ${FILENAME};
mv ${FILENAME}.gz ${LOCAL_FOLDER};

# On référence les fichiers à copier
FTP_FILES=sudo ls $LOCAL_FOLDER/*

# Résumé des données
cd $LOCAL_FOLDER

# Lancement de la copie
                                                                                            
ftp -vin $FTP_SERVER <<EOF
user $FTP_USER $FTP_PASSWORD

cd $FTP_FOLDER

binary

mput *

bye

EOF



# Suppression du fichier temporaire
rm $FILENAME

# On envoi un mail de confirmation
mail -s 'Backups - succès' 'info-gerance@ndd.com' -a 'FROM: mon-srv <root@ndd.com>' <<EOMAIL
Un nouveau backup du répertoire /home/www a été réalisé.
Fichier ajouté : /www/www_backup_${DATE}.sql.gz

EOMAIL

En espérant que ces deux petits scripts vous aiderons ;)

limonade

Limonade

Il y a quelque jours je me suis dans les frameworks php. Et pour cela je me suis attaqué à un framework de petite taille : Limonade.

Qu’est ce qu’un framework ?

Un framework est un kit de composants logiciels structurels, qui servent à créer les fondations ainsi que les grandes lignes de tout ou partie d’un logiciel (architecture). En programmation orientée objet un framework est typiquement composé declasses mères qui seront dérivées et étendues par héritage en fonction des besoins spécifiques à chaque logiciel qui utilise le framework.
(citation de Wikipédia)

Exemple

require_once 'vendors/limonade.php';
dispatch('/', 'hello');
  function hello()
  {
      return 'Hello world!';
  }
run();

Son utilité ?

Limonade est donc un framework très simple qui est a la porté de beaucoup de personnes je pense. Il peut être utile pour se mettre doucement dans l’univers du framework, ou bien afin d’utiliser un framework pour un site de petite ampleur.

Il est vraiment très simple, se prend très vite en main, et offre la plupart des fonctionnalités de base. En revanche il ne gère pas les accès à la base de données, mais personnellement, je ne trouve pas que ceci pose beaucoup de problèmes.

Ressources

humans.txt

Humans Txt

Il y a quelques jours sur l’un de mes flux de veille informatique, j’ai découvert un concept fort intéressant, celui du humans.txt.

À quoi ça sert ?

Vous devez très certainement connaître robots.txt, qui permet de donner des ordres aux robots qui passent sur votre site. Et bien en ce qui concerne humans.txt, le but et de laisser des informations sur les auteurs d’un site/projet comme leur nom, leur profil twitter, … . Ainsi on fait passer l’information que le site n’est pas juste une machine, mais qu’il y a des humains derrière tout cela. D’où leur bon slogan : « We Are People, Not Machines« .

Ayant donc trouvé l’idée intéressante, j’ai donc créer le humans.txt de mon blog.

A vous de jouer ! ;)

Ressources

banniere_dinhosting

Din’Hosting

Comme beaucoup de développeurs je suis chez un hébergeur web afin de pouvoir créer des sites web, gérer des BDD, et des noms de domaines, car les sites gratuits comme free.fr ne suffisent pas à partir de certaines demandes.

Cela fait donc 4 ans environ que je suis chez Din’Hosting et y reste avec grande satisfaction de leur service et de leur support très performant. Certains le trouve un peu cher, mais je ne suis pas déçu de payer un peu plus cher pour avoir un service de qualité et assez évolutif. De plus les problème sur leur infrastructure sont très rares et sont régler rapidement.

C’est un hébergeur que je recommande chaudement à toutes les personnes à la recherche d’un hébergement, et même à celle qui sont déjà chez un autre hébergeur web. Vous ne serez pas déçu :)

Ressources

jCarousel

jCarousel

Pour les amateurs de jQuery et ses plug-ins, j’ai fait une découverte il y a quelques semaines afin de pouvoir réaliser mon portfolio. Ce plug-in en question est jCarousel.

Mais qu’est-ce dont ?

jCarousel est un plug-in jQuery permettant de mettre en place de manière très simple un contrôleur de listes d’éléments horizontaux ou verticaux. Bien évidement vous avez des petites options dans ce plug-in pour en faire un peu plus comme récupérer des contenu en AJAX par exemple ou encore de récupérer simplement des images se trouvant sur Flickr.

Sur la plupart des exemples de leur site, ce sont des images qui sont mises en action. Mais vous pouvez très bien vous en servir pour mettre du texte à la place. C’est ainsi que j’ai fait l’animation des mes créations sur mon portfolio.

Pour les intéressés je vous invite donc à aller voir le site de jCarousel pour voir toutes les possibilités que ce plug-in, simple d’utilisation, nous offre.

Pour les personnes qui aimerais plutôt faire une galerie d’image, j’ai trouvé un autre plug-in intéressant : Galleria.

Ressources

1195253-webp,bWF4LTUyMXgyNTk=

Google et le WebP

Il y a quelques semaines, Google a annoncé un nouveau format d’image : le WebP.

Mais qu’est-ce dont ?

Le WebP est est donc un format d’image compressé, développé pour le web. Son objectif est d’améliorer la compression d’image avec pertes tout comme la compression jpeg, mais en essayant d’avoir le moins de perte possible avec un poids plus léger.

Ce qui a motivé Google de réaliser ce nouveau format, est la volonté de réduire la quantité de données qui circulent sur le réseau internet, car les images représenteraient « 65% des données reçues lors de la consultation d’une page web ».

C’est aussi grâce à ce dernier qu’est réalisé le format/codec WebM (format vidéo).

Pour les plus curieux, vous pouvez voir la page d’étude comparative du WepP [en].

Ressources

sprite

La Ferme du Web ouvre une section veille

Hier sur la Ferme du Web, une nouvelle section très intéressante est apparue !

Cette section est une Veille quotidienne. En réalité depuis un bon bout de temps (fin 2008), la Ferme du Web a un profil twitter où ils postent régulièrement des informations sur le domaine du web : PHP, JS, Apache, jQuery, et bien d’autres.

Cette ouverture est assez intéressante pour se tenir facilement au courant des nouveautés sur le web.

Ressources

dropbox

Dropbox, synchronisez vos fichiers

Certain d’entre vous connaissent peut-être déjà, mais il y a quelque semaines, j’ai installé Dropbox.

À quoi ça sert ?

Dropbox est un logiciel qui permet de synchroniser simplement des fichiers sur un serveur. Vous pouvez aussi bien vous en servir pour synchroniser des fichiers entre plusieurs postes, mobiles, mais vous pouvez aussi vous en servir pour sauvegarder vos données.

Je tiens à vous préciser que ce logiciels fonctionne sur Windows, Mac, Linux et sur Mobile (iPad, iPhone, Android, BlackBerry).

À quel prix ?

Et bien c’est gratuit. Gratuit ? Oui pour commencer vous avez le droit à 2GB, mais en invitant des amis et en réalisant quelques simples actions vous pouvez monter jusqu’à 8GB.

Oui mais 8GB ça ne me suffit pas ! Ce n’est pas grâve, il existe deux autres produits « Pro 50″ et « Pro 100″  qui font respectivement 50GB et 100GB. Bien évidement ces deux produits sont payants.

Ressources

Sans titre

Plugin jQuery coloration syntaxique

Qu’est ce ?

Snippet est un plugin jQuery permettant de réaliser de la coloration syntaxique d’une manière très simple.

Comment l’utiliser ?

Il vous suffit d’appeler la librairie jQuery dans votre fichier html, ainsi que le plugin snippet.

<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.snippet.js"></script>

Puis vous devez appeler le feuillet css :

<link rel="stylesheet" type="text/css" href="css/jquery.snippet.css" />

Et enfin, il vous suffit de définir ce que vous voulez colorier :

<script type="text/javascript">
 $(document).ready(function(){
 	$("pre").snippet("php");
 });
</script>

Dans cet exemple, tous les contenus dans les balises <pre> seront colorier comme de la syntaxe php.

Ressources