Méthodologie

70% des projets ont tendance à échouer et 19% sont livrés dans les délais.

Il est donc essentiel de tout mettre à plat avant de commencer à coder le projet.

C’est-à-dire:
– établir un cahier des charges
– établir des maquettes et diagrammes
– choisir une méthode de travail adaptée comme Agile ou Scrum (plus d’informations)
– de planifier son projet

Cette phase préparatoire peut-être ennuyante mais elle est essentielle pour la réussite du projet. Permet parfois d’outrepasser des difficultés, des confusions, des points de blocage.

L’optimisation du référencement (SEO)

La majorité du trafic sur notre site est généré par le référencement il est donc important de soigner son site de A à Z.

Afin d’améliorer il est important de travailler surtout les points suivants:

  • le temps de chargement
  • Les liens (entrants et sortants)
  • la rédaction, la qualité de contenu
  • Le maillage interne du site
  • Soigner les « metas tags » (titre, description, …)
  • Éviter les erreurs (comme les pages 404)
  • Optimiser sa rédaction par mots-clés
  • Eviter les contenus dupliqués

Bien évidemment il faut-être patient et laisser mouliner bien comme il faut les moteurs de recherches avant de voir les résultats changer après la modification de votre politique SEO

Optimisation du temps de chargement

Optimiser le temps de chargement est important pour un meilleur référencement mais aussi pour ne pas perdre ses visiteurs. En effet 57% des utilisateurs quittent le site s’il mets plus de 3 secondes à charger 😱.

Pour optimiser de manière drastique le temps de chargement de son site il existe de nombreuses solutions sans à avoir besoin de dépenser une fortune !

En effet il existe les solutions suivantes:

  • la pagination
  • utiliser la compression au niveau serveur web (Gzip, deflate)
  • optimiser les images en utilisant
  • chargez les images nécessaires au scroll
  • Utiliser les nouveaux formats d’images
  • diminuer le nombre de requêtes
  • utiliser le chargement asynchrone des images
  • optimiser le code
  • optimiser ses requêtes SQL
  • augmenter le cache SQL
  • utiliser un CDN comme Cloudflare
  • bannir les robots malveillants
  • créer un système de cache
  • opter pour un bon équipement
    • remplacer le dinosaure (disque dur) par un SSD
    • opter pour un bon CPU (processeur)
    • opter pour une connexion fibre plutôt que l’ADSL (si possible)
  • Optez pour un répartiteur de charge (un vieux PC avec un distribution Linux légère cela devrait passer) appelé également « load balancing »
  • Optez pour un proxy inversé (proxy-reverse)

Sécurité

Rédaction du paragraphe en cours de rédaction

Généralités

La sécurité n’est pas à négliger.
Les pirates informatiques ne ciblent pas toujours de « gros poissons ».

En effet, leurs objectifs sont variés. 

Leurs buts peuvent être les suivants (liste non exhaustive):

  1. Récolter des informations privées dans les bases de données (pour revendre ou pirater d’avantage)
  2. Nuire, déstabiliser un concurrent (en modifiant le site (« defacing »), modifier des paramètres, supprimer des données, …).
  3. « infecter » votre machine pour créer de plus grosses attaques (DDOS, …)
  4. pour usurper votre identité (adresse IP, nom de la société, …)
  5. vol industriel
  6. envoyer des e-mails frauduleux

Les chiffres

Paragraphe pas encore rédigé.


Prévention

Pour chaque attaque il existe des une panoplie de systèmes de prévention tels que:

    • modSecurity (peux bloquer des attaques XSS, modifier la signature du serveur, …)
    • modEvasive: module apache permettant de lutter contre les attaques de DDOS
    • Cloudflare.com: Service CDN permettant de sécuriser de manière très efficaces un serveur (DDOS, Filtrage mauvais-robots, proxy-inversé, pare-feu très flexible, …).

Mais les « outils » ne font pas tout !

En effet, il est important de coder soigneusement, c’est-à-dire:

  • uiliser des requêtes préparées
  • filtrer les données fournies par l’utilisateur à l’aide d’une fonction native ou d’une expression régulière (regex ou regexp)
  • ne pas traiter les données brutes fournies par l’utilisateur
  • utiliser des jetons (tokens) pour les formulaires

Il est même recommandé d’utiliser en plus un ORM.

Et bien évidemment, il est également important de mettre à jour le plus rapidement les programmes (logiciels, le système d’exploitation, …) et filtrer les ports entrants et sortants à l’aide d’un pare-feu.

Sans oublier de paramétrer correctement son serveur, c’est-à-dire (liste non exhaustive):

  • imposer des en-têtes (xss-protection, Access-Control-Allow-Headers)
  • forcer certains drapeaux pour les cookies (tels que « secure » et « httponly »)
  • bloquer l’accès à certains dossiers ou fichiers ou utiliser un système de routage