comment créer un Site de réseau social comme Facebook: La Success Story

comment créer un Site de réseau social comme Facebook: La Success Story

Après avoir observé tous les pièges et selon les solutions liées à la composante côté client du développement des réseaux sociaux, voyons quels aspects vitaux de la partie Côté Serveur doivent être pris en considération.

développement Back-end

Si vous créez une plate-forme de médias sociaux à partir de zéro, vous voulez la faire fonctionner de manière transparente et réduire le pourcentage de désabonnement des utilisateurs., Par conséquent, il est crucial de prendre en compte les aspects suivants lors du développement back-end:

  1. rendu correct
    • rendu côté serveur (SSR)

      Il s’agit d’une manière plus traditionnelle et statique du rendu du contenu du site web qui peut retarder le chargement de la page jusqu’à quelques secondes. Si vous créez des blogs ou publiez des plateformes de médias sociaux, une telle option est faite pour vous car elle ne nécessite pas de réponse rapide et immédiate entre les chargements de page suivants.,

      Une approche de rendu est effectuée par les développeurs back-end en collaboration avec ou sans HTML / CSS-coder, à l’aide de Spring framework, de Velocity library ou d’autres technologies Java efficaces. Notez également que contrairement à CSR (rendu côté client), l’architecture back-end des microservices n’est pas applicable pour SSR; optez donc pour l’architecture monolithe.

    • rendu côté client (CSR)

      dans le cas du développement de sites de type Facebook, ce type d’affichage de données est plus approprié., Une telle approche est plus dynamique et réactive et permet de créer un réseau qui vous fournira un rendu rapide du site web après le premier chargement initial.

      la solution CSR est menée par des développeurs front-end et est normalement implémentée en JavaScript avec L’aide D’AngularJS, React.js, ou de Vue.frameworks js. En fonction de vos besoins, les architectures back-end monolith et microservices conviennent à votre site web si vous choisissez CSR.,

  2. amélioration de la sécurité
    • prévention des injections SQL (Structured Query Language)

      Les données sensibles de vos utilisateurs, telles que les détails d’authentification et les informations de carte de crédit, peuvent être vulnérables aux injections SQL en cas de sécurité insuffisante. Pour éviter de telles attaques malveillantes, assurez-vous de placer le pilote de base de données Java sécurisé avec la fonction d’instruction préparée qui envoie la requête et les données au serveur de base de données séparément, en évitant l’intervention d’une telle attaque dans les enregistrements à l’intérieur de la base de données.,

      le pilote de base de données PHP, par exemple, ne fournit pas de telles protections, donc le développeur doit le protéger en utilisant des données d’entrée d’échappement ou une autre technologie.

      comme vous pouvez le voir, le choix du langage de programmation et/ou du framework influence la pile des outils qui sécurisent votre produit, qui, à son tour, doit être utilisé correctement.

    • protection contre les attaques XSS (Cross-Site Scripting)

      Si votre réseau de médias sociaux ne dispose pas d’une validation des données d’entrée correctement sécurisée, votre site web est ouvert aux attaques XSS., Dans ce cas, envisagez d’intégrer la filtration des données d’entrée à son arrivée ou d’encoder vos données sur la sortie.

    • hébergement sécurisé

      pour vous assurer que les données de vos utilisateurs sont stockées en toute sécurité, il est souhaitable d’opter pour des fournisseurs d’hébergement web cloud fiables et de premier plan, tels que AWS, A2 Hosting, HostGator ou InMotion.

    • cryptage des données

      en termes de création de sites Web sur les réseaux sociaux, l’intégration du cryptage de données de type SSL est considérée comme l’une des mesures de sécurité les plus efficaces et les plus obligatoires., Il empêche les pirates d’obtenir les données sensibles de vos utilisateurs pendant leur transit.

    • mise à jour des programmes

      la sécurité de nombreux sites web est souvent compromise en raison de composants logiciels obsolètes. Assurez-vous toujours que toutes les parties de vos programmes sont mises à jour, qu’il s’agisse de la dernière version du plugin ou du CMS afin qu’il n’y ait pas de vulnérabilités de site Web ouvert pour les attaques.

  3. Panneau D’administration

    c’est l’un des outils les plus vitaux pour la modération de tout site Web de médias sociaux qui ne peut être négligé., Il s’agit d’une application à part entière qui interagit avec votre site web et vise à améliorer les capacités de votre entreprise en:

    • en fournissant un aperçu des fonctions liées à l’utilisateur (comportement de l’utilisateur);
    • En détectant la violation des réglementations et de la politique du site Web;
    • en affichant des métriques
  4. amélioration des performances
    • évolutivité horizontale

      plus votre réseau devient célèbre, plus les charges de travail simultanées sont exécutées sur le site web., Dans un tel cas, le maintien de l’évolutivité horizontale est indispensable, ce qui peut être réalisé par le bon choix d’équilibreurs de charge de votre fournisseur.

    • Content delivery network

      dans le cas où vous visez à populariser votre réseau non seulement dans un emplacement géographique particulier, mais à l’échelle mondiale, vous pouvez augmenter les performances de votre site Web en utilisant CDN (content delivery network). Une telle solution fournit une livraison plus rapide du contenu à vos utilisateurs finaux qui sont situés loin du serveur hébergé, en utilisant les serveurs périphériques les plus proches ou locaux.,

      Image 6. Aperçu du travail CDN. Source: Wpbeginner
    • optimisation de la taille du contenu

      pour optimiser le travail de votre site Web, vous pouvez avoir besoin d’un logiciel qui compresse les fichiers audio, vidéo, textuels et autres types de fichiers. Vous pouvez utiliser une application Gzip qui compresse et décompresse les fichiers de manière statique ou dynamique, améliorant la charge de page du site Web de près de 15%., De plus, il est préférable de stocker des fichiers compressés que de les compresser du côté frontend à chaque fois que la demande arrive.

  5. Prise de site web à tolérance de pannes

    de Nombreux facteurs peuvent affecter négativement le fonctionnement de votre site web. La tolérance aux pannes est l’un des aspects les plus vitaux de tout réseau social, ce qui aide à contrer de telles intrusions., Il peut être fourni à l’aide de telles mesures préventives:

    • activer le clustering, le processus qui permet de reproduire les actions du serveur en cas de panne soudaine;
    • assurez-vous d’avoir une base de données tolérante aux pannes, qui prendra le relais du principal en cas de panne;
    • intégrer des canaux de communication fiables qui assureront un échange sécurisé et cohérent de données et réduiront les risques de perte de connexion;
    • fournir une sauvegarde de base de données pour éliminer la possibilité de perte de données sensibles;
    • assurer les procédures de reprise après sinistre., Ces procédures dépendront si vous choisissez le cloud computing ou sur site. Dans le cas du premier, vous devrez activer la migration cloud des données vers l’autre région. Si vous choisissez cette dernière option, assurez-vous d’avoir un fournisseur de sauvegarde ou un centre de données dans une autre zone géographique., En outre, si vous utilisez un environnement sur site, vous pouvez passer au cloud computing dans ce cas;
  6. CI / CD

    L’Intégration Continue (CI) et les déploiements continus (CD) sont des pratiques indispensables qui permettent un flux de travail efficace et flexible qui conduit finalement à un déploiement plus rapide et sans bug. Les ingénieurs DevOps sont ceux qui fournissent et maintiennent un processus de configuration CI/CD fonctionnant correctement dans le cycle de vie du développement., En optant pour cette approche pour le développement de votre site Web de médias sociaux, vous pouvez obtenir:

    • l’émergence de bogues minimisée lorsque vous lancez le site web car les régressions sont capturées plus tôt lors des tests automatisés itératifs (CI);
    • les coûts réduits pour les tests post-développement car le serveur CI effectue de nombreux tests automatiquement;
    • Une version plus rapide car le pipeline CI/CD fusionne constamment le code et le déploie en production après les tests automatisés, ce qui permet de toujours le maintenir prêt pour la publication.,

pile technologique

le choix de la pile technologique appropriée pour programmer un réseau social dépend normalement de la solution la mieux adaptée aux exigences définies, de la complexité du projet et de l’expertise du fournisseur de logiciels dans les technologies backend., »>Programming languages

Java, PHP, Python Search engines Apache Solr, Elasticsearch Frameworks/libraries Spring stack for Java
Laravel, Symfony for PHP
Django, Flask, Tornado for Python Caching Redis, Memcached Front-end frameworks and technologies React.,js, Vue.,Angular langages de programmation frontaux TypeScript, JavaScript DevOps gitlab ci, TeamCity, gocd Jenkins, WS CodeBuild, terraform

test

le maintien de la charge élevée sur le site, la responsabilité de la sécurité des données des utilisateurs, et leur les paiements au sein du réseau sont les facteurs qui définissent l’extrême importance d’aborder la phase de test de manière réfléchie.,

Le test d’un site Web de médias sociaux nécessite la création d’artefacts de test particuliers: Stratégie de test, plan de test, données de test, cas de test, etc. Ils sont effectués pour garantir que toutes les exigences du client sont comprises avec précision par le fournisseur du logiciel. Ils permettent également au client, aux parties prenantes et aux testeurs de suivre les changements dans le projet en éliminant les malentendus possibles entre les parties.,

Normalement les types de tests sont effectués lorsque vous développez un réseau social:

  • les tests fonctionnels — contribue à assurer toutes les fonctions de votre réseau fonctionne conformément aux spécifications., En l’exécutant, L’équipe QA prête attention aux aspects suivants:

    • teste les fonctionnalités principales du site Web;
    • s’assure que les mises à jour et les améliorations n’affectent pas négativement les fonctionnalités du site Web;
    • vérifie l’interopérabilité des différents modules fonctionnels;
    • s’assure que l’interface de l’utilisateur répond aux attentes du consommateur final.,
  • tests de sécurité — pour vous assurer que votre site Web de médias sociaux ne contient aucune menace et faille de sécurité pouvant endommager les données sensibles de vos utilisateurs, les testeurs se concentrent sur ces domaines:

    • vulnérabilités dans l’analyse du réseau;
    • s’assure que les mises à jour faiblesses dans les composants logiciels.,
  • Test de performance — lors de son exécution, la disponibilité du site web à supporter une charge possible est testée en vérifiant:

    • vitesse de connexion;
    • comportement du site web sous charge de travail croissante;
    • comportement du site Web au-delà des limites de la charge de travail
  • Test d’interface — aide à assurer la transmission correcte des données du côté serveur et le rendu du côté client., L’équipe QA l’effectue via:

    • validation de l’interaction correcte des interfaces d’application et de serveur;
    • validation de l’interaction correcte entre le serveur web et les interfaces de serveur de base de données;
  • Test d’utilisabilité — les ingénieurs QA testent s’il existe des faiblesses dans la partie 184950344C »>

  • exhaustivité de la navigation;
  • vue d’ensemble de la conception;
  • temps que l’utilisateur passe à accomplir la tâche.,

Le département AQ D’Aimprosoft applique l’approche la plus complexe au choix du type de test approprié, en fonction de la complexité du produit et de vos besoins. En intégrant le travail de L’équipe QA dès le début du projet, vous réduisez potentiellement les coûts de développement, assurez un travail continu de votre réseau et augmentez ses capacités.,

Découvrez l’approche de notre département AQ vers la phase de test

Release and promotion

un certain nombre de versions intermédiaires (Proof of Concept, MVP, alpha et beta) sont livrées avant le déploiement du produit pour vérifier la fonctionnalité et la faisabilité du nouveau site web.

pour programmer un réseau social, un cycle de procédures de test itératives précède la sortie finale du site web. Après cela, nous à Aimprosoft freeze code et continuer à corriger les bugs pendant 2-3 semaines sans modifier le produit., Pour prévenir d’éventuels risques commerciaux liés à la publication, Il est également souhaitable de:

  • tester le bon fonctionnement de toutes les URL;
  • vérifier si votre site web est compatible avec le navigateur et les appareils mobiles;
  • vérifier si votre code HTML/CSS est sans erreur;
  • revérifier le composant de sécurité de,

D’autres aspects qui contribuent à un lancement de site Web réussi peuvent être:

  • mise en œuvre de techniques de Référencement efficaces;
  • configuration de Google Analytics pour un suivi plus approfondi;
  • assurez-vous que vos URL sont compatibles avec les moteurs de recherche.

Une fois que votre réseau social est approuvé pour la sortie réelle, il est temps de mettre en œuvre la stratégie marketing pour promouvoir votre site web., Cela peut inclure:

  • Annoncez votre produit via d’autres réseaux sociaux populaires si leur concept diffère du vôtre;
  • promouvez-le sur Quora en répondant aux questions des sujets connexes et en joignant le lien vers le site Web;
  • promotion avec l’aide d’influenceurs populaires;
  • investissez dans le marketing des moteurs de recherche pour apparaître sur la première page des résultats de recherche.

Une fois que vous avez lancé votre site web, il est essentiel de surveiller ses performances et le comportement de vos utilisateurs pour le mettre à jour davantage en conséquence.,

estimation des coûts de développement d’un site de réseautage Social

pour définir un coût approximatif requis pour démarrer votre propre réseau social, considérons un produit similaire que nous avons créé appelé Chattlez.

Chattlez a inclus des fonctionnalités de base inhérentes à un site Web de médias sociaux standard; Nous avons également mis l’accent sur la réactivité de sa conception, ce qui n’était pas si courant en 2013. Le concept de Chattlez était de combiner un agrégateur de produits avec un réseau de médias sociaux et de les convertir en un marché permettant aux gens de communiquer et de faire des achats., Il a fallu près de 5 mois pour développer un réseau social comme celui-ci, et cela nous a permis de trouver une formule approximative pour estimer à la fois le temps et le coût de la création de sites Web de médias sociaux.

lorsque vous créez votre propre site de réseautage social, il est nécessaire de développer D’abord un MVP pour identifier les faiblesses du produit et les améliorations exactes pour investir davantage., La suite de base pour n’importe quel réseau de médias sociaux a été mis en œuvre dans Chattlez:

  • d’enregistrement de l’Utilisateur;

  • authentification de l’Utilisateur;

  • profil de l’Utilisateur;

  • Abonnement;

  • flux d’Actualités;

  • Contenu de l’option de partage;

  • le Contenu de l’édition;

  • Commentaires:

  • la Recherche;

  • Messagerie.,

la pile d’équipe suivante est normalement requise si vous décidez de créer un MVP en premier:

  • 1 Chef de projet;

  • authentification de L’utilisateur;

  • 1 ingénieur UI/UX;

  • 1 Développeur Backend;

  • 1 Développeur frontend;il est possible de créer un système de gestion de la qualité.,

Une fois que MVP a passé la première vague de tests critiques par votre public potentiel et que les commentaires ont été obtenus, vous pouvez procéder au développement du produit complet avec les fonctionnalités supplémentaires suivantes qui ont également été incluses dans Chattlez:

  • Panneau D’administration;

  • liaison avec d’autres plateformes de p>Analytics;

  • recherche avancée;

  • personnalisation du profil de l’utilisateur.,

Si vous optez pour la création d’un produit complet immédiatement, vous aurez besoin d’une telle pile approximative de développeurs de logiciels pour coder un site de réseautage social à partir de zéro. Il peut varier en fonction de la complexité du projet et de la date de lancement:

Nous avons utilisé notre expertise de Chattlez creation pour préparer un tableau comparatif ci-dessous du temps approximatif passé pour le développement à la fois du MVP du site de réseautage social et du produit complet.,v>850 — 950

QA 90 — 100 175 — 225 Product architecture 30 — 40 50 — 60 CI/CD 100 — 140 140 — 180

The above-mentioned estimated time may vary if you conduct a business analysis, all mockups and prototypes yourself, and then turn to the full-cycle development company., En ce qui concerne le développement du backend, les parties les plus longues et les plus complexes sont liées à la création du panneau D’administration et à l’analyse intégrée, nécessitant environ 200 heures chacune.,>€52 500 — 63 900

€92 400 — 108 000 UK £55 £48 125 — 58 575 £84 700 — 99 000 Eastern Europe (Ukraine) $30 $26 250 — 31 950 $46 200 — 54 000

You may see that depending on geographical area, the average rate of the developers may significantly differ., Ainsi, par exemple, l’ensemble du coût de développement du site de réseautage social en Europe de l’est (Ukraine) ne représente que 40% du même coût aux États-Unis.

Conclusion

comme vous l’avez peut-être observé, l’univers web des réseaux sociaux est plutôt multidimensionnel et lucratif. Afin de tirer davantage d’avantages d’une industrie aussi prometteuse, vous devez avoir une idée réalisable, un peu de courage et un partenaire logiciel dédié pour implémenter les fonctionnalités les plus complexes., Si vous voulez discuter des questions sur la façon de créer un site Web de médias sociaux, Contactez-nous, et Aimprosoft vous aidera à fond dans votre entreprise de démarrage.

FAQ

le développement des sites Web de médias sociaux est-il toujours pertinent de nos jours?

plus de 3,81 milliards de personnes utilisent actuellement les médias sociaux. Cela signifie que la demande pour de tels types de sites web est plus élevée que jamais. Les sites de médias sociaux profondément enracinés luttent pour répondre aux demandes sans cesse croissantes des utilisateurs. Par conséquent, la vision progressive des nouveaux arrivants peut contribuer de manière significative au développement de cette sphère.,

Existe-t-il un ensemble particulier de technologies que vous pouvez recommander d’utiliser pour développer un site Web de médias sociaux robuste?

la pile de fonctionnalités appropriée varie en fonction de la complexité du projet, de l’ensemble des fonctionnalités souhaitées et du budget. Comme il existe différents types de sites Web de médias sociaux, la fonctionnalité peut différer considérablement. Une fois que vous avez identifié les fonctionnalités que vous souhaitez inclure, Nous vous conseillons de consulter le fournisseur de logiciels choisi concernant les technologies recommandées., Le fournisseur doit vous fournir des options et leur comparaison, puis choisir les outils logiciels les plus appropriés.

comment choisir le bon ensemble de fonctionnalités pour un site Web de médias sociaux? Des conseils à suivre?

Il est toujours préférable de définir les défis auxquels peuvent être confrontés vos utilisateurs potentiels lorsqu’ils traitent avec une telle plate-forme et les attentes qu’ils ont en fonction de leur expérience antérieure avec des sites Web similaires. Cela vous aidera à identifier les outils nécessaires pour satisfaire les besoins de votre public cible et à exclure les fonctionnalités inutiles. En outre, effectuer des recherches approfondies de vos concurrents., Identifiez quelles fonctionnalités les aident à réussir et quelles faiblesses elles ont afin que vous puissiez les améliorer et les transformer en avantages.

Comment puis-je assurer le plus haut niveau de sécurité pour mon site Web de médias sociaux?

l’une des règles de sécurité les plus importantes à suivre lorsque vous créez une plate-forme de médias sociaux à partir de Zéro est que toutes les couches de l’application doivent être protégées contre les risques de sécurité identifiés par OWASP. Deuxièmement, intégrez dans l’infrastructure de votre application un WAF (Web application firewall)., Il sécurisera votre application contre les attaques extérieures, telles que les injections SQL, les attaques XSS (Cross-Site Scripting), l’inclusion de fichiers, etc. Une autre mesure de sécurité utile du site Web consiste à effectuer régulièrement des audits de sécurité d’un code d’application web et à mettre à jour en temps opportun tous les composants logiciels du site web, y compris les mises à jour des frameworks et des bibliothèques qui ont été mis à profit au cours du développement. Dans l’ensemble, ce ne sont que l’un des moyens possibles de renforcer la sécurité du site Web des médias sociaux., Généralement, l’Architecte Logiciel ou le responsable technique travaillant sur votre projet conçoit la stratégie correspondante et sélectionne les outils et pratiques de sécurité appropriés à votre produit.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *