Qu'est ce qui est à la mode en 2019 ?

Qu'est ce qui est à la mode en 2019 ? - HTML/CSS - Programmation

Marsh Posté le 19-02-2019 à 11:32:29    

Bonjour,
 
Cela fait 2 ans que je fais du HTML/CSS ainsi que du JS. J'en ai un peu marre de faire du surplace, mes sites n'ont rien de claquant. Les interfaces sont moches et je n'arrive pas à produire l'effet "waouh". C'est assez frustrant. Avec toutes ces technologies à l'heure actuelle j'ai l'impression de faire du web comme il y a 10 ans... De ce que j'ai lu sur internet, beaucoup ne font plus du tout de HTML5 et passe directement sur des langages de programmation. J'aimerais donc me mettre à jour et utiliser des choses plus modernes et pourquoi pas gagner en efficacité plutôt que de réinventer la roue à chaque fois. Je cherche dans un premier temps à m'améliorer en front end, je verrai le back end plus tard quand j'évoluerai davantage sur l'échange de données.  
 
J'ai entendu parler de frameworks pour le front end tel que Vue.js, React ou Angular mais là je ne vois pas trop à quoi pourraient-ils me servir pour mes projets perso. D'ailleurs j'ai vu que c'était essentiellement pour les applications web... Je fais essentiellement des sites d'informations où il y a pas mal d'interactivité.
J'ai également commencé le PHP il y a quelques jours pour m'ouvrir d'autres horizons et faire des sites multilingue mais là encore j'ai l'impression d'arriver après la bataille face à toutes ces choses.  
 
Je suis perdu et avoir un peu d'aide ne serait pas de refus.
Merci d'avance.  

Reply

Marsh Posté le 19-02-2019 à 11:32:29   

Reply

Marsh Posté le 19-02-2019 à 16:22:47    

Citation :

J'ai également commencé le PHP il y a quelques jours pour m'ouvrir d'autres horizons et faire des sites multilingue mais là encore j'ai l'impression d'arriver après la bataille face à toutes ces choses.  


+ avec Symfony ou Laravel, c'est plus "propre"  :)  

Reply

Marsh Posté le 19-02-2019 à 17:11:12    

Ca serait bien si on pouvait revenir aux sites simples, en pur HTML, qui chargent rapidement, qui n'ont pas besoin de trois tonnes de JS pour fonctionner, qui ne sont pas "optimisés" pour tablette au point d'être beau mais inutilisable/sans vrai contenu. Je peux toujours rêver. :o

Reply

Marsh Posté le 19-02-2019 à 22:41:26    

+1. Les sites qui ne fonctionnent qu'avec du JS et qui ne changent pas d'url quand tu cliques sur un lien mais charge à la volée via Ajax le nouveau contenu, c'est une vraie plaie : impossible de bookmarquer une page précise et pour les personnes malvoyantes, c'est le plus souvent inutilisable  car les logiciels de type lecture d'écran (ex : NVDA) ne sont pas capables de détecter quelle partie de la page a changé. :(
A mon sens, un site devrait fonctionner sans JS au moins pour la navigation de base et les fonctions de base. Le JS devrait être là pour améliorer l'ergonomie et apporter des fonctions supplémentaires mais non primordiales... Mais comme le dit rat de combat, c'est pas pour demain :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 20-02-2019 à 12:06:11    

Si je comprends bien, je devrais donc me concentrer sur ce qui est plus traditionnel et laisser tomber l'idée de me mettre à jour sur les dernières technos ? Ajouter simplement ce qui est essentiel en fait. J'utilise déjà Flexbox pour la mise en page en CSS. Par contre j'ai vu un framework appelé Bootstrap qui a l'air pas mal, qu'en pensez-vous ?
 
Sinon faire au plus simple c'est ce que je fais déjà. Mais par exemple si je veux faire un site multilingue il faudra bien que je passe à quelque chose de plus complet, non ? C'est une des principales choses qui m'intéresserait et j'ai déjà regardé du côté de PHP pour ça mais ça me paraît complexe. De ce que j'ai lu il est aussi recommandé de faire la traduction du contenu depuis le serveur et non depuis le client.

Reply

Marsh Posté le 20-02-2019 à 14:16:20    

Un site multilingues, il faut une techno côté serveur qui remplacera dans les templates les variables de type "message" par leur valeur en fonction de la langue sélectionnée. Les traductions sont stockées dans des fichiers, généralement, un fichier par langue.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 21-02-2019 à 14:12:34    

rufo a écrit :

Un site multilingues, il faut une techno côté serveur qui remplacera dans les templates les variables de type "message" par leur valeur en fonction de la langue sélectionnée. Les traductions sont stockées dans des fichiers, généralement, un fichier par langue.


 
Merci. Il y a-t-il une méthode particulière pour le faire proprement ? J'aimerais que le code ne comporte pas de problèmes de sécurité si possible. PHP a l'air de me convenir pour cette méthode de ce que j'ai vu.
Et pour l'extension des fichiers contenant les traductions, qu'est ce qui est recommandé ? Un fichier .php comme le reste, xml ou autre chose ?

Reply

Marsh Posté le 21-02-2019 à 17:32:53    

Ca va dépendre si tu prends un framework ou pas. Perso, je fais avec des variables dans un fichier php. Ca évite de coder une phase de parsing pour charger le fichier.
Le XML, faudra parser le fichier : ça risque d'être plus long.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 21-02-2019 à 18:06:11    

rufo a écrit :

Ca va dépendre si tu prends un framework ou pas. Perso, je fais avec des variables dans un fichier php. Ca évite de coder une phase de parsing pour charger le fichier.
Le XML, faudra parser le fichier : ça risque d'être plus long.


 
Je me suis renseigné cet après midi et j'ai commencé à faire quelque chose en PHP avec des variables et la fonction define(). J'ai du coup 2 fichiers de langue en PHP ( français et anglais ) et un script qui permet de choisir les fichiers de langues en fonction du choix de l'utilisateur sur la page d'index. Pour le moment ça ne fonctionne pas du tout...

Reply

Marsh Posté le 21-02-2019 à 18:11:47    

Ou la la, surtout pas de constante global definis avec define !
 
Le degré zéro du traductible c'est de charger un csv dans un tableau et d'utiliser ton tableau de trad dans ton template d'affichage
 
fr.csv

Code :
  1. "home_bonjour","Bonjour"
  2. "home_au_revoir","Au revoir"


en.csv

Code :
  1. "home_bonjour","Hello"
  2. "home_au_revoir","Good bye"


template_home.php

Code :
  1. <?php
  2. [...]
  3. echo $t_trad["home_bonjour"].' '.$user['name'];
  4. ?>

Message cité 1 fois
Message édité par mechkurt le 21-02-2019 à 18:12:00

---------------
D3
Reply

Marsh Posté le 21-02-2019 à 18:11:47   

Reply

Marsh Posté le 21-02-2019 à 18:25:25    

mechkurt a écrit :

Ou la la, surtout pas de constante global definis avec define !
 
Le degré zéro du traductible c'est de charger un csv dans un tableau et d'utiliser ton tableau de trad dans ton template d'affichage
 
fr.csv

Code :
  1. "home_bonjour","Bonjour"
  2. "home_au_revoir","Au revoir"


en.csv

Code :
  1. "home_bonjour","Hello"
  2. "home_au_revoir","Good bye"


template_home.php

Code :
  1. <?php
  2. [...]
  3. echo $t_trad["home_bonjour"].' '.$user['name'];
  4. ?>



 
Define n'est pas prévu pour cet effet ? Sinon avec ta méthode des tableaux, est-il possible de faire directement le tableau en php sans importer de fichier CSV ? Je suppose qu'il faudra également une boucle pour le parcourir pour charger les bonnes phrases.

Reply

Marsh Posté le 21-02-2019 à 20:40:13    

Je viens d'essayer la méthode sous forme de tableau et ça marche plutôt bien, merci beaucoup. J'ai donc un fichier fr.php contenant un tableau avec une clé qui correspond à la variable que j'appelle dans l'index et la valeur contient la phrase. Dans l'index j'ai juste un echo $tableau['clé']; à l'emplacement de la phrase.  
Maintenant il ne reste plus qu'à trouver un moyen pour le script permettant de choisir la langue. J'ai vu que les sessions permettent de le faire. Si j'ai bien compris il suffit de créer et initialiser une session, puis en fonction du choix cela ouvre le fichier qu'il faut.

Reply

Marsh Posté le 21-02-2019 à 22:03:58    

Oui, autant faire une variable de type tableau associatif en PHP.
 
@mechkurt : pourquoi utiliser define dans ce contexte serait une chose à ne surtout pas faire ? Parce que charger un csv à chaque affichage de page, c'est pas ce qu'il y a de plus rapide :/ Perso, entre ton csv et define() je trouve que cette dernière méthode est plus efficace.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 22-02-2019 à 16:33:03    

Il se peut que je me trompe mais définir 50 (ou +) constantes pour les textes traductibles du site me semblent un peu overkill...
 
Quand au fait de faire un csv qu'on charges dans un tableau c'est pour faciliter la trad par des organismes tiers.
Et c'est fait en 3 lignes de code :

Code :
  1. $f = fopen('trads/fr.csv', 'r');
  2. while($row = fgetcsv($f, 1024, ';', '"', "\\" )) {
  3.    $t_trad[$row[0]] = $row[1];
  4. }
  5. fclose($f);


---------------
D3
Reply

Marsh Posté le 22-02-2019 à 21:26:21    

Ben ce que tu fais revient au même que définir un tableau associatif en PHP directement. Ca évite la phase de chargement du fichier csv.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 25-02-2019 à 15:07:09    

Bonjour,
 
Je n'ai pas réussi à faire exactement ce que je voulais mais j'ai une autre question que je me pose. Est-il possible de mettre dans un fichier php par exemple le pied de page, le menu etc... Et de faire appel à ces fichiers à chaque fois plutôt que de tout copier coller dans chaque page ? Il y a t-il une manière "propre" de le faire ?  
 
Merci.

Reply

Marsh Posté le 25-02-2019 à 18:43:23    

Oui, via les include(), include_once() ou require.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 26-02-2019 à 16:39:13    

rufo a écrit :

Oui, via les include(), include_once() ou require.


 
Ça fonctionne super bien ! Merci beaucoup. Ça m'évitera de recopier un millier de fois l'entête et le pied de page même si c'est un peu du gâchis de passer en PHP alors que tout mon site est en HTML5 ...


Message édité par elbay le 26-02-2019 à 16:39:57
Reply

Marsh Posté le 26-02-2019 à 19:15:11    

Include() étant une foncito très basique, ça vaudrait peut-être le coup que tu apprennes les bases du PHP (ex : sur OpenClassroom). Tu perdrais moins de temps.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 26-02-2019 à 20:13:59    

rufo a écrit :

Include() étant une foncito très basique, ça vaudrait peut-être le coup que tu apprennes les bases du PHP (ex : sur OpenClassroom). Tu perdrais moins de temps.


 
Oui je suis justement en train de m'y mettre. J'ai vu plus ou moins les trucs de base, tout ce qui est affichage, variable, conditions, fonctions, tableaux... C'est plus ou moins pareil que de nombreux autres langages de programmation, de manière conceptuelle c'est juste la syntaxe qui change. J'ai fais un peu de python auparavant.
Par contre malgré le fait que je connaisse ces choses et mise à part ce qui a été énoncé pour le côté multilingue, je ne vois pas trop comment elles pourraient me servir pour mon site. A vrai dire HTML5 est déjà assez complet. Idem pour le CSS, il y a pas mal de choses et c'est assez simple. Finalement je ne vois pas en quoi PHP pourrait me permettre de remplacer intégralement ces langages, qu'est ce que j'y gagnerais, comment mettre tout cela en place ? Il est très probable que je ne n'y vois pas clair encore mais j'espère avoir des réponses au fil de l'apprentissage. Ça m'a l'air un peu compliqué de faire de la mise en page en PHP.
 

Reply

Marsh Posté le 26-02-2019 à 21:05:48    

HTML5 et css ne sont pas des langages de dév :o C'est juste pour structurer des informations (html) et les mettre en forme (css). PHP permet de générer dynamiquement du HTML et éventuellement css (voire du javascript). La raison est que PHP est un langage côté serveur alors que html, css et javascript sont utilisés côté client. Le côté dynamique côté serveur est justement le concept qui va te permettre de réutiliser du contenu dans plusieurs pages.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 26-02-2019 à 21:06:54    

Bonjour,

 

Tu ne fais pas de mise en page à proprement parlé avec PHP. Cela te sert à créer un site "dynamique", c'est-à-dire un site où l'utilisateur peut interagir et le contenu s'adapte à ses actions.

 

L'exemple le plus répandu, est je pense, la gestion de comptes. Créer un compte sur un site te permet d’accéder à des fonctionnalités spécifiques qui ne peuvent être gérées uniquement par HTML/CSS.

 

PHP est donc souvent utilisé pour communiquer avec une base de données et effectuer des calculs/traitements.
Exemple simple : un calculatrice. En HTML/CSS, l'utilisateur ne peut pas interagir, tu ne peux donc pas créer de calculatrice. Avec le PHP, tu peux demander à l'utilisateur des données que tu vas traiter et donc faire une calculatrice en passant ses données dans des variables et en effectuant des calculs avec les variables.
C'est un peu pour ça que le HTML/CSS ne sont pas considérés comme des vrais langages de programmation, tu ne peux rien traiter, tu peux juste mettre en forme du contenu.

 

Au niveau basique, tu as le PHP qui génère ton contenu HTML, ce contenu HTML peut interagir avec le PHP via les formulaires HTML. Et le PHP peut communiquer avec une base de données en générant des requêtes dans un langage compréhensible par la base de données.

 

Maintenant il faut comprendre l'interface serveur - client. Le client (l'utilisateur) lorsqu'il rentre un lien dans son navigateur va générer une requête qui sera traitée par le serveur. Soit un traitement basique : le serveur renvoie le fichier demandé (généralement un fichier HTML ou une image) soit un traitement plus complexe : le serveur exécute le fichier demandé (fichier PHP par exemple) qui va générer le contenu à renvoyer au client (fichier HTML par exemple).
À partir du fichier HTML renvoyé, le client voit un contenu sur son écran avec lequel il peut interagir soit par un lien soit par un formulaire HTML. Ces deux méthodes vont générer de nouveau une requête qui sera envoyée au serveur et qui de la même manière va renvoyer ou exécuter un fichier.

  

EDIT : grillé, mais je laisse mon message qui est un peu plus détaillé.


Message édité par MaybeEijOrNot le 26-02-2019 à 21:07:43

---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
Reply

Marsh Posté le 27-02-2019 à 21:35:14    

Bonsoir,
 
Je vois, merci beaucoup pour ces éclaircissements. En somme PHP vient compléter HTML et permet de faire ce que ce dernier ne peut pas permettre de faire. Mais les enjeux de sécurité doivent être d'autant plus grand ! Il faut donc bien sécuriser le transit des données, surtout si il y a un accès à une BDD.    
Je ne me sens pas encore prêt pour ça, la route va être longue et sûrement semé d'embûches lors de l'apprentissage. Beaucoup de choses me paraissent encore compliquées.

Reply

Marsh Posté le 24-03-2019 à 14:51:42    

Paul JR a écrit :

Citation :

J'ai également commencé le PHP il y a quelques jours pour m'ouvrir d'autres horizons et faire des sites multilingue mais là encore j'ai l'impression d'arriver après la bataille face à toutes ces choses.  


+ avec Symfony ou Laravel, c'est plus "propre"  :)  


 
Quelle est le meilleur  lavarel ou  Symfony ?

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed