Catégories
Développement

Forum PHP 2020 – vidéo des conférences

Je suis adhérente de l’afup depuis maintenant 3 ans, j’ai pu en effet participer au forum PHP 2017 qui fut une très belle expérience et notamment avec l’achat de mon premier ElePHPant! 🙂

Cette année, j’ai pu participer à l’édition via Livestorm notamment, crise sanitaire oblige. Les conférences étaient variées et très intéressantes (notamment celle pour présenter PHP8!)

L’afup a mis en ligne les vidéos de ces conférences, voici le lien:

https://afup.org/talks/

N’hésitez pas à y jeter un coup d’œil! 

Catégories
Pense-bête

Regex ou expression régulière

Une regex est toujours entourés de caractères spéciaux appelés délimiteurs. Par exemple #

Les principaux caractères permettant de décrire ces expressions régulières sont décris ci-dessous :

  • * : répète de 0 à n fois le motif précédent ce caractère (lettre facultative)
  • + : répète de 1 à n fois le motif précédent ce caractère (lettre obligatoire)
  • ? : rend facultatif le motif précédent ce caractère (on parle aussi de répétition de 0 à 1 fois)
  • {n} : répète exactement n fois le motif précédent
  • ^ : désigne le début d’un chemin
  • $ : désigne la fin d’un chemin
  • [abc] : exprime un choix à faire parmi les caractères a, b ou c
  • [a-z] : exprime un choix à faire parmi les minuscules
  • [a-zA-Z0-9] : exprime un choix à faire parmi les caractères alphanumériques
  • [^def] : tous les caractères sauf les caractères d, e et f
  • . : correspond à n’importe quel caractère
  • \. : correspond au caractère “.” (le \ permet d’échapper un caractère spécial)

Ainsi, si la racine du système est le répertoire /var/www, les exemples suivants correspondent à :

  • “users” : tous les chemins à partir de /var/www qui contiennent la chaîne users
  • “^users” : tous les chemins commençant par /var/www/users
  • “users[0-9]{4} : tous les chemins commençant par /var/www, contenant la chaîne users suivie de 4 chiffres.

Autres exemples :

  • #guitare# : cherche guitare
  • #guitare#i : cherche guitare en ne prenant pas en compte la casse
  • #guitare|piano# : cherche guitare ou panio
  • {3,5} : on peut avoir la lettre de 3 à 5 fois.
  • {3,} : cela signifie « 3 fois ou plus ».
  • /(?=.*[a-z]+)(?=.*[A-Z]+)(?=.*[0-9]+)/ : la chaîne doit contenir au moins une minuscule, une majuscule et un chiffre, dans n’importe quel ordre
Catégories
Pense-bête

SQL cheat sheet

Une nouvelle catégorie afin de me permettre d’écrire des articles pense-bête, comme cette belle image qui récapitule les différentes requêtes sql de base 🙂

N’hésitez pas à le sauvegarder sur votre poste de travail (ou même l’imprimer mais on sait tous que vous n’allez pas le ressortir :p)

Je rédigerais surement d’autres articles pense-bête sur d’autres sujets, et peut-être même sur des choses assez basiques mais qui méritent pour moi, d’être écrit.

Catégories
Développement

Arborescence de symfony 3

Nous allons ici créer un projet Symfony 3 afin de voir les différences entre la version 2 de ce framework.

Si vous avez suivi mes différents articles, vous détenez une commande symfony.

Il existe une commande afin de créer une démo de la dernière version de symfony : 

symfony demo

qui va donc préparer le projet et vous indiquer quoi faire :

1. Change your current directory to ....
2. Execute the php bin/console server:start command to run the demo application
3. Browse to the http://localhost:8000 URL to see the demo application in action

On se rend compte déjà d’une chose, la console est maintenant accessible via le dossier bin et non plus app. 

Voici l’arborescence de symfony 3 :
– app
– bin
– src
– tests
– var
– vendor 
– web

Il y a donc maintenant 7 dossiers et non plus 4.

Attention pour que cette démo fonctionne, il faut que sqlite3 soit installé sur votre ordinateur (le driver utilisé par défaut dans la démo). Donc sur kubuntu :

apt-get install php-sqlite3

Si tout fonctionne bien, vous devriez donc avoir une belle page à l’adresse http://localhost:8000, ainsi qu’une bouton qui permet de voir le code de la page.

La différence majeure dans l’arborescence des fichiers étant que l’exécutable se trouve maintenant dans le fichier bin (et non plus app) et que les fichiers cache, logs et sessions sont dans un répertoire nommé var.
Voici ce que nous dis la documentation officielle pour les répertoires : 

app/
Contient des fichiers comme les fichiers de configuration et les templates. Pour faire simple, tout ce qui n’est pas du code PHP se retrouve ici. 
src/
.Tout votre code PHP se retrouve ici. 99% du temps, vous allez travailler dans src (fichiers php) ou dans app (tout le reste). 

Voyons les autres répertoires du projet.

bin/
Le fameux exécutable bin/console est ici (et d’autres moins importants).
tests/
Les tests automatisés (Unit tests) pour l’application sont ici.
var/
C’est ici que tous les fichiers créés automatiquement sont stockés, comme le cache (var/cache/), les logs (var/logs/) et les sessions (var/sessions/).
vendor/
Les librairies externes (vendor) sont ici. Elles sont téléchargés via le manager Composer! 
web/
C’est le chemin d’entrée de votre projet, mettez ici tous les fichiers publics accessibles (c’est-à-dire CSS, JS et les images).

Lorsqu’on regarde le code, on se rend compte que finalement peu de choses ont changés à ce niveau également. Nous verrons dans un prochain article les différences majeures ainsi que comment utiliser l’orm qui est Doctrine (alors que j’ai l’habitude de propel).

 

Catégories
Développement

Structure de Symfony 2

Un petit article afin de résumer l’arborescence de Symfony 2. Cela me permettra par la suite de faire la différence entre la nouvelle version actuelle de Symfony, la 3. 

Vous avez pu voir comment installer une symfony dans un précédent article. Nous allons ici voir l’architecture des fichiers.

Lorsque vous créez un projet Symfony, il y a 4 dossiers : 
– app
– src
– vendor
– web

Catégories
Veille

Cyberattaque majeure contre DYN le 21 octobre

Vendredi 21 octobre en fin d’après-midi, le web a rencontré une cyberattaque massive. Plusieurs gros sites ont été touchées : Netflix, Twitter, Spotify, Amazon, eBay, Playstation Network…

Ces sites ont souffert d’une attaque en déni de service distribué (DDoS) ,c’est-à-dire que les sites ont été saturés pour les rendre inaccessible. C’est la société DYN et leur service DNS qui a été touchée. Du coup, lorsqu’on essayait d’accéder à www.twitter.com par exemple, on se retrouvait sur une page introuvable, étant donné qu’aucune adresse IP ne correspondait à ce nom de domaine.

L’attaque ne visait donc pas les sites eux-mêmes mais l’infrastructure utilisée par les internautes pour y accéder. Ce sont surtout les personnes situés aux Etats-unis qui ont été touchés, même si les accès ont aussi été perturbés en Europe.

Cette attaque a durée plusieurs heures et face à cette ampleur, le FBI et le département de la sécurité intérieure américain ont annoncé avoir lancé une enquête. Dyn avait déclaré peu après minuit (heure de paris)  que l’incident était complètement terminé.

Source : sciencepost, lemonde

Catégories
Veille

Google et wikipedia bloqués par Orange

ministere

Vous en avez surement entendu parler mais dans la journée du lundi 17 octobre 2016, les abonnés Orange (téléphonie et Internet) ont été dans l’impossibilité d’accéder à google et à wikipedia. Ils étaient automatiquement redirigés vers une page hébergée sur un serveur du ministère de l’Intérieur.

En effet, depuis fin 2004 et suite au vote de la loi contre le terrorisme, la police peut ordonner, sans contrôle du juge judiciaire, le blocage de sites internet pour apologie du terrorisme

Catégories
Développement

Installation d’eclipse et de symfony2

Après la configuration de notre poste de travail sous linux, rien de tel que d’installer un IDE.

Ici j’ai choisi eclipse que je trouve très complet et simple à prendre en main. Je vous expliquer également comment installer le framework Symfony2

Catégories
Développement

Développer sous linux

Dans le cadre de mon travail, j’ai pu développer des applications sous le système Linux, et notamment l’os Kubuntu (bien pratique car qui intègre déjà un bureau KDE)

Ne travaillant plus et voulant tout de même privilégier le développement sous Linux, j’ai installé une machine virtuelle sur mon poste de travail windows.

Voici les démarches à suivre.