Maison > php教程 > PHP开发 > le corps du texte

Validité de la session PHP session.gc_maxlifetime

高洛峰
Libérer: 2016-12-24 09:21:19
original
1400 Les gens l'ont consulté

Une méthode efficace connue consiste à utiliser session_set_save_handler pour prendre en charge tout le travail de gestion de session. Généralement, les informations de session sont stockées dans la base de données, de sorte que toutes les sessions expirées puissent être supprimées via des instructions SQL et que la période de validité de la session puisse être supprimée. contrôlé avec précision. C’est également une méthode couramment utilisée pour les grands sites Web basés sur PHP. Cependant, pour les petits sites Web ordinaires, il ne semble pas nécessaire de travailler aussi dur.
Mais la Session générale a une durée de vie limitée Si l'utilisateur ferme le navigateur, les variables de Session ne peuvent pas être enregistrées ! Alors, comment pouvons-nous atteindre la durée de vie permanente de Session ?
Comme nous le savons tous, la session est stockée côté serveur. Le fichier de l'utilisateur est obtenu en fonction du SessionID fourni par le client, puis le fichier est lu pour obtenir la valeur de la variable. le Cookie du client ou le Query_String du protocole Http1.1 (c'est-à-dire (la partie après le "?" dans l'URL accédée) est transmis au serveur, puis le serveur lit le répertoire de la Session...
Pour réaliser la durée de vie permanente de la Session, vous devez d'abord comprendre les paramètres pertinents de la Session dans php.ini (ouvrez le fichier php.ini, dans la section "[Session]") :
1. La valeur par défaut est "1", ce qui signifie que le SessionID est transmis par Cookie, sinon il est transmis par Query_String
2 session.name : Il s'agit du nom de variable stocké dans SessionID, qui peut être transmis par Cookie ou. Query_String. La valeur par défaut est "PHPSESSID" ;
3. session.cookie_lifetime : Cela représente l'heure à laquelle SessionID est stocké dans le cookie client, ce qui signifie que le SessionID sera invalidé dès que le navigateur. le ferme... C'est pour cette raison que la Session ne peut pas être utilisée en permanence !
4. session.gc_maxlifetime : C'est l'heure à laquelle les données de session sont stockées côté serveur. Si cette durée est dépassée, les données de session seront automatiquement supprimées !
Il existe de nombreux autres paramètres, mais ce sont ceux liés à cet article. Commençons par les principes et les étapes d'utilisation de la session permanente.
Comme mentionné précédemment, le serveur lit les données de session via SessionID, mais généralement l'ID de session envoyé par le navigateur disparaît après la fermeture du navigateur, il nous suffit donc de définir manuellement l'ID de session et de l'enregistrer, non...
Si vous disposez de l'autorité d'exploitation du serveur, la configuration est très, très simple. Il vous suffit d'effectuer les étapes suivantes :
1. Définissez "session.use_cookies" sur 1 et activez Cookie pour stocker l'ID de session, mais la valeur par défaut est 1. , généralement pas besoin de modifier ;
2. Remplacez "session.cookie_lifetime" par l'infini positif (bien sûr, il n'y a pas de paramètre pour l'infini positif, mais il n'y a pas de différence entre 999999999 et l'infini positif) ;
3. Définir "session.gc_maxlifetime" C'est la même heure que "session.cookie_lifetime"
Il est clairement indiqué dans la documentation PHP que le paramètre pour définir la période de validité de la session est session.gc_maxlifetime. Ce paramètre peut être modifié dans le fichier php.ini ou via la fonction ini_set(). Le problème est qu'après de nombreux tests, la modification de ce paramètre n'a pratiquement aucun effet et la durée de validité de la session reste à la valeur par défaut de 24 minutes.
En raison du mécanisme de fonctionnement de PHP, il ne dispose pas de thread démon pour analyser régulièrement les informations de session et déterminer si elles sont invalides. Lorsqu'une requête valide se produit, PHP décidera de démarrer un GC (Garbage Collector) en fonction de la valeur de la variable globale session.gc_probability/session.gc_divisor (qui peut également être modifiée via la fonction php.ini ou ini_set()) .
Par défaut, session.gc_probability = 1, session.gc_divisor = 100, ce qui signifie qu'il y a une probabilité de 1 % que GC soit démarré. Le travail du GC consiste à analyser toutes les informations de session, à soustraire l'heure de la dernière modification (date de modification) de la session de l'heure actuelle et à la comparer avec le paramètre session.gc_maxlifetime. Si le temps de survie a dépassé gc_maxlifetime, la session le fera. être supprimé.
Jusqu'à présent, tout fonctionne bien. Alors pourquoi gc_maxlifetime devient-il invalide ?
Par défaut, les informations de session seront enregistrées dans le répertoire de fichiers temporaires du système sous forme de fichiers texte. Sous Linux, ce chemin est généralement tmp, et sous Windows, il s'agit généralement de C:WindowsTemp. Lorsqu'il y a plusieurs applications PHP sur le serveur, elles enregistreront leurs fichiers de session dans le même répertoire. De même, ces applications PHP démarreront également GC avec une certaine probabilité et analyseront tous les fichiers de session.
Le problème est que lorsque GC fonctionne, il ne fait pas la distinction entre les sessions sur différents sites. Par exemple, le gc_maxlifetime du site A est défini sur 2 heures et le gc_maxlifetime du site B est défini sur 24 minutes par défaut. Lorsque le GC du site B démarre, il analyse le répertoire public des fichiers temporaires et supprime tous les fichiers de session datant de plus de 24 minutes, qu'ils proviennent du site A ou B. De cette façon, le paramètre gc_maxlifetime du site A est inutile.
Une fois que vous avez trouvé le problème, il est facile de le résoudre. Modifiez le paramètre session.save_path ou utilisez la fonction session_save_path() pour pointer le répertoire où la session est enregistrée vers un répertoire dédié. Le paramètre gc_maxlifetime fonctionne normalement.
À proprement parler, c'est un bug de PHP ?
Un autre problème est que gc_maxlifetime ne peut garantir que la durée de survie de la session la plus courte et ne peut pas être enregistrée. Passé ce délai, les informations de session seront immédiatement supprimées. Étant donné que GC est démarré sur la base d'une probabilité et peut ne pas être démarré avant une longue période, un grand nombre de sessions seront toujours valides après avoir dépassé gc_maxlifetime.
Une façon de résoudre ce problème est d'augmenter la probabilité de session.gc_probability/session.gc_divisor S'il est mentionné à 100%, ce problème sera complètement résolu, mais il aura évidemment un impact sérieux sur les performances. Une autre méthode consiste à déterminer la durée de vie de la session en cours dans votre code. Si elle dépasse gc_maxlifetime, effacez la session en cours.
Mais si vous n'avez pas l'autorisation d'utiliser le serveur, ce sera plus gênant. Vous devrez réécrire le SessionID via le programme PHP pour obtenir un stockage permanent des données de session. Consultez le manuel des fonctions de php.net et vous pouvez voir la fonction "session_id": si aucun paramètre n'est défini, le SessionID actuel sera renvoyé. Si les paramètres sont définis, le SessionID actuel sera défini sur la valeur donnée.
Tant que vous utilisez un cookie permanent et ajoutez la fonction "session_id", vous pouvez enregistrer les données de session permanentes !
Mais pour plus de commodité, nous devons connaître le "session.name" défini par le serveur, mais la plupart des utilisateurs n'ont pas la permission de visualiser les paramètres php.ini du serveur. Cependant, PHP fournit une très bonne fonction "phpinfo". ", qui peut être utilisé pour afficher presque toutes les informations PHP !
-------------------------------------------------------------- --- ----------------------------------------------------
Informations relatives à PHP afficher< /titre> <br><?phpinfo()?> <br>----------------------------- -- ------------------------------------------------ -- -- <br>Ouvrez l'éditeur, entrez le code ci-dessus, puis exécutez le programme dans le navigateur, vous verrez des informations relatives à PHP (comme le montre la figure 1). Il existe un paramètre "session.name", qui est le serveur "session.name" dont nous avons besoin, généralement "PHPSESSID". <br>Après avoir noté le nom du SessionID, nous pouvons réaliser un stockage permanent des données de session ! <br>Le code est le suivant : </p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">session_start(); ini_set(&#39;session.save_path&#39;,&#39;/tmp/&#39;); //6个钟头 ini_set(&#39;session.gc_maxlifetime&#39;,21600); //保存一天 $lifeTime = 24 * 3600; setcookie(session_name(), session_id(), time() + $lifeTime, "/");</pre><div class="contentsignin">Copier après la connexion</div></div><p>Post-scriptum : <br/>En fait, un véritable stockage permanent est impossible car la durée de stockage des cookies est limitée et l'espace serveur est également limité... Mais pour certaines choses qui doivent être sauvegardées Pour les sites plus longs, la méthode ci-dessus suffit ! <br/>Mettre la session dans mysql Exemple : <br/>Créer une table dans la base de données : session (sesskey varchar32, expiry int11, value longtext) <br/>code : <br/>La base de données a été connectée avant l'exécution du code. <br/>Le code est le suivant : </p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">define(&#39;STORE_SESSIONS&#39;,&#39;mysql&#39;); if (STORE_SESSIONS == &#39;mysql&#39;) { if (!$SESS_LIFE = get_cfg_var(&#39;session.gc_maxlifetime&#39;)) { $SESS_LIFE = 1440; } function _sess_open($save_path, $session_name) { // 如果没有连接数据库,可以在此执行mysql_pconnect,mysql_select_db return true; } function _sess_close() { return true; } function _sess_read($key) { $value_query = mysql_query("select value from sessions where sesskey = &#39;" .addslashes($key) . "&#39; and expiry > &#39;" . time() . "&#39;"); $value = mysql_fetch_array($value_query); if (isset($value[&#39;value&#39;])) { return $value[&#39;value&#39;]; } return false; } function _sess_write($key, $val) { global $SESS_LIFE; $expiry = time() + $SESS_LIFE; $value = $val; $check_query = mysql_query("select count(*) as total from sessions where sesskey = &#39;" . addslashes($key) . "&#39;"); $check = mysql_fetch_array($check_query); if ($check[&#39;total&#39;] > 0) { return mysql_query("update sessions set expiry = &#39;" . addslashes($expiry) . "&#39;, value = &#39;" . addslashes($value) . "&#39; where sesskey = &#39;" . addslashes($key) . "&#39;"); } else { return mysql_query("insert into sessions values (&#39;" . addslashes($key) . "&#39;, &#39;" . addslashes($expiry) . "&#39;, &#39;" . addslashes($value) . "&#39;)"); } } function _sess_destroy($key) { return mysql_query("delete from sessions where sesskey = &#39;" . addslashes($key) . "&#39;"); } function _sess_gc($maxlifetime) { mysql_query("delete from sessions where expiry < &#39;" . time() . "&#39;"); return true; } session_set_save_handler(&#39;_sess_open&#39;, &#39;_sess_close&#39;, &#39;_sess_read&#39;, &#39;_sess_write&#39;, &#39;_sess_destroy&#39;, &#39;_sess_gc&#39;); } danoo_session_name( &#39;dtvSid&#39; ); danoo_session_save_path(SESSION_WRITE_DIRECTORY);</pre><div class="contentsignin">Copier après la connexion</div></div><p>Je ne comprends toujours pas d'où viennent les paramètres open et write. <br>Deux fonctions couramment utilisées pour modifier la configuration de php.ini : <br>get_cfg_var('session.gc_maxlifetime') : récupère la valeur de session.gc_maxlifetime <br>ini_set('session.cookie_lifetime','0') : définit session La valeur de .cookie_lifetime est 0. </p> <p>Pour plus d'articles sur la période de validité de la session PHP session.gc_maxlifetime, veuillez faire attention au site Web PHP chinois ! </p> </div> </div> <div style="height: 25px;"> <div class="wzconBq" style="display: inline-flex;"> <span>Étiquettes associées:</span> <div class="wzcbqd"> <a onclick="hits_log(2,'www',this);" href-data="http://www.php.cn/fr/search?word=phpsession有效期" target="_blank">PHP session 有效期</a> </div> </div> <div style="display: inline-flex;float: right; color:#333333;">source:php.cn</div> </div> <div class="wzconOtherwz"> <a href="http://www.php.cn/fr/faq/346398.html" title="Comment définir avec précision le délai d'expiration de la session en php"> <span>Article précédent:Comment définir avec précision le délai d'expiration de la session en php</span> </a> <a href="http://www.php.cn/fr/faq/346400.html" title="Explication détaillée de l'utilisation de la session en PHP Page 1/2"> <span>Article suivant:Explication détaillée de l'utilisation de la session en PHP Page 1/2</span> </a> </div> <div class="wzconShengming"> <div class="bzsmdiv">Déclaration de ce site Web</div> <div>Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn</div> </div> <div class="wwads-cn wwads-horizontal" data-id="156" style="max-width:955px"></div> <div class="wzconZzwz"> <div class="wzconZzwztitle">Derniers articles par auteur</div> <ul> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="http://www.php.cn/fr/faq/354750.html">Exemples de paramètres HTML pour les effets de police gras, italique, souligné, barré et autres</a> </div> <div>1970-01-01 08:00:00</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="http://www.php.cn/fr/faq/338018.html">实现一个 Java 版的 Redis</a> </div> <div>1970-01-01 08:00:00</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="http://www.php.cn/fr/faq/353509.html">La démo d'applet WeChat la plus simple</a> </div> <div>1970-01-01 08:00:00</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="http://www.php.cn/fr/faq/356272.html">Introduction aux méthodes de fonctionnement simples de pandas.DataFrame (créer, indexer, ajouter et supprimer) en python</a> </div> <div>1970-01-01 08:00:00</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="http://www.php.cn/fr/faq/354839.html">WeChat Mini Program : Exemple de mise en œuvre de l'effet d'onglets</a> </div> <div>1970-01-01 08:00:00</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="http://www.php.cn/fr/faq/354423.html">Python construit des méthodes personnalisées pour embellir la sortie de la structure du dictionnaire</a> </div> <div>1970-01-01 08:00:00</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="http://www.php.cn/fr/faq/350853.html">HTML5 : utilisez Canvas pour traiter la vidéo en temps réel</a> </div> <div>1970-01-01 08:00:00</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="http://www.php.cn/fr/faq/346502.html">Asp.net utilise SignalR pour envoyer des images</a> </div> <div>1970-01-01 08:00:00</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="http://www.php.cn/fr/faq/354842.html">Tutoriel de développement de programmes WeChat Mini-App() et Page() Présentation des fonctions</a> </div> <div>1970-01-01 08:00:00</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="http://www.php.cn/fr/faq/356574.html">Explication détaillée de l'utilisation de Python Redis</a> </div> <div>1970-01-01 08:00:00</div> </li> </ul> </div> <div class="wzconZzwz"> <div class="wzconZzwztitle">Derniers numéros</div> <div class="wdsyContent"> <div class="wdsyConDiv flexRow wdsyConDiv1"> <div class="wdcdContent flexColumn"> <a href="http://www.php.cn/fr/wenda/176123.html" target="_blank" title="Choisissez l'architecture d'application appropriée pour gérer les jetons de support" class="wdcdcTitle">Choisissez l'architecture d'application appropriée pour gérer les jetons de support</a> <a href="http://www.php.cn/fr/wenda/176123.html" class="wdcdcCons">Je souhaite utiliser une API qui utilise OAuth2.0. Bref, je dois obtenir un jeton d'accès ...</a> <div class="wdcdcInfo flexRow"> <div class="wdcdcileft"> <span class="wdcdciSpan"> Depuis 2024-04-04 08:55:57</span> </div> <div class="wdcdciright flexRow"> <div class="wdcdcirdz flexRow ira"> <b class="wdcdcirdzi"></b>0 </div> <div class="wdcdcirpl flexRow ira"><b class="wdcdcirpli"></b>1</div> <div class="wdcdcirwatch flexRow ira"><b class="wdcdcirwatchi"></b>353</div> </div> </div> </div> </div> <div class="wdsyConLine wdsyConLine2"></div> <div class="wdsyConDiv flexRow wdsyConDiv1"> <div class="wdcdContent flexColumn"> <a href="http://www.php.cn/fr/wenda/176081.html" target="_blank" title="Problème d'installation de Prestashop : Impossible d'installer le module personnalisé" class="wdcdcTitle">Problème d'installation de Prestashop : Impossible d'installer le module personnalisé</a> <a href="http://www.php.cn/fr/wenda/176081.html" class="wdcdcCons">Je suis nouveau dans le développement de modules Prestashop. J'essaie de créer le premier ...</a> <div class="wdcdcInfo flexRow"> <div class="wdcdcileft"> <span class="wdcdciSpan"> Depuis 2024-04-03 19:24:44</span> </div> <div class="wdcdciright flexRow"> <div class="wdcdcirdz flexRow ira"> <b class="wdcdcirdzi"></b>0 </div> <div class="wdcdcirpl flexRow ira"><b class="wdcdcirpli"></b>1</div> <div class="wdcdcirwatch flexRow ira"><b class="wdcdcirwatchi"></b>402</div> </div> </div> </div> </div> <div class="wdsyConLine wdsyConLine2"></div> <div class="wdsyConDiv flexRow wdsyConDiv1"> <div class="wdcdContent flexColumn"> <a href="http://www.php.cn/fr/wenda/175820.html" target="_blank" title="Comment permettre aux utilisateurs de télécharger ou de modifier des images sur une page et de les afficher sur une autre page ?" class="wdcdcTitle">Comment permettre aux utilisateurs de télécharger ou de modifier des images sur une page et de les afficher sur une autre page ?</a> <a href="http://www.php.cn/fr/wenda/175820.html" class="wdcdcCons">Comment permettre aux utilisateurs de télécharger des images sur une page, puis de les aff...</a> <div class="wdcdcInfo flexRow"> <div class="wdcdcileft"> <span class="wdcdciSpan"> Depuis 2024-04-01 18:33:31</span> </div> <div class="wdcdciright flexRow"> <div class="wdcdcirdz flexRow ira"> <b class="wdcdcirdzi"></b>0 </div> <div class="wdcdcirpl flexRow ira"><b class="wdcdcirpli"></b>1</div> <div class="wdcdcirwatch flexRow ira"><b class="wdcdcirwatchi"></b>332</div> </div> </div> </div> </div> <div class="wdsyConLine wdsyConLine2"></div> <div class="wdsyConDiv flexRow wdsyConDiv1"> <div class="wdcdContent flexColumn"> <a href="http://www.php.cn/fr/wenda/175665.html" target="_blank" title="Le courrier PHP envoie un e-mail vide" class="wdcdcTitle">Le courrier PHP envoie un e-mail vide</a> <a href="http://www.php.cn/fr/wenda/175665.html" class="wdcdcCons">Je suis similaire à php et je ne comprends pas où réside le problème. Parfois, la fonction...</a> <div class="wdcdcInfo flexRow"> <div class="wdcdcileft"> <span class="wdcdciSpan"> Depuis 2024-03-31 15:44:07</span> </div> <div class="wdcdciright flexRow"> <div class="wdcdcirdz flexRow ira"> <b class="wdcdcirdzi"></b>0 </div> <div class="wdcdcirpl flexRow ira"><b class="wdcdcirpli"></b>1</div> <div class="wdcdcirwatch flexRow ira"><b class="wdcdcirwatchi"></b>338</div> </div> </div> </div> </div> <div class="wdsyConLine wdsyConLine2"></div> </div> </div> <div class="wzconZt" > <div class="wzczt-title"> <div>Rubriques connexes</div> <a href="http://www.php.cn/fr/faq/zt" target="_blank">Plus> </a> </div> <div class="wzcttlist"> <ul> <li class="ul-li"> <a target="_blank" href="http://www.php.cn/fr/faq/pythonremkyf"><img src="https://img.php.cn/upload/subject/202407/22/2024072214112188690.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="Python concernant l'utilisation du module" /> </a> <a target="_blank" href="http://www.php.cn/fr/faq/pythonremkyf" class="title-a-spanl" title="Python concernant l'utilisation du module"><span>Python concernant l'utilisation du module</span> </a> </li> <li class="ul-li"> <a target="_blank" href="http://www.php.cn/fr/faq/matlabxgzbff"><img src="https://img.php.cn/upload/subject/202407/22/2024072213360975176.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="Comment modifier les coordonnées dans matlab" /> </a> <a target="_blank" href="http://www.php.cn/fr/faq/matlabxgzbff" class="title-a-spanl" title="Comment modifier les coordonnées dans matlab"><span>Comment modifier les coordonnées dans matlab</span> </a> </li> <li class="ul-li"> <a target="_blank" href="http://www.php.cn/fr/faq/aliicon"><img src="https://img.php.cn/upload/subject/202407/22/2024072214424690452.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="Icône Ali" /> </a> <a target="_blank" href="http://www.php.cn/fr/faq/aliicon" class="title-a-spanl" title="Icône Ali"><span>Icône Ali</span> </a> </li> <li class="ul-li"> <a target="_blank" href="http://www.php.cn/fr/faq/centos7gbfhq"><img src="https://img.php.cn/upload/subject/202407/22/2024072214241338931.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="centos7 fermer le pare-feu" /> </a> <a target="_blank" href="http://www.php.cn/fr/faq/centos7gbfhq" class="title-a-spanl" title="centos7 fermer le pare-feu"><span>centos7 fermer le pare-feu</span> </a> </li> <li class="ul-li"> <a target="_blank" href="http://www.php.cn/fr/faq/convertmlyf"><img src="https://img.php.cn/upload/subject/202407/22/2024072213545599285.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="convertir l'utilisation de la commande" /> </a> <a target="_blank" href="http://www.php.cn/fr/faq/convertmlyf" class="title-a-spanl" title="convertir l'utilisation de la commande"><span>convertir l'utilisation de la commande</span> </a> </li> <li class="ul-li"> <a target="_blank" href="http://www.php.cn/fr/faq/appendyf"><img src="https://img.php.cn/upload/subject/202407/22/2024072213545365794.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="ajouter l'utilisation" /> </a> <a target="_blank" href="http://www.php.cn/fr/faq/appendyf" class="title-a-spanl" title="ajouter l'utilisation"><span>ajouter l'utilisation</span> </a> </li> <li class="ul-li"> <a target="_blank" href="http://www.php.cn/fr/faq/cpufanerror"><img src="https://img.php.cn/upload/subject/202407/22/2024072213524978505.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="Comment résoudre l'erreur du ventilateur du processeur" /> </a> <a target="_blank" href="http://www.php.cn/fr/faq/cpufanerror" class="title-a-spanl" title="Comment résoudre l'erreur du ventilateur du processeur"><span>Comment résoudre l'erreur du ventilateur du processeur</span> </a> </li> <li class="ul-li"> <a target="_blank" href="http://www.php.cn/fr/faq/restapihapidq"><img src="https://img.php.cn/upload/subject/202407/22/2024072213410853258.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="La différence entre l'API de repos et l'API" /> </a> <a target="_blank" href="http://www.php.cn/fr/faq/restapihapidq" class="title-a-spanl" title="La différence entre l'API de repos et l'API"><span>La différence entre l'API de repos et l'API</span> </a> </li> </ul> </div> </div> </div> </div> <div class="phpwzright"> <div class="wzrOne"> <div class="wzroTitle">Recommandations populaires</div> <div class="wzroList"> <ul> </ul> </div> </div> <script src="https://sw.php.cn/hezuo/cac1399ab368127f9b113b14eb3316d0.js" type="text/javascript"></script> <div class="wzrThree"> <div class="wzrthree-title"> <div>Tutoriels populaires</div> <a target="_blank" href="http://www.php.cn/fr/course.html">Plus> </a> </div> <div class="wzrthreelist swiper2"> <div class="wzrthreeTab swiper-wrapper"> <div class="check tabdiv swiper-slide" data-id="one">Tutoriels associés <div></div></div> <div class="tabdiv swiper-slide" data-id="two">Recommandations populaires<div></div></div> <div class="tabdiv swiper-slide" data-id="three">Derniers cours<div></div></div> </div> <ul class="one"> <li> <a target="_blank" href="http://www.php.cn/fr/course/812.html" title="Le dernier didacticiel vidéo ThinkPHP 5.1 en première mondiale (60 jours pour devenir un expert PHP en ligne)" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/041/620debc3eab3f377.jpg" alt="Le dernier didacticiel vidéo ThinkPHP 5.1 en première mondiale (60 jours pour devenir un expert PHP en ligne)"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Le dernier didacticiel vidéo ThinkPHP 5.1 en première mondiale (60 jours pour devenir un expert PHP en ligne)" href="http://www.php.cn/fr/course/812.html">Le dernier didacticiel vidéo ThinkPHP 5.1 en première mondiale (60 jours pour devenir un expert PHP en ligne)</a> <div class="wzrthreerb"> <div>1418682 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="812"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="http://www.php.cn/fr/course/74.html" title="Premier tutoriel d'introduction à PHP : Apprenez PHP en une semaine" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/6253d1e28ef5c345.png" alt="Premier tutoriel d'introduction à PHP : Apprenez PHP en une semaine"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Premier tutoriel d'introduction à PHP : Apprenez PHP en une semaine" href="http://www.php.cn/fr/course/74.html">Premier tutoriel d'introduction à PHP : Apprenez PHP en une semaine</a> <div class="wzrthreerb"> <div>4260229 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="74"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="http://www.php.cn/fr/course/286.html" title="Tutoriel vidéo JAVA pour débutants" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/62590a2bacfd9379.png" alt="Tutoriel vidéo JAVA pour débutants"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Tutoriel vidéo JAVA pour débutants" href="http://www.php.cn/fr/course/286.html">Tutoriel vidéo JAVA pour débutants</a> <div class="wzrthreerb"> <div>2495814 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="286"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="http://www.php.cn/fr/course/504.html" title="Tutoriel vidéo d'introduction base zéro à l'apprentissage de Python de Little Turtle" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/62590a67ce3a6655.png" alt="Tutoriel vidéo d'introduction base zéro à l'apprentissage de Python de Little Turtle"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Tutoriel vidéo d'introduction base zéro à l'apprentissage de Python de Little Turtle" href="http://www.php.cn/fr/course/504.html">Tutoriel vidéo d'introduction base zéro à l'apprentissage de Python de Little Turtle</a> <div class="wzrthreerb"> <div>504748 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="504"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="http://www.php.cn/fr/course/2.html" title="Tutoriel d'introduction PHP base zéro" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/6253de27bc161468.png" alt="Tutoriel d'introduction PHP base zéro"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Tutoriel d'introduction PHP base zéro" href="http://www.php.cn/fr/course/2.html">Tutoriel d'introduction PHP base zéro</a> <div class="wzrthreerb"> <div>859739 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="2"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> </ul> <ul class="two" style="display: none;"> <li> <a target="_blank" href="http://www.php.cn/fr/course/812.html" title="Le dernier didacticiel vidéo ThinkPHP 5.1 en première mondiale (60 jours pour devenir un expert PHP en ligne)" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/041/620debc3eab3f377.jpg" alt="Le dernier didacticiel vidéo ThinkPHP 5.1 en première mondiale (60 jours pour devenir un expert PHP en ligne)"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Le dernier didacticiel vidéo ThinkPHP 5.1 en première mondiale (60 jours pour devenir un expert PHP en ligne)" href="http://www.php.cn/fr/course/812.html">Le dernier didacticiel vidéo ThinkPHP 5.1 en première mondiale (60 jours pour devenir un expert PHP en ligne)</a> <div class="wzrthreerb"> <div >1418682 temps d'étude</div> <div class="courseICollection" data-id="812"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="http://www.php.cn/fr/course/286.html" title="Tutoriel vidéo JAVA pour débutants" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/62590a2bacfd9379.png" alt="Tutoriel vidéo JAVA pour débutants"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Tutoriel vidéo JAVA pour débutants" href="http://www.php.cn/fr/course/286.html">Tutoriel vidéo JAVA pour débutants</a> <div class="wzrthreerb"> <div >2495814 temps d'étude</div> <div class="courseICollection" data-id="286"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="http://www.php.cn/fr/course/504.html" title="Tutoriel vidéo d'introduction base zéro à l'apprentissage de Python de Little Turtle" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/62590a67ce3a6655.png" alt="Tutoriel vidéo d'introduction base zéro à l'apprentissage de Python de Little Turtle"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Tutoriel vidéo d'introduction base zéro à l'apprentissage de Python de Little Turtle" href="http://www.php.cn/fr/course/504.html">Tutoriel vidéo d'introduction base zéro à l'apprentissage de Python de Little Turtle</a> <div class="wzrthreerb"> <div >504748 temps d'étude</div> <div class="courseICollection" data-id="504"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="http://www.php.cn/fr/course/901.html" title="Introduction rapide au développement web front-end" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/64be28a53a4f6310.png" alt="Introduction rapide au développement web front-end"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Introduction rapide au développement web front-end" href="http://www.php.cn/fr/course/901.html">Introduction rapide au développement web front-end</a> <div class="wzrthreerb"> <div >215463 temps d'étude</div> <div class="courseICollection" data-id="901"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="http://www.php.cn/fr/course/234.html" title="Maîtrisez les didacticiels vidéo PS à partir de zéro" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/62611f57ed0d4840.jpg" alt="Maîtrisez les didacticiels vidéo PS à partir de zéro"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Maîtrisez les didacticiels vidéo PS à partir de zéro" href="http://www.php.cn/fr/course/234.html">Maîtrisez les didacticiels vidéo PS à partir de zéro</a> <div class="wzrthreerb"> <div >881938 temps d'étude</div> <div class="courseICollection" data-id="234"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> </ul> <ul class="three" style="display: none;"> <li> <a target="_blank" href="http://www.php.cn/fr/course/1648.html" title="[Web front-end] Démarrage rapide de Node.js" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/662b5d34ba7c0227.png" alt="[Web front-end] Démarrage rapide de Node.js"/> </a> <div class="wzrthree-right"> <a target="_blank" title="[Web front-end] Démarrage rapide de Node.js" href="http://www.php.cn/fr/course/1648.html">[Web front-end] Démarrage rapide de Node.js</a> <div class="wzrthreerb"> <div >6736 temps d'étude</div> <div class="courseICollection" data-id="1648"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="http://www.php.cn/fr/course/1647.html" title="Collection complète de cours full-stack de développement Web étranger" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/6628cc96e310c937.png" alt="Collection complète de cours full-stack de développement Web étranger"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Collection complète de cours full-stack de développement Web étranger" href="http://www.php.cn/fr/course/1647.html">Collection complète de cours full-stack de développement Web étranger</a> <div class="wzrthreerb"> <div >5246 temps d'étude</div> <div class="courseICollection" data-id="1647"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="http://www.php.cn/fr/course/1646.html" title="Aller au langage pratique GraphQL" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/662221173504a436.png" alt="Aller au langage pratique GraphQL"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Aller au langage pratique GraphQL" href="http://www.php.cn/fr/course/1646.html">Aller au langage pratique GraphQL</a> <div class="wzrthreerb"> <div >4391 temps d'étude</div> <div class="courseICollection" data-id="1646"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="http://www.php.cn/fr/course/1645.html" title="Le maître du ventilateur de 550 W apprend JavaScript à partir de zéro, étape par étape" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/662077e163124646.png" alt="Le maître du ventilateur de 550 W apprend JavaScript à partir de zéro, étape par étape"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Le maître du ventilateur de 550 W apprend JavaScript à partir de zéro, étape par étape" href="http://www.php.cn/fr/course/1645.html">Le maître du ventilateur de 550 W apprend JavaScript à partir de zéro, étape par étape</a> <div class="wzrthreerb"> <div >646 temps d'étude</div> <div class="courseICollection" data-id="1645"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="http://www.php.cn/fr/course/1644.html" title="Le maître Python Mosh, un débutant sans aucune connaissance de base peut commencer en 6 heures" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/6616418ca80b8916.png" alt="Le maître Python Mosh, un débutant sans aucune connaissance de base peut commencer en 6 heures"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Le maître Python Mosh, un débutant sans aucune connaissance de base peut commencer en 6 heures" href="http://www.php.cn/fr/course/1644.html">Le maître Python Mosh, un débutant sans aucune connaissance de base peut commencer en 6 heures</a> <div class="wzrthreerb"> <div >22348 temps d'étude</div> <div class="courseICollection" data-id="1644"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> </ul> </div> <script> var mySwiper = new Swiper('.swiper2', { autoplay: false,//可选选项,自动滑动 slidesPerView : 'auto', }) $('.wzrthreeTab>div').click(function(e){ $('.wzrthreeTab>div').removeClass('check') $(this).addClass('check') $('.wzrthreelist>ul').css('display','none') $('.'+e.currentTarget.dataset.id).show() }) </script> </div> <div class="wzrFour"> <div class="wzrfour-title"> <div>Derniers téléchargements</div> <a href="http://www.php.cn/fr/xiazai">Plus> </a> </div> <script> $(document).ready(function(){ var sjyx_banSwiper = new Swiper(".sjyx_banSwiperwz",{ speed:1000, autoplay:{ delay:3500, disableOnInteraction: false, }, pagination:{ el:'.sjyx_banSwiperwz .swiper-pagination', clickable :false, }, loop:true }) }) </script> <div class="wzrfourList swiper3"> <div class="wzrfourlTab swiper-wrapper"> <div class="check swiper-slide" data-id="onef">effets Web <div></div></div> <div class="swiper-slide" data-id="twof">Code source du site Web<div></div></div> <div class="swiper-slide" data-id="threef">Matériel du site Web<div></div></div> <div class="swiper-slide" data-id="fourf">Modèle frontal<div></div></div> </div> <ul class="onef"> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="Code de contact du formulaire de message d'entreprise jQuery" href="http://www.php.cn/fr/toolset/js-special-effects/8071">[bouton de formulaire] Code de contact du formulaire de message d'entreprise jQuery</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="Effets de lecture de boîte à musique HTML5 MP3" href="http://www.php.cn/fr/toolset/js-special-effects/8070">[Effets spéciaux du joueur] Effets de lecture de boîte à musique HTML5 MP3</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="Effets spéciaux du menu de navigation d'animation de particules cool HTML5" href="http://www.php.cn/fr/toolset/js-special-effects/8069">[Navigation dans les menus] Effets spéciaux du menu de navigation d'animation de particules cool HTML5</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="Code d'édition par glisser-déposer du formulaire visuel jQuery" href="http://www.php.cn/fr/toolset/js-special-effects/8068">[bouton de formulaire] Code d'édition par glisser-déposer du formulaire visuel jQuery</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="Code du lecteur de musique Kugou imitation VUE.JS" href="http://www.php.cn/fr/toolset/js-special-effects/8067">[Effets spéciaux du joueur] Code du lecteur de musique Kugou imitation VUE.JS</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="Jeu de boîte de poussée HTML5 classique" href="http://www.php.cn/fr/toolset/js-special-effects/8066">[effets spéciaux HTML5] Jeu de boîte de poussée HTML5 classique</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="défilement jQuery pour ajouter ou réduire des effets d'image" href="http://www.php.cn/fr/toolset/js-special-effects/8065">[Effets spéciaux d'image] défilement jQuery pour ajouter ou réduire des effets d'image</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="Effet de zoom de survol de la couverture de l'album personnel CSS3" href="http://www.php.cn/fr/toolset/js-special-effects/8064">[Effets d'album photo] Effet de zoom de survol de la couverture de l'album personnel CSS3</a> </div> </li> </ul> <ul class="twof" style="display:none"> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="http://www.php.cn/fr/toolset/website-source-code/8328" title="Modèle de site Web d'entreprise de services de nettoyage et de réparation de décoration intérieure" target="_blank">[Modèle frontal] Modèle de site Web d'entreprise de services de nettoyage et de réparation de décoration intérieure</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="http://www.php.cn/fr/toolset/website-source-code/8327" title="Modèle de page de guide de CV personnel aux couleurs fraîches" target="_blank">[Modèle frontal] Modèle de page de guide de CV personnel aux couleurs fraîches</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="http://www.php.cn/fr/toolset/website-source-code/8326" title="Modèle Web de CV de travail créatif de concepteur" target="_blank">[Modèle frontal] Modèle Web de CV de travail créatif de concepteur</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="http://www.php.cn/fr/toolset/website-source-code/8325" title="Modèle de site Web d'entreprise de construction d'ingénierie moderne" target="_blank">[Modèle frontal] Modèle de site Web d'entreprise de construction d'ingénierie moderne</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="http://www.php.cn/fr/toolset/website-source-code/8324" title="Modèle HTML5 réactif pour les établissements de services éducatifs" target="_blank">[Modèle frontal] Modèle HTML5 réactif pour les établissements de services éducatifs</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="http://www.php.cn/fr/toolset/website-source-code/8323" title="Modèle de site Web de centre commercial de boutique de livres électroniques en ligne" target="_blank">[Modèle frontal] Modèle de site Web de centre commercial de boutique de livres électroniques en ligne</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="http://www.php.cn/fr/toolset/website-source-code/8322" title="La technologie informatique résout le modèle de site Web d'entreprise Internet" target="_blank">[Modèle frontal] La technologie informatique résout le modèle de site Web d'entreprise Internet</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="http://www.php.cn/fr/toolset/website-source-code/8321" title="Modèle de site Web de service de trading de devises de style violet" target="_blank">[Modèle frontal] Modèle de site Web de service de trading de devises de style violet</a> </div> </li> </ul> <ul class="threef" style="display:none"> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="http://www.php.cn/fr/toolset/website-materials/3078" target="_blank" title="Matériau vectoriel d'éléments d'été mignons (EPS+PNG)">[Matériau PNG] Matériau vectoriel d'éléments d'été mignons (EPS+PNG)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="http://www.php.cn/fr/toolset/website-materials/3077" target="_blank" title="Matériel vectoriel de quatre badges de graduation rouges 2023 (AI+EPS+PNG)">[Matériau PNG] Matériel vectoriel de quatre badges de graduation rouges 2023 (AI+EPS+PNG)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="http://www.php.cn/fr/toolset/website-materials/3076" target="_blank" title="Oiseau chantant et chariot rempli de fleurs design matériel vectoriel de bannière de printemps (AI + EPS)">[image de bannière] Oiseau chantant et chariot rempli de fleurs design matériel vectoriel de bannière de printemps (AI + EPS)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="http://www.php.cn/fr/toolset/website-materials/3075" target="_blank" title="Matériau vectoriel de chapeau de graduation doré (EPS+PNG)">[Matériau PNG] Matériau vectoriel de chapeau de graduation doré (EPS+PNG)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="http://www.php.cn/fr/toolset/website-materials/3074" target="_blank" title="Matériel vectoriel d'icône de montagne de style noir et blanc (EPS+PNG)">[Matériau PNG] Matériel vectoriel d'icône de montagne de style noir et blanc (EPS+PNG)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="http://www.php.cn/fr/toolset/website-materials/3073" target="_blank" title="Matériel vectoriel de silhouette de super-héros (EPS+PNG) avec des capes de couleurs différentes et des poses différentes">[Matériau PNG] Matériel vectoriel de silhouette de super-héros (EPS+PNG) avec des capes de couleurs différentes et des poses différentes</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="http://www.php.cn/fr/toolset/website-materials/3072" target="_blank" title="Matériel vectoriel de bannière Arbor Day de style plat (AI + EPS)">[image de bannière] Matériel vectoriel de bannière Arbor Day de style plat (AI + EPS)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="http://www.php.cn/fr/toolset/website-materials/3071" target="_blank" title="Matériel vectoriel de neuf bulles de discussion explosives de style bande dessinée (EPS+PNG)">[Matériau PNG] Matériel vectoriel de neuf bulles de discussion explosives de style bande dessinée (EPS+PNG)</a> </div> </li> </ul> <ul class="fourf" style="display:none"> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="http://www.php.cn/fr/toolset/website-source-code/8328" target="_blank" title="Modèle de site Web d'entreprise de services de nettoyage et de réparation de décoration intérieure">[Modèle frontal] Modèle de site Web d'entreprise de services de nettoyage et de réparation de décoration intérieure</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="http://www.php.cn/fr/toolset/website-source-code/8327" target="_blank" title="Modèle de page de guide de CV personnel aux couleurs fraîches">[Modèle frontal] Modèle de page de guide de CV personnel aux couleurs fraîches</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="http://www.php.cn/fr/toolset/website-source-code/8326" target="_blank" title="Modèle Web de CV de travail créatif de concepteur">[Modèle frontal] Modèle Web de CV de travail créatif de concepteur</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="http://www.php.cn/fr/toolset/website-source-code/8325" target="_blank" title="Modèle de site Web d'entreprise de construction d'ingénierie moderne">[Modèle frontal] Modèle de site Web d'entreprise de construction d'ingénierie moderne</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="http://www.php.cn/fr/toolset/website-source-code/8324" target="_blank" title="Modèle HTML5 réactif pour les établissements de services éducatifs">[Modèle frontal] Modèle HTML5 réactif pour les établissements de services éducatifs</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="http://www.php.cn/fr/toolset/website-source-code/8323" target="_blank" title="Modèle de site Web de centre commercial de boutique de livres électroniques en ligne">[Modèle frontal] Modèle de site Web de centre commercial de boutique de livres électroniques en ligne</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="http://www.php.cn/fr/toolset/website-source-code/8322" target="_blank" title="La technologie informatique résout le modèle de site Web d'entreprise Internet">[Modèle frontal] La technologie informatique résout le modèle de site Web d'entreprise Internet</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="http://www.php.cn/fr/toolset/website-source-code/8321" target="_blank" title="Modèle de site Web de service de trading de devises de style violet">[Modèle frontal] Modèle de site Web de service de trading de devises de style violet</a> </div> </li> </ul> </div> <script> var mySwiper = new Swiper('.swiper3', { autoplay: false,//可选选项,自动滑动 slidesPerView : 'auto', }) $('.wzrfourlTab>div').click(function(e){ $('.wzrfourlTab>div').removeClass('check') $(this).addClass('check') $('.wzrfourList>ul').css('display','none') $('.'+e.currentTarget.dataset.id).show() }) </script> </div> </div> </div> <footer> <div class="footer"> <div class="footertop"> <img src="/static/imghw/logo.png" alt=""> <p>Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!</p> </div> <div class="footermid"> <a href="http://www.php.cn/fr/about/us.html">À propos de nous</a> <a href="http://www.php.cn/fr/about/disclaimer.html">Clause de non-responsabilité</a> <a href="http://www.php.cn/fr/update/article_0_1.html">Sitemap</a> </div> <div class="footerbottom"> <p> © php.cn All rights reserved </p> </div> </div> </footer> <input type="hidden" id="verifycode" value="/captcha.html"> <script>layui.use(['element', 'carousel'], function () {var element = layui.element;$ = layui.jquery;var carousel = layui.carousel;carousel.render({elem: '#test1', width: '100%', height: '330px', arrow: 'always'});$.getScript('/static/js/jquery.lazyload.min.js', function () {$("img").lazyload({placeholder: "/static/images/load.jpg", effect: "fadeIn", threshold: 200, skip_invisible: false});});});</script> <script src="/static/js/common_new.js"></script> <script type="text/javascript" src="/static/js/jquery.cookie.js?1732087468"></script> <script src="https://vdse.bdstatic.com//search-video.v1.min.js"></script> <link rel='stylesheet' id='_main-css' href='/static/css/viewer.min.css?2' type='text/css' media='all'/> <script type='text/javascript' src='/static/js/viewer.min.js?1'></script> <script type='text/javascript' src='/static/js/jquery-viewer.min.js'></script> <script type="text/javascript" src="/static/js/global.min.js?5.5.53"></script> </body> </html>