Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1004 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Faire une "belle" programmation en PHP

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

Faire une "belle" programmation en PHP

n°1380897
ForgetTheN​orm
A.A.
Posté le 04-06-2006 à 18:38:08  profilanswer
 

J'ai commencé le PHP comme beaucoup de monde grâce à des sites sur PHPdebutants, ou des sites du genre...
Ensuite, j'ai vu ça dans le cadre de mes études...
La notation qu'utilisent les 2 systèmes n'est pas la même, mais je trouve que le PHP est "laid"...
Pardonnez moi l'expression, par rapport à du C, du JAVA, du LISP, ou plein d'autres langages, je ne lui trouve pas de "belle" construction.
J'ai redécouvert récemment la manière de programmer en SQL, ça a changé beaucoup de choses...
 
Est-ce que vous connaissez des sites qui approfondiraient plus le PHP ?
Afin d'allouer - de désallouer certaines tailles mémoires, d'utiliser des pointeurs, bref.... de "bien" programmer :)
 
 
Merci !
 :bounce:

mood
Publicité
Posté le 04-06-2006 à 18:38:08  profilanswer
 

n°1380912
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 04-06-2006 à 18:49:45  profilanswer
 

un langage qui permet ceci

Citation :


$caca="prout";
$caca += 1;


n'est pas un langage qui permet de "bien" programmer :o
si tu veux faire de la "bonne" programmation web, alors tourne toi vers C#/ASP


---------------
J'ai un string dans l'array (Paris Hilton)
n°1380931
subtil
Posté le 04-06-2006 à 19:04:21  profilanswer
 

j'ai decouvert l'asp 2.0 + C# recemment et franchement je pleure quand je vois tout le temps que j'ai perdu avec PHP a essayer de faire des trucs propres a coup de MVC etc... :p
 
Surtout qu'avec le mod mono tu peux avoir l'hebergement pour pas trop cher.
 
PHP => quick & dirty, faire du propre c'est possible mais c'est pas fait pour ça! :D

n°1380935
masklinn
í dag viðrar vel til loftárása
Posté le 04-06-2006 à 19:09:07  profilanswer
 

Harkonnen a écrit :

si tu veux faire de la "bonne" programmation web, alors tourne toi vers C#/ASP


Beurk :o
 
Mieux vaut faire du Ruby ou du Python :o
 
En plus c'est complètement cross platform sans limitations dues à des implémentations partielles :o

n°1381043
kalex
Posté le 04-06-2006 à 23:16:05  profilanswer
 

Harkonnen a écrit :

un langage qui permet ceci

Citation :


$caca="prout";
$caca += 1;


C'est pas parce que c'est possible qu'il faut le faire. :o
 
Pour répondre au sujet du topic http://classes.scriptsphp.net/ est très enrichissant (et en français !).

n°1381047
masklinn
í dag viðrar vel til loftárása
Posté le 04-06-2006 à 23:28:37  profilanswer
 

kalex a écrit :

C'est pas parce que c'est possible qu'il faut le faire. :o


Ouais enfin un langage qui permet des insanités pareilles sur des trucs aussi basiques on ne peut qu'avoir peur de ses réactions imprévisibles sur des trucs plus complexes :o

n°1381053
dwogsi
Défaillance cérébrale...
Posté le 04-06-2006 à 23:42:38  profilanswer
 

D'ailleurs je me demande depuis un moment qu'elle en est la raison?
J'veux dire, comment se fait-il qu'on en soit arriver à un langage qui permet de pareilles choses?
 
Raisons historiques? Techniques? Autres?

n°1381055
kalex
Posté le 04-06-2006 à 23:50:36  profilanswer
 

dwogsi a écrit :

D'ailleurs je me demande depuis un moment qu'elle en est la raison?
J'veux dire, comment se fait-il qu'on en soit arriver à un langage qui permet de pareilles choses?
 
Raisons historiques? Techniques? Autres?


Ca provient du caractère non typé des variables PHP, c'est un choix fait depuis le départ.
 
edit : Enfin, j'ai parlé un peu vite, c'est plutôt des variables très faiblement typées, car les variables PHP ont bien un type qu'il importe de vérifier dans beaucoup de cas.


Message édité par kalex le 04-06-2006 à 23:55:32
n°1381058
dwogsi
Défaillance cérébrale...
Posté le 04-06-2006 à 23:53:11  profilanswer
 

Pourtant la syntaxe est bien inspirée du C? Ya eu un manque de logique ou pas assez d'inspiration du C à mon sens.

n°1381059
kalex
Posté le 04-06-2006 à 23:58:24  profilanswer
 

PHP est surtout inspiré de Perl (PHP-FI), lui-même inspiré du C.

mood
Publicité
Posté le 04-06-2006 à 23:58:24  profilanswer
 

n°1381060
skelter
Posté le 05-06-2006 à 00:02:25  profilanswer
 

syntaxe c-style, ca veut pas dire que le langage doit etre une copie du C, ni meme inspiré. PHP est interpreté et (tres faiblement) typé dynamiquement, il permet de faire du code "quick and dirty"

n°1381063
dwogsi
Défaillance cérébrale...
Posté le 05-06-2006 à 00:10:50  profilanswer
 

Oui oui bien entendu, je ne dis pas qu'il doit être une copie du C, je dis juste qu'ils auraient peut être pu reprendre les bases de certains langages, a savoir la syntaxe et peut être un meilleur typage.
 
Parce que je trouve que sont plus grand problème c'est de donner la possibilité de faire du code "quick and dirty", ça l'ouvre peut être à un plus large publique mais ce n'est peut être pas une bonne chose pour autant.

n°1381066
skelter
Posté le 05-06-2006 à 00:21:28  profilanswer
 

ca c'est que question de philosophie du langage, et php semble evoluer dans se sens (tout en assurant la retro-compatibilite ?)
et puis php n'a pas le monopole dans son domaine de predilection, tu peux faire un cgi en C ou en Java si tu preferes

n°1381067
kalex
Posté le 05-06-2006 à 00:25:35  profilanswer
 

Je pense que si l'on reste conscient de ce que l'on manipule, l'absence de typage fort de PHP n'est pas un problème. Il impose juste quelques vérifications supplémentaires.

n°1381069
masklinn
í dag viðrar vel til loftárása
Posté le 05-06-2006 à 00:30:19  profilanswer
 

dwogsi a écrit :

Oui oui bien entendu, je ne dis pas qu'il doit être une copie du C, je dis juste qu'ils auraient peut être pu reprendre les bases de certains langages, a savoir la syntaxe et peut être un meilleur typage.


Vu que le C n'est pas typé on peut dire qu'ils ont repris les bases du C [:ddr555]

n°1381097
Hermes le ​Messager
Breton Quiétiste
Posté le 05-06-2006 à 08:59:05  profilanswer
 

kalex a écrit :

Je pense que si l'on reste conscient de ce que l'on manipule, l'absence de typage fort de PHP n'est pas un problème. Il impose juste quelques vérifications supplémentaires.


 
+1
 

n°1381307
ForgetTheN​orm
A.A.
Posté le 05-06-2006 à 14:19:53  profilanswer
 

D'après tout ce que je lis ci-dessus, alors, je n'ai pas l'impression de mal coder en PHP, PHP est construit comme ceci et c'est tout...
Etes vous sûrs qu'on ne peut pas typer ses variables, ni allouer / désallouer un certain espace mémoire, et bosser sur des pointeurs ?
 
Merci pour toutes vos réponses, c cool :)

n°1381312
masklinn
í dag viðrar vel til loftárása
Posté le 05-06-2006 à 14:24:08  profilanswer
 

ForgetTheNorm a écrit :

Etes vous sûrs qu'on ne peut pas typer ses variables


oui, d'autant moins si tu parles de typage explicite à la java.

ForgetTheNorm a écrit :

ni allouer / désallouer un certain espace mémoire, et bosser sur des pointeurs ?


Ca, ce sont pas des moyens de coder proprement, ce sont des moyens de se tirer dans le pied [:pingouino]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1381316
ForgetTheN​orm
A.A.
Posté le 05-06-2006 à 14:30:45  profilanswer
 

masklinn a écrit :

oui, d'autant moins si tu parles de typage explicite à la java.
 
Ca, ce sont pas des moyens de coder proprement, ce sont des moyens de se tirer dans le pied [:pingouino]


 
Bof, je ne suis pas d'accord avec toi... C'est extrêmement pratique pour beaucoup de choses, et j'ai l'impression que les personnes qui ne s'interessent pas assez au sujet ou qui n'ont pas pour priorité d'avoir un code le plus pratique et puissant codé sont rebutées par tout ce qui est pointeur ou allocation de mémoire... D'où l'utilisation de JAVA ou autres qui sont plus lourds en traitement mais dont la machine virtuelle s'occupe de les gérer toute seule.

n°1381325
masklinn
í dag viðrar vel til loftárása
Posté le 05-06-2006 à 14:37:04  profilanswer
 

ForgetTheNorm a écrit :

C'est extrêmement pratique pour beaucoup de choses


Des exemples? La seule chose pour laquelle l'allocation manuelle est pratique c'est créer des memory leaks ou des buffer overflow, à part dans des environnements à très fortes contraintes de perfs/empreinte mémoire les systèmes à allocation automatique & GC sont infiniment plus fiables et moins dangereux.
 
En bonus, quand les GC sont bien optimisés (aussi bien sur l'allocation que sur la désallocation) il a été prouvé qu'ils sont globalement plus rapides que l'allocation manuelle générique [:pingouino] (allocation manuelle générique = quand on ne se fait pas des allocateurs custom)

ForgetTheNorm a écrit :

et j'ai l'impression que les personnes qui ne s'interessent pas assez au sujet ou qui n'ont pas pour priorité d'avoir un code le plus pratique et puissant codé sont rebutées par tout ce qui est pointeur ou allocation de mémoire...


Un code plus pratique?
Un code plus puissant?
C'est une blague?

ForgetTheNorm a écrit :

D'où l'utilisation de JAVA ou autres qui sont plus lourds en traitement mais dont la machine virtuelle s'occupe de les gérer toute seule.


Lisp, Haskell, OCaml ou SML utilisent également un système basé sur un GC, et j'dois dire que les traiter de lourds j'avais encore jamais vu [:pingouino]
 
Faudrait éviter de confondre le fait que Java utilise une VM et un JIT avec le fait qu'il utilise un garbage collector hein, ce sont deux choses complètement séparées et le fait d'en utiliser un n'impose aucunement le fait d'utiliser le second (flash news: il y a des GC pour le C++)

Message cité 1 fois
Message édité par masklinn le 05-06-2006 à 14:37:55

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1381331
0x90
Posté le 05-06-2006 à 14:44:58  profilanswer
 

Harkonnen a écrit :

un langage qui permet ceci

Citation :


$caca="prout";
$caca += 1;


n'est pas un langage qui permet de "bien" programmer :o
si tu veux faire de la "bonne" programmation web, alors tourne toi vers C#/ASP


 
On peut faire moultement pire en python, c'est pas assez représentatif :o
 

masklinn a écrit :


Lisp, Haskell, OCaml ou SML utilisent également un système basé sur un GC, et j'dois dire que les traiter de lourds j'avais encore jamais vu [:pingouino]


 
Lisp est certe conceptuellement simple, mais à l'utilisation il est franchement lourdingue pour la plupart des applications. (par contre il a ses domaines ou il excelle certes, mais c'est assez segmenté ...)


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°1381336
kalex
Posté le 05-06-2006 à 14:49:03  profilanswer
 

ForgetTheNorm a écrit :

D'après tout ce que je lis ci-dessus, alors, je n'ai pas l'impression de mal coder en PHP, PHP est construit comme ceci et c'est tout...
Etes vous sûrs qu'on ne peut pas typer ses variables, ni allouer / désallouer un certain espace mémoire, et bosser sur des pointeurs ?
 
Merci pour toutes vos réponses, c cool :)

Pour forcer le typage d'une variable, tu peux utiliser ce type de mécanisme :

$var = (float) 3;

$var est alors de type float et non int.
 
Pour vérifier un type de variable, il existe les fonctions is_int, is_float, is_string, etc. Ca peut aussi se faire avec les opérateurs de comparaison. Par exemple, en utilisant === au lien de ==, tu compares la valeur ET le type des variables.
 
Ensuite, tu peux utiliser les références (& ) pour optimiser la mémoire.

n°1381338
ForgetTheN​orm
A.A.
Posté le 05-06-2006 à 14:49:30  profilanswer
 

J'utilise tous les langages de programmation (enfin, tous...) dans un cade bien précis de mon travail qui traite de calcul de démonstration automatique, et qui va donc gérer des centaines de variables propositionnelles, qu'il va falloir allouer et désallouer, bouger de tableaux en tableaux, créer des listes, des piles, des liste chainées... Bref un beau bordel où ne pas avoir les pointeurs revient à être obligé de retenir dans des tableaux l'ensemble des variables...
J'ai déjà essayé et c'est horrible à programmer et horrible en gestion de mémoire.
 
Vous avez surement raison qu'en général les GC sont peut-être plus pratiques, mais moi je me cantonne à l'utilisation dans un cas très précis, et pour ça le JAVA ça va 5 min pour faire des interfaces graphiques ou pour voir un petit peu la notion d'objet, mais pas trop non plus....
Voilà pourquoi ma préférence envers le C et ses alloc/désalloc de mémoire :)

n°1381340
0x90
Posté le 05-06-2006 à 14:53:34  profilanswer
 

Quand t'es habitué aux malloc/free de C, tu peut commencer avec un GC par comptage de références. Tu le fais toi même en restant en C, comme ca, ca ne t'es pas trop étranger, et tu te rends vide compte du confort que ca apporte ;)


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°1381353
skelter
Posté le 05-06-2006 à 15:06:34  profilanswer
 

masklinn a écrit :

Vu que le C n'est pas typé on peut dire qu'ils ont repris les bases du C [:ddr555]


 
le C n'est pas typé, c'est nouveau ca ?

n°1381359
0x90
Posté le 05-06-2006 à 15:12:53  profilanswer
 

skelter a écrit :

le C n'est pas typé, c'est nouveau ca ?


 
c'est très discuté/discutable, ca dépends ce que tu recherche dans le typage ou ce que tu veut signifier [:spamafote]


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°1381360
archangel
Un homme Une vision
Posté le 05-06-2006 à 15:13:07  profilanswer
 

Pourquoi veux tu à tout pris allouer désallouer la mémoire ?  :??:
 
Edit : J'avais pas raffraichi la page avant de poster  :o


Message édité par archangel le 05-06-2006 à 15:14:38

---------------
J'suis timide - Prêt à mourir, mais pas à vivre - Je suis vraiement très fatigué ... - more than meets the eye
n°1381365
skelter
Posté le 05-06-2006 à 15:16:39  profilanswer
 

0x90 a écrit :

c'est très discuté/discutable, ca dépends ce que tu recherche dans le typage ou ce que tu veut signifier [:spamafote]


 
le C est typé statiquement, ca c'est un fait, ce qui est discutable c'est de dire que le typage est faible ou fort vu que le langage est permissif sur certain point et rigide sur d'autre

n°1381367
skelter
Posté le 05-06-2006 à 15:18:55  profilanswer
 

Citation :

(flash news: il y a des GC pour le C++)


 
je ne suis pas sur que le C++ ai reellement besoin de gc

n°1381369
0x90
Posté le 05-06-2006 à 15:22:36  profilanswer
 

skelter a écrit :

Citation :

(flash news: il y a des GC pour le C++)


 
je ne suis pas sur que le C++ ai reellement besoin de gc


 
C'est pas tant le langage qui a besoin d'un gc ou non, mais plutot le projet qui utilise le langage, enfin il me semble [:spamafote]
 
( evidement à jamais _vraiment_ besoin de quoique ce soit, c'est une question de confort )


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°1381374
skelter
Posté le 05-06-2006 à 15:25:49  profilanswer
 

oui, mais on peu programmer confortablement en C++ sans gc et sans se faire chier avec l'allocation memoire, par exemple avec les 'smart pointer' et meme les 'pointer contener' de boost
 
edit: extrait de la faq de Stroustrup
 

Citation :

Also, C++ supports programming techniques that allows memory management to be safe and implicit without a garbage collector.

Message cité 1 fois
Message édité par skelter le 05-06-2006 à 15:28:47
n°1381379
masklinn
í dag viðrar vel til loftárása
Posté le 05-06-2006 à 15:39:04  profilanswer
 

0x90 a écrit :

On peut faire moultement pire en python, c'est pas assez représentatif :o


Heuu non [:pingouino]
 
Ou alors j'veux un exemple de "moultement pire" [:pingouino]

0x90 a écrit :

Lisp est certe conceptuellement simple, mais à l'utilisation il est franchement lourdingue pour la plupart des applications. (par contre il a ses domaines ou il excelle certes, mais c'est assez segmenté ...)


[:petrus dei]
 
Je parlais de la lourdeur des applis hein, et il existe des compilateurs pour Lisp, haskell ou les ML quand à eux sont principalement utilisés sous forme compilée

skelter a écrit :

Citation :

(flash news: il y a des GC pour le C++)


 
je ne suis pas sur que le C++ ai reellement besoin de gc


J'pense qu'on s'en fout hein, d'autres ont décidé qu'ils voulaient des GC en C++ et les ont implémenté, c'est tout, si t'en veux pas tu les utilises pas [:spamafote]  

skelter a écrit :

oui, mais on peu programmer confortablement en C++ sans gc et sans se faire chier avec l'allocation memoire, par exemple avec les 'smart pointer' et meme les 'pointer contener' de boost


http://en.wikipedia.org/wiki/Smart_pointers
 
Les smart pointers c'est une forme de garbage collection automatique :whistle:  

skelter a écrit :

edit: extrait de la faq de Stroustrup
 

Citation :

Also, C++ supports programming techniques that allows memory management to be safe and implicit without a garbage collector.



Ouais grâce à ça les applis C++ n'ont jamais de memleaks... oh wait [:totoz]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1381389
skelter
Posté le 05-06-2006 à 15:44:02  profilanswer
 

masklinn a écrit :


Ouais grâce à ça les applis C++ n'ont jamais de memleaks... oh wait [:totoz]


 
moi j'aimerais bien voir le code de ces applis  :), serieusement tu as un exemple de code ecrit en C++ 'safe' et raisonnable (pas du c with class) qui leak ?

n°1381396
0x90
Posté le 05-06-2006 à 15:51:51  profilanswer
 

masklinn a écrit :

Heuu non [:pingouino]
 
Ou alors j'veux un exemple de "moultement pire" [:pingouino]


 
Une classe avec des attributs flous ca te dis ? :p
 

Code :
  1. #!/usr/bin/env python
  2. import Levenshtein
  3.  
  4. class LevenKlass(type):
  5.         
  6.     def __init__(cls, name, bases, dict):
  7.         super(LevenKlass, cls).__init__(name, bases, dict)
  8.         def defaulter(inst,name):
  9.             max = 0
  10.             for item in inst.__dict__:
  11.                 diff = Levenshtein.jaro(item,name)
  12.                 if diff > max:
  13.                     selected = item
  14.                     max = diff
  15.             try:
  16.                 return getattr(inst,selected)
  17.             except UnboundLocalError:
  18.                 raise AttributeError
  19.  
  20.         setattr(cls, '__getattr__', defaulter)
  21.  
  22.  
  23. class levenish(object):
  24.     __metaclass__ = LevenKlass


le tout dans un levenish.py


Python 2.4.3 (#1, May 12 2006, 21:21:47)  
[GCC 3.4.6 (Gentoo 3.4.6-r1, ssp-3.4.5-1.0, pie-8.7.9)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from levenish import *
>>> lala = levenish()
>>> lala.caca = "pwet"
>>> print lala.coca
pwet
>>> lala.coco = "coin"
>>> print lala.coca
coin


 


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°1381403
masklinn
í dag viðrar vel til loftárása
Posté le 05-06-2006 à 16:02:06  profilanswer
 

0x90 a écrit :

Une classe avec des attributs flous ca te dis ? :p


Super, tu peux faire ça dans tous les langages gérant les propriétés hein, y compris en C# [:pingouino]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1381422
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 05-06-2006 à 16:24:43  profilanswer
 

mon troll a pris \o/


---------------
J'ai un string dans l'array (Paris Hilton)
n°1381465
0x90
Posté le 05-06-2006 à 17:08:11  profilanswer
 

masklinn a écrit :

Super, tu peux faire ça dans tous les langages gérant les propriétés hein, y compris en C# [:pingouino]


 
C'est ce que je voulais signifier, on peut avoir de mauvaises idées et les mettre en pratique dans beaucoup de langages [:spamafote] (ca ne visait pas python en particulier)


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°1381477
Woutcha
Posté le 05-06-2006 à 17:15:06  profilanswer
 

Harkonnen a écrit :

mon troll a pris \o/


 
Il a pris et il est en train de devenir gros et gras a force d'etre nourri par tout le monde   :D  

n°1381485
masklinn
í dag viðrar vel til loftárása
Posté le 05-06-2006 à 17:21:21  profilanswer
 

0x90 a écrit :

C'est ce que je voulais signifier, on peut avoir de mauvaises idées et les mettre en pratique dans beaucoup de langages [:spamafote] (ca ne visait pas python en particulier)


Oui mais non, là je te signale quand même que tu as du passer par les propriétés, get/setattr et les métaclasses, un débutant ne va pas réussir à se tirer dans le pied comme ça parce qu'il ne connaîtra ni ne saura utiliser ces fonctionalités [:spamafote]  
 
Je suis parfaitement au courant que plus ce que le langage fournit est puissant plus c'est risqué et ça peut être abusé, mais avec le PHP ça te pète à la gueule au niveau le plus basique [:spamafote]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1381496
0x90
Posté le 05-06-2006 à 17:27:38  profilanswer
 

masklinn a écrit :

Oui mais non, là je te signale quand même que tu as du passer par les propriétés, get/setattr et les métaclasses, un débutant ne va pas réussir à se tirer dans le pied comme ça parce qu'il ne connaîtra ni ne saura utiliser ces fonctionalités [:spamafote]  
 
Je suis parfaitement au courant que plus ce que le langage fournit est puissant plus c'est risqué et ça peut être abusé, mais avec le PHP ça te pète à la gueule au niveau le plus basique [:spamafote]


 
tootafay d'accord :jap:


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Faire une "belle" programmation en PHP

 

Sujets relatifs
Bluetooth et programmation[PHP] [URL Rewriting] Faire une recherche dans une DB ?
PHP Nuked Klandebugger (tracer) des script PHP
caractère speciaux, lien PHPInsérer un tableau dans un post de forum PHP ?
Suivi des modifs successives code source PHP[PHP] probleme fsockopen
Menu JS dans PHP (relou)Php : convertir chaine de caractère
Plus de sujets relatifs à : Faire une "belle" programmation en PHP


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR