Refonte du site web

Créé le 28/01/2021 à 21:38 Dernier post: 18/02/2021 à 16:02 22 posts

Post by Mitch

Posted: 2021-01-28T21:38:38.366000

Pour faire suite à la décision de l'AG de Janvier 2021, il est question d'abandonner le site web actuel (http://veaf.org) et l'hébergement OVH qui lui est associé.
Plusieurs solutions techniques sont possibles pour le remplacer.

Contrairement à ce qui a été évoqué (rajouter une page statique via un plugin sur notre forum NodeBB), il semblerait
plus judicieux de voir un peu plus loin, en prévoyant un site internet indépendant.

Au début, ce site pourrait être une simple landing-page (avec un design un peu plus moderne que l'actuel), en pointant vers quelques sections du forum.
Si certains ne savent pas ce qu'est "une landing page", voici un exemple: https://startbootstrap.com/previews/agency

Mais ensuite, on pourrait très bien envisager plus de contenu (sur des pages/sections dédiées à ça).

Selon la technologie utilisée, nous pourrons partager le travail à réaliser.

Côté mise en ligne, ça tournera dans des containers docker (sur un serveur Linux), le dépôt des sources sera sur notre compte Github VEAF.

Reste à savoir les personnes qui pourraient s'impliquer dans ce projet, et les technologies que ces acteurs maîtrisent ou souhaitent utiliser.


Post by Mitch

Posted: 2021-01-28T21:39:17.188000

Je me lance:

Côté backend: Php/Symfony - MySQL - pages générées en Twig par le backend.
Côté front: CSS / Jquery


Post by Dilixo

Posted: 2021-01-28T22:27:35.602000
Edited: 2021-01-28T22:44:44.305000

Ce que je maitrise :
Côté backend : Java RestEasy - MySQL,
Côté front : Angular / CSS.


Post by Zip

Posted: 2021-01-29T08:58:38.679000

Salut Mitch,

Bien d'avoir initié le projet, j'ai hâte que ça porte ses fruits.
La deadline est le 30 octobre 2021, fin de la location de notre web actuel.
Vu le travail à produire, je vais faire mon chef de projet et dire (sans rien pour m'appuyer, comme d'hab) que ça passe crème ;)

Pour le choix de la techno, je ne suis pas (du tout) emballlé par PHP.
Je trouve (mais je me trompe peut-être) que ça fait pas très moderne, et j'ai peur qu'on ne puisse pas facilement intégrer des travaux externes (NIOD, Perun, et les miens sur les scripts).
Après, je suis conscient qu'on peut coder un client UDP dans n'importe quel langage bien sûr.
Pourquoi ne pas s'orienter vers du NodeJS, sachant qu'on a déjà l'obligation d'avoir ce genre de compétence (avec les scripts VEAF) ?


Post by Dilixo

Posted: 2021-01-29T09:52:35.313000

Voilà des exemples anonymisés de mes réalisations avec la stack Java/Angular.

Sans titre2.png Sans titre.png Sans titre.3png.png


Post by Mitch

Posted: 2021-01-29T19:10:27.812000

@zip a dit dans Refonte du site web :

Pour le choix de la techno, je ne suis pas (du tout) emballlé par PHP.

avant de voter contre des solutions, ça serait bien de voir qui peut participer sur le projet, surtout que du côté du web, il est très rare de ne pas mixer différentes technologies pour un même site.

J'ai juste parlé de technos que je maîtrise pour répondre à ce besoin. Les autres technos que je connais (à base de Node), je bidouille sans être capable de mener un projet de A à Z sans devoir y investir trop de temps.

Et afin de bien séparer le sujet de ma proposition, j'ai bien pris soin de séparer les deux messages ;)

Rating: +1/-0 (Total: 1)


Post by Zip

Posted: 2021-01-29T20:16:56.809000

D'accord @mitch ; c'était juste mon opinion. J'ai toute confiance en toi !


Post by Dilixo

Posted: 2021-01-29T21:03:04.803000
Edited: 2021-01-29T21:03:16.637000

D'accord avec vous 2 :)


Post by Magicbra

Posted: 2021-01-29T21:16:34.469000

De mon point de vue :

Qu'importe les solutions tech, elles doivent répondre aux critères suivants :
- Facilement maintenable par un novice (interface d'admin)
- Le moins de code custom possible (produit maintenu par la communauté =update de sécurité, etc)
- Peu consommateur en temps d’implémentation et connu par au moins 2 personnes (sinon le projet ne sera pas maintenable ou a des chance de ne pas finir)


Post by Zip

Posted: 2021-01-30T09:00:02.449000

Pour moi, les seules technos web que je connaisse et qui m'intéressent assez pour que j'y mette le nez sont Java (trop lourd) et NodeJS (j'aimerais bien ça).
En on utilise déjà NodeJS pour les fonctions avancées de la mission, et la lecture et la publication du fichier json de l'OpenTraining.


Post by Mitch

Posted: 2021-01-30T12:00:26.710000

Si on veut rester dans le thème graphique de forum, on peut partir sur le thème gratuit bootstrap suivant:

https://bootswatch.com/cerulean/

Pour rappel, bootstrap offre un standard dans la mise en oeuvre du style (CSS) et des layout (html) pour les sites web.

dfa53bb4-16d1-4f33-b4b8-6c27dac3430a-image.png

Si jamais on part sur une techno type nodejs, il y a comme base (très simple à utiliser): expressjs: https://expressjs.com/fr/ (serveur web + routeur)

Mais si on veut / on doit aller plus loin (connexion à des bases de données, système d'authentification), il faudra utiliser un framework. Il y en a un qui s'appui sur exrpressjs: FeatherJS https://feathersjs.com/

Pour rebondir sur les propos de @Magicbra , à la base on avait parlé d'une landing page. Si il faut dès maintenant fournir une solution de gestion de contenu dynamique, on est plus du tout sur les mêmes besoins.


Post by Magicbra

Posted: 2021-01-30T13:18:30.644000
Edited: 2021-01-30T13:19:32.183000

@mitch Il faut que quelque par nous ayons les reglements et les status de la VEAF accessibles.

Est ce que ça serait possible sur le moteur du forum actuel.

Sinon pour un page web de landing de base on peut même faire du HTML/CSS/JS de base et le mettre sur un container NGINX. Du moment que ça reste simple, ça me va.


Post by Zip

Posted: 2021-01-30T15:23:03.203000

@Mitch effectivement, l'objectif est de remplacer notre site web par une landing page toute simple, plus moderne.

Je parlais de NodeJS juste pour rappeler qu'on avait aussi dit qu'à terme, on pourrait ajouter des pages dynamiques : personnes connectées sur l'OT, roster des pilotes, etc.
Faudrait juste pas que nos choix d'aujourd'hui nous empêchent de faire des choses demain...


Post by Dilixo

Posted: 2021-01-31T12:24:58.571000

Si on part sur des technos que je connais pas, j'aurai malheureusement pas le temps pour vous aider sur le sujet.

NodeJs, j'ai des notions. Par contre, j'ai toujours fuit le Php :-p


Post by Mitch

Posted: 2021-02-17T16:17:59.139000
Edited: 2021-02-18T11:26:22.291000

Bon, au final, 20 jours après avoir lancé ce post (et après les seuls retours de @Zip et @Dilixo ), j'ai commencé dans mon coin à faire une page statique (html + css).

Puis est arrivé la proposition de @Zip d'intégrer Perun sur notre serveur DCS, j'ai alors créé un POC (en Php/Symfony + MySQL) pour restituer quelques données live de nos serveurs DCS.

Et puis, tout s'est emballé.

@Zip a dégainé l'artillerie lourde en balançant des idées dans tous les sens, j'ai répliqué par un POC qui s'est transformé en véritable projet au fil des jours.

Résultat, après plusieurs dizaines d'heures, on est à deux doigts de proposer la refonte 1.0 "terminée" du site web.

Je vous laisse un aperçu du CHANGELOG:

ADD public - page d'accueil
ADD public - liste des serveurs DCS de l'association (perun)
ADD public - liste des joueurs connectés aux serveurs DCS (perun)
ADD public - page "le bureau" gérée en dynamique depuis les statuts des membres du bureau
ADD public - affichage des pages dynamiques (CMS)
ADD roster - affichage des pilotes par groupe et par module (dynamique)
ADD admin - interface d'admnistration
ADD admin - administration des joueurs DCS (perun)
ADD admin - administration des utilisateurs du site
ADD admin - interface d'admnistration des pages (CMS)
ADD admin - interface d'admnistration des fichiers (images)
ADD utilisateur - inscription (+ recaptcha)
ADD utilisateur - mot de passe perdu (+ recaptcha), validation par email
ADD utilisateur - interface de connexion / déconnexion
ADD utilisateur - mon profil - gestion de mes modules
ADD dev - script de mise à jour (semi) automatique: ./scripts/upgrade.sh

Côté technologie, je suis resté sur du très répandu:
* Php 7.4 + Symfony 4.4
* Vues en Twig
* et un peu de jQuery pour dynamiser certaines actions
* thèmes à base de bootstrap 4
* thème du site: Cerulean
* thème de l'interface d'administration SB-Admin-2
* Base de données MySQL 5.7 - mais rien n'empêche d'envisager de passer en version 8.0
* Infrastructure propulsée par notre serveur docker1, installé en Linux Debian
* et services containerisés via docker

Les sources du projet sont déposées ici sur notre compte GitHub
et le README.md donne quelques astuces pour commencer à pouvoir contribuer dans son coin.

Le projet utilise des fixtures afin de créer des données exhaustives sur un environnement de développement sans accès à la base de données de prod.

Rating: +2/-0 (Total: 2)


Post by Magicbra

Posted: 2021-02-17T16:23:50.331000

@mitch ça à l'air super sur le papier :) vivement qu'on teste.


Post by Dilixo

Posted: 2021-02-18T11:17:54.246000

Symfony ? :stuck_out_tongue:

C'est une super idée cette intégration ! :+1:


Post by phebus

Posted: 2021-02-18T13:26:25.909000

Super alléchant @Mitch, il me tarde de voir le premier jus.


Post by Mitch

Posted: 2021-02-18T13:35:40.906000

Bon, après un point rapide, on migre le site dans l'après-midi.

Si y'a des choses qui ne vont pas du tout, on pourra les traiter en priorité entre ce soir et demain.

Rating: +2/-0 (Total: 2)


Post by griffin

Posted: 2021-02-18T14:29:19.699000

@mitch top !
Vous avez assez de contenu pour la page d'accueil? Ou pour l'instant on porte l'existante et on l'améliorera plus tard?


Post by Mitch

Posted: 2021-02-18T14:48:19.670000

@griffin la page d'accueil a été sérieusement épurée:

  • un header
  • le logo VEAF
  • les modules utilisés par l'association
  • le lien vers l'EC05
  • une image (pour remplir un peu pour l'instant)

on prendra vos retours pour agrémenter tout ça ;)


Post by griffin

Posted: 2021-02-18T16:02:38.755000

@mitch j'ai vu ça c'est top !
L'ancienne manquait un peu de représentation des aéronefs sur lesquels nous volons

Rating: +1/-0 (Total: 1)