2. SOMMAIRE
1. Le Forum PHP
2. Headers HTTP : un bouclier pour votre application
3. Industrialisation et automatisation chez M6Web Lille
4. Affrontez la dette technique en toute agilité
5. La place de PHP dans l’architecture technique de Radio France
6. Comment relire du code pourri sans se fatiguer
7. Retour d’expérience Auchan : surveiller ses applications
8. Allumez le feu !
Antonin Savoie - 10/11/2016
3. Le Forum PHP
Qu’est ce que c’est ?
● 27 & 28 octobre à Paris
● Un des deux plus gros événements de l’AFUP (avec le PHP Tour)
● 2 jours de conférences et d’ateliers
● Des sponsors (merci Kaliop !) et des stands
● Des cliniques
Antonin Savoie - 10/11/2016
4. Headers HTTP : un bouclier
pour votre application
Par Romain Neutron (Blackfire.io)
Antonin Savoie - 10/11/2016
5. HEADERS HTTP : UN BOUCLIER POUR
VOTRE APPLICATION
Les headers HTTP aident à sécuriser les applications web :
● X-XSS-Protection
● X-Content-Type-Options
● X-Frame-Options
● Strict-Transport-Security
● Content-Security-Policy
Slides
Antonin Savoie - 10/11/2016
7. INDUSTRIALISATION ET AUTOMATISATION
CHEZ M6WEB LILLE
Un écosystème varié progressivement migré
● Environnements de dev uniformisés (Docker)
● Workflow défini pour les US
● Intégration continue (GitLab-ci)
● Déploiement (Capistrano)
● Automatisation (Jenkins)
● Monitoring / Alerting (ElasticSearch, Kibana, Grafana, Sonar, Sentry....)
Slides
Antonin Savoie - 10/11/2016
8. Affrontez la dette technique en
toute agilité
Par Maxime Thoonsen (Theodo)
Antonin Savoie - 10/11/2016
9. AFFRONTEZ LA DETTE TECHNIQUE EN TOUTE
AGILITÉ
La dette technique
● La comprendre
● L’identifier
● L’évaluer
● La monitorer
● La combatte
● La prévenir
Slides
Antonin Savoie - 10/11/2016
10. La place de PHP dans l’architecture
de Radio France
Par Rodolfo Ripado & Florian Tissot (Radio France)
Antonin Savoie - 10/11/2016
11. LA PLACE DE PHP DANS L’ARCHITECTURE
TECHNIQUE DE RADIO FRANCE
Radio France c’est :
● Des sites webs, des applis mobiles, du streaming, de la vidéos
● Un gros SI (chaînes, SI métier, SI numérique…)
● Des microservices
● Du CQRS
● Une infra total cloud
● Du Drupal
Slides
Antonin Savoie - 10/11/2016
12. Comment relire du code pourri
sans se fatiguer
Par Damien Seguy (Exakat)
Antonin Savoie - 10/11/2016
13. COMMENT RELIRE DU CODE POURRI SANS SE
FATIGUER
La session dont vous êtes le héros !
● Des outils pour analyser le code sans le voir :
○ PHP Lint
○ Métriques : PHPLoc, PHPMetrics, PHP MD
○ PHAN : analyse syntaxique (AST)
○ Recherche des noms de variables et de classes
Slides
Antonin Savoie - 10/11/2016
14. Retour d’expérience Auchan :
surveiller ses applications
Par Alexandre Salomé (Auchan)
Antonin Savoie - 10/11/2016
15. RETOUR D'EXPÉRIENCE AUCHAN :
SURVEILLER SES APPLICATIONS
De la théorie à la pratique
● Métriques & Événements
● Pleins d’outils pour les métriques :
○ Graphite, Influx, OpenTSDB, collectd, Zabbix, StatsD
● ELK pour les événements :
○ ElasticSearch, LogStash, Kibana
● Les métriques ne sont PAS des événements
● Mesurer tout ce qui peut l’être
Slides
Antonin Savoie - 10/11/2016
16. Allumez le feu !
Par Frédéric Hardy (Norsys)
Antonin Savoie - 10/11/2016
17. ALLUMEZ LE FEU !
Tout le monde a un speaker qui sommeille en lui
● Il n’y a pas de recette magique
● Osez monter sur scène
● Il y aura toujours du stress
Antonin Savoie - 10/11/2016
18. ALLUMEZ LE FEU !
Forum PHP
Les conférences
@AFUP
Youtube AFUP
Antonin Savoie - 10/11/2016
Hinweis der Redaktion
Découverte de certains headers HTTP en testant Blackfire.io sur github.com
X-XSS-Protection : active protection XSS native navigateur (IE, chrome et safari), option pour faire du reporting d’attaque xss
X-Content-Type-Options : vérifie que le mimetype correspond à la ressource demandé
X-Frame-Options : autorise les iframe de certains sources
Strict-Transport-Security : remplace les liens HTTP par du HTTPS
Content-Security-Policy : restreint l'accès à une ressource (js, css, image, frame, etc...) à certains sites autorisés
Insiste pas mal sur Content-Security-Policy et son utilité
AVIS : decouverte de headers, et voir a quel point http peut aider la securité
Découverte de certains headers HTTP en testant Blackfire.io sur github.com
X-XSS-Protection : active protection XSS native navigateur (IE, chrome et safari), option pour faire du reporting d’attaque xss
X-Content-Type-Options : vérifie que le mimetype correspond à la ressource demandé
X-Frame-Options : autorise les iframe de certains sources
Strict-Transport-Security : remplace les liens HTTP par du HTTPS
Content-Security-Policy : restreint l'accès à une ressource (js, css, image, frame, etc...) à certains sites autorisés
Insiste pas mal sur Content-Security-Policy et son utilité
AVIS : decouverte de headers, et voir a quel point http peut aider la securité
docker : standard, local, et performant
workflow US et dev : rigueur et interoperabilité des devs
pipelines gitlab pour les controles qualité, les tests
déploiement d’environnements à la volée avec Capistrano
Jenkins pour tout automatiser (central)
monitoring : mise en place d’une vraie boite à outil pour couvrir tout les besoins métiers + humain/ecran bureau
AVIS : point de vue sympa sur leur evolution
comprendre : qualité du code, complexité, bugs, workflow de déploiement, sécurité, architecture, pas de tests, pas de doc
évaluer : établir des metrics pour mesurer la dette
monitorer : suivre avec le client l’évolution des metrics
combattre : boyscout rule, demander du temps, ne pas s’eparpiller
la prévenir : motivation, effet joconde (copie de ce qui est bien),choix des technos, code review, simplicité
AVIS : la dette technique est importante, et existera forcement sur les projets, une bonne facon de la limiter
des sites webs : bcp de trafics, bcp de ressources (videos, sons, contenus editoriaux…)
un gros SI : les chaines, le métier, les contributeurs…
microservice : un service effectue une tâche
CQRS : un service pour écrire, un service pour lire
ESB : bus permettant de faire communiquer tout les services
cloud : 500 machines sur AWS et google Cloud
drupal : choix historique, conservé pour les contributions, enrichi sur certaines parties avec du php, du symfony, du node...
AVIS : bon point de vue sur l’evolution et choix de l’archi technique
format original : demande avis a chaque slide ou presque, mais pas de temps et trop de monde
verifie que le code peut s’executer avec une version de PHP
metriques : utilisation des fonctions, des concepts PHP, complexité, liaison des classes entre elles
AST : arbre syntaxique abstrait
Avis : format sympa, découverte de plein d’outils PHP
métriques et événements : nombre qui change dans le temps (load, IO disk, nb req SQL) / message de l’appli ou du systeme
outils métriques : il en existe plein, je ne les connais pas, le mieux est de regarder ce qui correspond le mieux au besoin
ELK : chaine de botu en bout : stocker, traiter, et afficher
métriques != événements : il est tentant de les traiter de la même facon, mais volume de données enorme
tout mesurer : systeme, services, applications...
Avis : bon prez, comprendre les metriques, avis sur pleins d’outils, tous différents, a adapter au besoin
Pas de miracle, mais des conseils
Osez monter, vous avez forcement qqc à raconter, tout le monde à qqc a apprendre des autres
A vous d’apprendre à la gérer, et l’experience aide
Pas de miracle, mais des conseils
Osez monter, vous avez forcement qqc à raconter
Tout le monde à qqc a apprendre des autres