8768 sujets

Développement web côté serveur, CMS

Bonjour,

voici ma problématique :
J'ai un serveur web installé sur un NAS Synology. Celui-ci est disponible en local pour plusieurs développeurs.
J'ai connecté sur mon PC (windows 10) un lecteur réseau vers le dossier web du serveur.

Depuis mon pc, j'ouvre une fenêtre de commande dans un des dossiers projet et lance gulp. ( z:\web\nomdemonprojet\gulp )

Cela fonctionne, mais malheureusement c'est extrêmement lent, plus de 10 secondes pour compiler du SCSS, alors que sur un dossier présent physiquement sur mon disque dur, l'opération est instantanée.

Comment pourrais-je faire pour utiliser gulp dans de bonnes conditions sur un dossier accessible à une équipe ?

Merci d'avance pour votre aide.
Salut,

Ton routeur c'est du 10/100/1000 ? Smiley murf

Moi, j'ai un réseau local et j'ai pas ce problème. On voit la différence si c'est sur disque dur du pc ou sur le serveur local.

Ton serveur local, est loin ? Combien de mètre de cable ?
Modifié par Tintin75 (12 Feb 2017 - 20:11)
Salut,
Je trouve étonnant que tu veuilles exécuter des tâches Gulp sur un "serveur web", c'est plutôt des tâches à exécuter en local puis tu envoies tes fichiers compilés sur le serveur.

Gulp, comme tout processus (node entre autres), va consommer de la mémoire vive et des ressources processeur, donc la vitesse d'exécution dépendra des ressources matérielles.
Selon le modèle de ton Syno, les processeurs ne sont pas des foudres de guerre et ton temps d'exécution long vient sans doute de là. Et bien sûr du temps de transfert réseau aussi...

Ceci dit, il faut que tu m'expliques pourquoi tu veux exécuter Gulp sur ton nas ?
Administrateur
C'est une problématique qui est courante. Avec un disque réseau, le temps d'accès est beaucoup plus long qu'un disque local, donc les commandes gulp faisant appel à beaucoup de fichiers (par sa conception) sont effectivement lentes.

Il vaut donc mieux - en l'état actuel du développement - l'exécuter sur une machine directement
- soit en local sur chaque pc
- soit sur le serveur à distance (par exemple connecté en ssh)
En hors sujet :
erwan_poupard a écrit :
Cela fonctionne, mais malheureusement c'est extrêmement lent, plus de 10 secondes pour compiler du SCSS, alors que sur un dossier présent physiquement sur mon disque dur, l'opération est instantanée.

Oui enfin... "instantané" vite fait parce que Gulp (et Grunt) recomplilent TOUS les fichiers, et non pas uniquement les fichiers modifiés (comme avec Brunch par exemple). Du coup, sur de gros projets, ça prend tout de suite plus de deux ou trois secondes, si ce n'est 5 ou 10...
Administrateur
Bonjour,

il y a des paquetages pour ça : ne pas réoptimiser 50 fois les mêmes images et tâche watch pour ne recompiler que le strict nécessaire.

erwan_poupard a écrit :
Comment pourrais-je faire pour utiliser gulp dans de bonnes conditions sur un dossier accessible à une équipe ?

Tu rends un dépôt git accessible à l'équipe ; chacun travaille dans son coin physiquement (en local) et fonctionnellement (une fonctionnalité une branche, un bugfix une branche, un ticket une branche, un vététiste une branche euh non). Tout le monde peut récupérer le travail de tout le monde ou l'ignorer et tu évites d'entendre un collègue reprocher à un autre d'avoir écrasé "son" fichier alors qu'il avait bien dit qu'il était en train de travailler dessus Smiley rolleyes (une fois que tout le monde a à peu près compris comment résoudre les conflits de fusion puis comment les prévenir... re- Smiley rolleyes ce qui prend un certain temps pendant lequel gniiii). Git c'est bien mais pas facile à appréhender puis finalement juste.trop.indispensable
Modifié par Felipe (14 Feb 2017 - 21:12)
Je trouve étonnant que tu veuilles exécuter des tâches Gulp sur un "serveur web"

En fait le but c'est que nous puissions travailler sur la même base de donnée.

Ex : nous sommes sur un wordpress, installé sur un serveur local. Comment utiliser nos outils tel que gulp, browser-sync en meme temps sur ce meme serveur ?
@Tintin75
malheureusement on est en 10/100, par contre il est à côté. Mais comme la mentionné MatthieuR, le hardware du syno y est pour beaucoup.
erwan_poupard a écrit :

En fait le but c'est que nous puissions travailler sur la même base de donnée.


Salut,

si seule la base de données compte il est possible d'avoir juste une instance sur le nas et de configurer les dev locaux pour utiliser cette instance et celle sera partagée par tous.
Généralement cela est fait en utilisant différent fichier de configuration pour les différents environnement (dev, ...., prod).

donc tout le monde a son serveur web sur sa machine de dev avec ses modifs et tout le monde utilise la même base de donnée et chacun fait tourner gulp sur sa machine.

Attention ce mode de fonctionnement impose quand même d'être carré sur la base de donnée parce qu'une modification peu impacter tout le monde (tiens elle sert pas cette table / colonne => drop => qui qu'a tout cassé ? Smiley lol ).

La seule chose un peu "complexe" c'est de configurer correctement l'utilisateur de la base de données. Pour mysql le tout c'est d'indiquer le bon masque réseau Smiley cligne (configuration mysql)


Cela n’empêche pas de garder la version web sur le nas qui peux être une version "d'intégration" correspondant à la somme de dev en court (la branche développement du git flow décrit plus haut).

@+