Avec un Web Component, on peut réaliser tout un tas de choses. A l’intérieur d’un tag HTML personnalisé, on peut écrire le code javascript que l’on veut pour mettre en place exactement ce que l’on souhaite.
Un player video qui remplace en lieu et place le tag <video>, mais avec des controls personnalisés, c’est possible. Un outil qui gère l’installation et la mise à jour d’un service Worker aussi.
L’avantage majeure étant que le Web Component maîtrise exactement ce qu’il souhaite exposer ou non, et est donc responsable de tout ce qu’il contient.
Pour gérer les assets fronts (CSS et JS pour faire simple), la méthode la plus simple avec Symfony est d’utiliser Webpack Encore (ou pas depuis la version 7).
Cette méthode 100% intégré au framework permet de répondre à la très grande majorité des cas pour livrer des fichiers compilés et minifiés lorsqu’on passe en production.
Mais parfois, le passage par Webpack ne permet de réaliser ce qu’on veut, ou ajoute du code dans le javascript inutile.
1er janvier 2004 - 1er janvier 2024.
20 ans que mon activité professionnelle a une existence.
20 ans que je développe à titre professionnel des applications web.
20 ans à écrire du code, à en lire, en déboguer beaucoup, mais surtout à répondre aux attentes.
Je n’avais pas 18 ans que je commençais déjà à développer quelques scripts PHP pour des modules d’actualités intégrés aux sites réalisés en table, ou en Flash !
Voici un long tutorial pour Symfony 2.3 permettant d'ajouter des boutons dec onnexion à des services proposant de l'Oauth (comme Facebook, twitter, google, etc..)
Il existe un très bon Bundle, HWIOAuthBundle qui a toutes les fonctionnalités de connexion à OAuth, mais qui manque cruellement de documentations claires.
Ce tutorial part du principe que vous avez déjà en place :
Un firewall dans lequel on peut se connecter via un formulaire de connexion (form_login)
Un formulaire d'inscription
Les utilisateurs sont enregistrés en base de données (via une entity, nommé User dans ce tuto)
La gestion des roles et sécurité restera exactement la même
Le serveur fonctionne bien. Mais qu'arrive-t-il si pour une raison ou une autre un des services tombe ? Pour l'instant, aucune alerte n'est en place et rien ne sera fait.
C'est là que monit intervient. Après quelques configurations, Monit vérifiera toutes les 10 minutes si l'ensemble des services fonctionnement bien. Si ce n'est pas le cas, une alerte est envoyée par email et il tente de le rédmarrer automatiquement.
Maintenant que le serveur fonctionne et a tous les services requis, il serait bon de savoir si tout fonctionne bien, d'avoir des graphes d'utilisation etc...
Pour céer des graphiques d'utilisation de notre serveur, nous allons utiliser munin.
On l'installe avec quelques librairies utiles au bon fonctionnement de certains plugins et de quoi en ajouter des autres (git et zip) :
aptitude install munin munin-node munin-plugins-extra libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl liburi-perl libwww-perl git zip unzip
Lorsque l'installation est terminée, commençons par ajouter des plugins standard déjà disponibles, et supprimons-en un qui ne fonctionne pas sur Debian apparamment :
fail2ban est utilisé pour lire les log de tous les autres démons et bannir des adresses IP s'ils ont échoués à plusieurs reprises de se connecter.
On installe simplement :
aptitude install fail2ban
Puis dans le fichier /etc/fail2ban/jail.conf nous allons paramétré chacun de nos règles pour tous les différents services que propose notre serveur. Certaines sont déjà pre-paramétrées, mais nous allons aussi en ajouter d'autres.
destemail = yoy@email.com
action = %(action_mwl)s
Puis dans le fichier, votre trouver des sections.
Cette partie du tutorial est la plus longue car elle nécessite beaucoup de configuration. En effet, c'est pas moins de 4 démons que nous allons installé et configuré pour fonctionner parfaitement avec le reste de notre serveur. De plus notre serveur d'emails incluera un antispam pour tous les emails entrant, qui en plus vérifiera si les emails ne contiennent pas des virus grâce à ClamAV. Enfin, il sera possible d'entrâiner l'antispam simplement en déplacement un email du dossier enrant vers le dossier Spam et inversement.
Le choix de PowerDNS par rapport à Bind est simple : ave PowerDNS, on peut configurer l'ensemble des informations dans une base données, MySQL dans mon cas.
Donc on commencer par stopper et désinstaller bind, qui peut être là :
/etc/init.d/bind9 stop
aptitude purge bind9
Et on install PowerDNS :
aptitude install pdns-server pdns-backend-mysql pdns-recursor libnet-dns-perl
PowerDNS est découpé de deux façon différentes et indépendantes : le serveur qui permet de définir vos zones (vos sites, sous-domaines, etc.
Cette partie n'a pas évolué depuis Lenny. C'est exactement la même procédure.
On installe le serveur :
aptitude install mysql-server
Durant l'installation, il vous sera demandé le mot de passe de l'utilisateur MySQL root.
MySQL vient avec une commande sympathique qui permet de sécurisé le serveur :
mysql_secure_installation
# Current password : VOTRE_MOT_PASSE
# set new password : N
# remove anonymous Users : Y
# Disallow root login remotley : Y