Skip to content

Développement de logiciels

96 Topics 608 Posts

<p>La création d'un logiciel nécessite l'apprentissage d'un langage informatique comme le C ou le Java. Vous trouverez ici tout ce dont il vous faut pour concevoir votre application.</p>

This category can be followed from the open social web via the handle dé[email protected]

Subcategories


  • 36 Topics
    253 Posts
    M
    <p> <span style="font-family:Verdana, Geneva, sans-serif;"><span style="color:#ff8c00;"><span style="font-size:24px;">PRESENTATION DE LA FORMATION </span></span></span> </p> <p> <span style="font-size:20px;">La formation en langage C, est une formation d'un langage de programmation nommé le C, cette formation est entièrement gratuite, fait par un "amis" a moi, qui est un couteaux suisse dans le domaine de l'informatique, la formation abordera tout les sujet ou presque tout elle est vaste voici une petite liste de ce qui s'aura appris .</span> </p> <ul><li> <span style="font-size:20px;">Les base du langage </span> </li> <li> <span style="font-size:20px;">Les structure de données :</span> </li> <li> <span style="font-size:20px;">La SDL 2.0 </span> </li> <li> <span style="font-size:20px;">La programmation système </span> </li> <li> <span style="font-size:20px;">Le réseaux  </span> </li> </ul><p> <span style="font-size:20px;">Tout ceci entièrement gratuit, et accessible a tous jeune est moins jeune . Bien sur des complément de cours seront aussi posté et sera mis a jour .</span> </p> <p> <span style="font-family:Verdana, Geneva, sans-serif;"><span style="color:#ff8c00;"><span style="font-size:24px;">QUI EST VOTRE FORMATEUR </span></span></span> </p> <p> <span style="font-size:20px;">Il s'appelle <a href="https://jasonchampagne.fr/" rel="external nofollow">Jason Champagne</a> c'est formation son gratuites en ligne sur YouTube les formation sont vaste encore une fois, Programmation Informatique avec les langage C, python, C++, java qui a promis de faire, bien sur le développement web n'est pas laisser de coter les langage abordé seront PHP, HTML et CSS et JavaScript et dans un futur ruby etc... ;</span> </p> <p> <span style="font-size:20px;">Il n' y a aussi le hacking éthique qui est abordé, mais comme je l'est dit les formation sont vaste, il y' a commencer une formation en Japonais, pour les amateur de manga vous voilla content j'imagine, mais pas que de dessins, de Français oui de Français, de musique il fait aussi des reprise de chant <a href="https://www.youtube.com/watch?v=z4vGqar4ThM&amp;list=PLd2ajeT6F5fkUrXViPJBOVT6X6szrmE0P" rel="external nofollow">clic ici</a> pour allez voir ; </span> </p> <p> <span style="font-size:20px;">Les moteur de jeu aussi seront abordé dans un futur, unity, unreal engine notamment .</span> </p> <p> <span style="color:#ff8c00;"><span style="font-family:Verdana, Geneva, sans-serif;"><span style="font-size:24px;">OU REGARDER LES FORMATION PROPOSE </span></span></span> </p> <p> <span style="font-family:Arial, Helvetica, sans-serif;"><span style="font-size:20px;">Et bien sur YouTube les formation sont comme déjà dit gratuite, accessible pour tout le monde .</span></span> </p> <p> <span style="font-family:Arial, Helvetica, sans-serif;"><span style="font-size:20px;">Voici la chaine qui se nomment <a href="https://www.youtube.com/channel/UCS2e0hEJMhwd6bNscS60xTg" rel="external nofollow">Formation Vidéo</a> , il faut allez voir dans la playlist tout les vidéo sont bien rangé par thème.</span></span> </p> <p> <span style="color:#ff8c00;"><span style="font-family:Verdana, Geneva, sans-serif;"><span style="font-size:24px;">INTRODUCTION </span></span></span><span style="font-family:Arial, Helvetica, sans-serif;"><span style="font-size:20px;"><span style="color:#ff8c00;"><span style="font-family:Verdana, Geneva, sans-serif;"><span style="font-size:24px;"> </span></span></span></span></span> </p> <p> <span style="float:none;background-color:transparent;color:rgb(17,17,17);font-family:Roboto, Arial, sans-serif;font-size:18px;font-style:normal;font-variant:normal;font-weight:400;letter-spacing:normal;line-height:24px;text-align:left;text-decoration:none;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;">Langage C #1 - introduction </span> </p> <p> <span style="float:none;background-color:transparent;color:rgb(17,17,17);font-family:Roboto, Arial, sans-serif;font-size:18px;font-style:normal;font-variant:normal;font-weight:400;letter-spacing:normal;line-height:24px;text-align:left;text-decoration:none;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;">Description : </span> </p> <div style="background-attachment:scroll;background-color:transparent;background-image:none;background-repeat:repeat;border-bottom-color:rgb(0,0,0);border-bottom-style:none;border-bottom-width:0px;border-left-color:rgb(0,0,0);border-left-style:none;border-left-width:0px;border-right-color:rgb(0,0,0);border-right-style:none;border-right-width:0px;border-top-color:rgb(0,0,0);border-top-style:none;border-top-width:0px;color:rgb(0,0,0);font-family:Roboto, Arial, sans-serif;font-size:14px;font-style:normal;font-variant:normal;font-weight:400;letter-spacing:normal;margin-bottom:0px;margin-left:0px;margin-right:0px;margin-top:0px;padding-bottom:0px;padding-left:0px;padding-right:0px;padding-top:0px;text-align:left;text-decoration:none;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;"> ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬<br/> ● SITE PERSO : <a href="https://www.youtube.com/redirect?v=90hGCMC3Chc&amp;redir_token=onVFdsc1hehfkl1SjPqRzlhTVjd8MTUxNDM5NTUzMkAxNTE0MzA5MTMy&amp;event=video_description&amp;q=https%3A%2F%2Fjasonchampagne.fr" rel="external nofollow" style="color:rgb(39,147,230);font-size:14px;font-weight:400;line-height:normal;text-decoration:none;">https://jasonchampagne.fr</a><br/> ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬<br/><br/> ► Première séance sur le langage C.<br/> Faisons ensemble une petite présentation du langage, de son histoire, et ce à quoi il peut vous servir.<br/><br/> ██▄<br/> Je n'utilise plus Skype, vous pouvez à la place utiliser Discord et m'ajouter en ami sur ce logiciel (tutoriel ici : <a href="https://www.youtube.com/redirect?v=90hGCMC3Chc&amp;redir_token=onVFdsc1hehfkl1SjPqRzlhTVjd8MTUxNDM5NTUzMkAxNTE0MzA5MTMy&amp;event=video_description&amp;q=https%3A%2F%2Fgoo.gl%2FqXADCa" rel="external nofollow" style="color:rgb(39,147,230);font-size:14px;font-weight:400;line-height:normal;text-decoration:none;">https://goo.gl/qXADCa</a>).<br/> Pour me contacter en privé, utilisez donc de préférence Discord (si vous n'aimez pas les réseaux sociaux), sinon vous pouvez me retrouver sur Twitter, Facebook, Google+ et directement par e-mail.<br/> ██▄<br/><br/> MERCI DE VOTRE FIDÉLITÉ (◕_◕) ! </div> <div style="background-attachment:scroll;background-color:transparent;background-image:none;background-repeat:repeat;border-bottom-color:rgb(0,0,0);border-bottom-style:none;border-bottom-width:0px;border-left-color:rgb(0,0,0);border-left-style:none;border-left-width:0px;border-right-color:rgb(0,0,0);border-right-style:none;border-right-width:0px;border-top-color:rgb(0,0,0);border-top-style:none;border-top-width:0px;color:rgb(0,0,0);font-family:Roboto, Arial, sans-serif;font-size:14px;font-style:normal;font-variant:normal;font-weight:400;letter-spacing:normal;margin-bottom:0px;margin-left:0px;margin-right:0px;margin-top:0px;padding-bottom:0px;padding-left:0px;padding-right:0px;padding-top:0px;text-align:left;text-decoration:none;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;"> <div class="ipsEmbeddedVideo"> <div> <iframe allowfullscreen="true" data-embed-src="https://www.youtube.com/embed/videoseries?list=PLrSOXFDHBtfEh6PCE39HERGgbbaIHhy4j" frameborder="0" height="270" src="//melinyel.net/applications/core/interface/js/spacer.png" width="480"></iframe> </div> </div> </div> <div style="background-attachment:scroll;background-color:transparent;background-image:none;background-repeat:repeat;border-bottom-color:rgb(0,0,0);border-bottom-style:none;border-bottom-width:0px;border-left-color:rgb(0,0,0);border-left-style:none;border-left-width:0px;border-right-color:rgb(0,0,0);border-right-style:none;border-right-width:0px;border-top-color:rgb(0,0,0);border-top-style:none;border-top-width:0px;color:rgb(0,0,0);font-family:Roboto, Arial, sans-serif;font-size:14px;font-style:normal;font-variant:normal;font-weight:400;letter-spacing:normal;margin-bottom:0px;margin-left:0px;margin-right:0px;margin-top:0px;padding-bottom:0px;padding-left:0px;padding-right:0px;padding-top:0px;text-align:left;text-decoration:none;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;">   </div> <div style="background-attachment:scroll;background-color:transparent;background-image:none;background-repeat:repeat;border-bottom-color:rgb(0,0,0);border-bottom-style:none;border-bottom-width:0px;border-left-color:rgb(0,0,0);border-left-style:none;border-left-width:0px;border-right-color:rgb(0,0,0);border-right-style:none;border-right-width:0px;border-top-color:rgb(0,0,0);border-top-style:none;border-top-width:0px;color:rgb(0,0,0);font-family:Roboto, Arial, sans-serif;font-size:14px;font-style:normal;font-variant:normal;font-weight:400;letter-spacing:normal;margin-bottom:0px;margin-left:0px;margin-right:0px;margin-top:0px;padding-bottom:0px;padding-left:0px;padding-right:0px;padding-top:0px;text-align:left;text-decoration:none;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;"> <div class="ipsSpoiler" data-ipsspoiler=""> <div class="ipsSpoiler_header"> <span>Révélation</span> </div> <div class="ipsSpoiler_contents"> <p> ABONNEZ VOUS SVP POUR QUE LA CHAINE SOIT CONNUES ! </p> </div> </div> <p>   </p> </div> <div style="background-attachment:scroll;background-color:transparent;background-image:none;background-repeat:repeat;border-bottom-color:rgb(0,0,0);border-bottom-style:none;border-bottom-width:0px;border-left-color:rgb(0,0,0);border-left-style:none;border-left-width:0px;border-right-color:rgb(0,0,0);border-right-style:none;border-right-width:0px;border-top-color:rgb(0,0,0);border-top-style:none;border-top-width:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;margin-top:0px;padding-bottom:0px;padding-left:0px;padding-right:0px;padding-top:0px;">   </div> <div style="background-attachment:scroll;background-color:transparent;background-image:none;background-repeat:repeat;border-bottom-color:rgb(0,0,0);border-bottom-style:none;border-bottom-width:0px;border-left-color:rgb(0,0,0);border-left-style:none;border-left-width:0px;border-right-color:rgb(0,0,0);border-right-style:none;border-right-width:0px;border-top-color:rgb(0,0,0);border-top-style:none;border-top-width:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;margin-top:0px;padding-bottom:0px;padding-left:0px;padding-right:0px;padding-top:0px;"> <h4 style="background-attachment:scroll;background-color:transparent;background-image:none;background-repeat:repeat;border-bottom-color:rgb(136,136,136);border-bottom-style:none;border-bottom-width:0px;border-left-color:rgb(136,136,136);border-left-style:none;border-left-width:0px;border-right-color:rgb(136,136,136);border-right-style:none;border-right-width:0px;border-top-color:rgb(136,136,136);border-top-style:none;border-top-width:0px;color:rgb(136,136,136);font-size:14px;font-weight:400;line-height:21px;margin-bottom:0px;margin-left:0px;margin-right:16px;margin-top:0px;padding-bottom:0px;padding-left:0px;padding-right:0px;padding-top:0px;width:110px;"> Catégorie </h4> <div style="background-attachment:scroll;background-color:transparent;background-image:none;background-repeat:repeat;border-bottom-color:rgb(0,0,0);border-bottom-style:none;border-bottom-width:0px;border-left-color:rgb(0,0,0);border-left-style:none;border-left-width:0px;border-right-color:rgb(0,0,0);border-right-style:none;border-right-width:0px;border-top-color:rgb(0,0,0);border-top-style:none;border-top-width:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;margin-top:0px;padding-bottom:0px;padding-left:0px;padding-right:0px;padding-top:0px;"> <a href="https://www.youtube.com/channel/UCiDF_uaU1V00dAc8ddKvNxA" rel="external nofollow" style="color:rgb(17,17,17);font-size:14px;font-weight:500;line-height:normal;text-decoration:none;">Science et technologie</a> </div> <h4 style="background-attachment:scroll;background-color:transparent;background-image:none;background-repeat:repeat;border-bottom-color:rgb(136,136,136);border-bottom-style:none;border-bottom-width:0px;border-left-color:rgb(136,136,136);border-left-style:none;border-left-width:0px;border-right-color:rgb(136,136,136);border-right-style:none;border-right-width:0px;border-top-color:rgb(136,136,136);border-top-style:none;border-top-width:0px;color:rgb(136,136,136);font-size:14px;font-weight:400;line-height:21px;margin-bottom:0px;margin-left:0px;margin-right:16px;margin-top:0px;padding-bottom:0px;padding-left:0px;padding-right:0px;padding-top:0px;width:110px;"> Licence </h4> <div style="background-attachment:scroll;background-color:transparent;background-image:none;background-repeat:repeat;border-bottom-color:rgb(0,0,0);border-bottom-style:none;border-bottom-width:0px;border-left-color:rgb(0,0,0);border-left-style:none;border-left-width:0px;border-right-color:rgb(0,0,0);border-right-style:none;border-right-width:0px;border-top-color:rgb(0,0,0);border-top-style:none;border-top-width:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;margin-top:0px;padding-bottom:0px;padding-left:0px;padding-right:0px;padding-top:0px;"> Licence YouTube standard </div> </div>
  • 4 Topics
    26 Posts
    AzadA
    <p>Bonjour, je vous partage un de mes tout premiers codes, que j'avais fais pour m'entrainer à la base.<br/> Celui-ci n'est pas forcément optimisé, c'est pas nécessaire de le faire ceci dit.<br/><br/> Ce code va simplement générer toutes les combinaisons aléatoire jusqu'à 5 caractères, ce qui représente 62^5 entrées, dans un fichier texte.</p> <p>Je n'ai pas fais plus car ça prend déjà une dizaine de giga et beaucoup d'heures pour aller jusqu'à là. </p> <p> Vous devez simplement créer dans le dossier du code source texte les fichiers texte suivants : 1.txt  / 2.txt / 3.txt / 4.txt / 5.txt</p> <pre class="ipsCode prettyprint lang-nocode"> #include <iostream> #include <string> #include <fstream> using namespace std; int main() { string caractere[62] = { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"}; string combinaison; int car1, car2, car3, car4, car5, car6, car7; ofstream fichier1("1.txt", ios::out | ios::trunc); if(fichier1) { //Calcul de toutes les combinaisons à 1 caractères : 62 for(car1=0; car1!=62; car1++) { combinaison = caractere[car1]; cout &lt;&lt; combinaison &lt;&lt; endl; fichier1 &lt;&lt; combinaison &lt;&lt; endl; } fichier1.close(); } else { cout &lt;&lt; "Impossible d'ouvrir le fichier !" &lt;&lt; endl; } ofstream fichier2("2.txt", ios::out | ios::trunc); if(fichier2) { //Calcul de toutes les combinaisons à 2 caractères : 62² for(car1=0; car1!=62; car1++) { for(car2=0; car2!=62; car2++) { combinaison = caractere[car1] + caractere[car2]; cout &lt;&lt; combinaison &lt;&lt; endl; fichier2 &lt;&lt; combinaison &lt;&lt; endl; } } fichier2.close(); } else { cout &lt;&lt; "Impossible d'ouvrir le fichier !" &lt;&lt; endl; } ofstream fichier3("3.txt", ios::out | ios::trunc); if(fichier3) { //Calcul de toutes les combinaisons à 3 caractères : 62^3 for(car1=0; car1!=62; car1++) { for(car2=0; car2!=62; car2++) { for(car3=0; car3!=62; car3++) { combinaison = caractere[car1] + caractere[car2] + caractere[car3]; cout &lt;&lt; combinaison &lt;&lt; endl; fichier3 &lt;&lt; combinaison &lt;&lt; endl; } } } fichier3.close(); } else { cout &lt;&lt; "Impossible d'ouvrir le fichier !" &lt;&lt; endl; } ofstream fichier4("4.txt", ios::out | ios::trunc); if(fichier4) { //Calcul de toutes les combinaisons à 4 caractères : 62^4 for(car1=0; car1!=62; car1++) { for(car2=0; car2!=62; car2++) { for(car3=0; car3!=62; car3++) { for(car4=0; car4!=62; car4++) { combinaison = caractere[car1] + caractere[car2] + caractere[car3] + caractere[car4]; cout &lt;&lt; combinaison &lt;&lt; endl; fichier4 &lt;&lt; combinaison &lt;&lt; endl; } } } } fichier4.close(); } else { cout &lt;&lt; "Impossible d'ouvrir le fichier !" &lt;&lt; endl; } ofstream fichier5("5.txt", ios::out | ios::trunc); if(fichier5) { //Calcul de toutes les combinaisons à 5 caractères : 62^5 for(car1=0; car1!=62; car1++) { for(car2=0; car2!=62; car2++) { for(car3=0; car3!=62; car3++) { for(car4=0; car4!=62; car4++) { for(car5=0; car5!=62; car5++) { combinaison = caractere[car1] + caractere[car2] + caractere[car3] + caractere[car4] + caractere[car5]; cout &lt;&lt; combinaison &lt;&lt; endl; fichier5 &lt;&lt; combinaison &lt;&lt; endl; } } } } } fichier5.close(); } else { cout &lt;&lt; "Impossible d'ouvrir le fichier !" &lt;&lt; endl; } } </pre> <p>Ca remonte loin, ce bout de code. A l'époque ça m'avait beaucoup amusé.<br/> Il peut servir d'exemple si vous souhaitez faire de l'ouverture/écriture de fichier.</p>
  • 15 Topics
    94 Posts
    aurelien974A
    <p> <span style="color:rgb(0,0,0);font-family:Verdana, Arial, Helvetica, sans-serif;font-size:14.4px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:20.16px;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;background-color:rgb(255,255,255);">Salut, voilà je voulais poster se petit bout de code rigolo.  Après rigolo ou pas avoue juger. </span>:P </p> <p>   </p> <pre class="ipsCode prettyprint prettyprinted"> <span class="pln">  </span><span class="kwd">class</span><span class="pln"> </span><span>Program</span><span class="pln">     </span><span class="pun">{</span><span class="pln">         </span><span class="kwd">const</span><span class="pln"> </span><span>int</span><span class="pln"> </span><span>Fille</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">1</span><span class="pun">;</span><span class="pln">         </span><span class="kwd">const</span><span class="pln"> </span><span>int</span><span class="pln"> </span><span>Garcon</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">2</span><span class="pun">;</span><span class="pln">         </span><span class="kwd">static</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> </span><span>Main</span><span class="pun">(</span><span class="pln">string</span><span class="pun">[]</span><span class="pln"> args</span><span class="pun">)</span><span class="pln">         </span><span class="pun">{</span><span class="pln">             </span><span>Random</span><span class="pln"> </span><span>LaLoidelaNature</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span>Random</span><span class="pun">();</span><span class="pln">             </span><span>int</span><span class="pln"> </span><span>FilleouGarcon</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span>LaLoidelaNature</span><span class="pun">.</span><span>Next</span><span class="pun">(</span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">3</span><span class="pun">);</span><span class="pln">             </span><span>int</span><span class="pln"> </span><span>MamanOuPapa</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span>LaLoidelaNature</span><span class="pun">.</span><span>Next</span><span class="pun">(</span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">3</span><span class="pun">);</span><span class="pln">             </span><span>int</span><span class="pln"> </span><span>PapaOuMaman</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span>LaLoidelaNature</span><span class="pun">.</span><span>Next</span><span class="pun">(</span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">3</span><span class="pun">);</span><span class="pln">             </span><span>int</span><span class="pln"> pouetPouet </span><span class="pun">=</span><span class="pln"> </span><span>MamanOuPapa</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span>PapaOuMaman</span><span class="pun">;</span><span class="pln">             </span><span>int</span><span class="pln"> bebeOupas </span><span class="pun">=</span><span class="pln"> </span><span>PapaOuMaman</span><span class="pln"> </span><span class="pun">></span><span class="pln"> </span><span class="pln"> </span><span class="pun">?</span><span class="pln"> </span><span>MamanOuPapa</span><span class="pln"> </span><span class="pun">></span><span class="pln"> </span><span class="pln"> </span><span class="pun">?</span><span class="pln"> pouetPouet </span><span class="pun">:</span><span class="pln"> </span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="pun">;</span><span class="pln">             </span><span>int</span><span class="pln"> resulta </span><span class="pun">=</span><span class="pln"> bebeOupas </span><span class="pun">></span><span class="pln"> </span><span class="lit">3</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> bebeOupas </span><span class="pun">></span><span class="pln"> </span><span class="lit">2</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">2</span><span class="pun">;</span><span class="pln">             </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">resulta </span><span class="pun">==</span><span class="pln"> </span><span class="lit">1</span><span class="pun">)</span><span class="pln">             </span><span class="pun">{</span><span class="pln">                 </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span>FilleouGarcon</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span>Fille</span><span class="pun">)</span><span class="pln">                 </span><span class="pun">{</span><span class="pln">                     </span><span>Console</span><span class="pun">.</span><span>ForegroundColor</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span>ConsoleColor</span><span class="pun">.</span><span>Magenta</span><span class="pun">;</span><span class="pln">                     </span><span>Console</span><span class="pun">.</span><span>WriteLine</span><span class="pun">(</span><span class="str">"Papa est Maman a fait pouet pouet est Maman à un bébé C'est une fille !"</span><span class="pun">);</span><span class="pln">                     </span><span>Console</span><span class="pun">.</span><span>ResetColor</span><span class="pun">();</span><span class="pln">                 </span><span class="pun">}</span><span class="pln">                 </span><span class="kwd">else</span><span class="pln">                 </span><span class="pun">{</span><span class="pln">                     </span><span>Console</span><span class="pun">.</span><span>ForegroundColor</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span>ConsoleColor</span><span class="pun">.</span><span>Blue</span><span class="pun">;</span><span class="pln">                     </span><span>Console</span><span class="pun">.</span><span>WriteLine</span><span class="pun">(</span><span class="str">"Papa est Maman a fait pouet pouet est Maman à un bébé C'est un garçon !"</span><span class="pun">);</span><span class="pln">                     </span><span>Console</span><span class="pun">.</span><span>ResetColor</span><span class="pun">();</span><span class="pln">                 </span><span class="pun">}</span><span class="pln">             </span><span class="pun">}</span><span class="pln">             </span><span class="kwd">else</span><span class="pln"> </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">resulta </span><span class="pun">==</span><span class="pln"> </span><span class="pun">)</span><span class="pln">             </span><span class="pun">{</span><span class="pln">                 </span><span>Console</span><span class="pun">.</span><span>ForegroundColor</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span>ConsoleColor</span><span class="pun">.</span><span>White</span><span class="pun">;</span><span class="pln">                 </span><span>Console</span><span class="pun">.</span><span>WriteLine</span><span class="pun">(</span><span class="str">"Papa est Maman a fait pouet pouet est Maman ! aucun bébé en vue !"</span><span class="pun">);</span><span class="pln">                 </span><span>Console</span><span class="pun">.</span><span>ResetColor</span><span class="pun">();</span><span class="pln">             </span><span class="pun">}</span><span class="pln">             </span><span class="kwd">else</span><span class="pln">             </span><span class="pun">{</span><span class="pln">                 </span><span>Console</span><span class="pun">.</span><span>ForegroundColor</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span>ConsoleColor</span><span class="pun">.</span><span>Red</span><span class="pun">;</span><span class="pln">                 </span><span>Console</span><span class="pun">.</span><span>WriteLine</span><span class="pun">(</span><span class="str">"HOOOO !! deux personnes de même du même sexe ne peux pas avoir d'enfants !"</span><span class="pun">);</span><span class="pln">             </span><span class="pun">}</span><span class="pln">             </span><span>Console</span><span class="pun">.</span><span>WriteLine</span><span class="pun">(</span><span class="str">"Taper sur une touche pour recommencer !"</span><span class="pun">);</span><span class="pln">             </span><span>Console</span><span class="pun">.</span><span>Read</span><span class="pun">();</span><span class="pln">             </span><span>Main</span><span class="pun">(</span><span class="pln">args</span><span class="pun">);</span><span class="pln">         </span><span class="pun">}</span><span class="pln"> </span></pre> <p>   </p>
  • 8 Topics
    66 Posts
    aurelien974A
    <p> Salut ! Je suis entrain créer un petit logiciel en java ! </p> <p> Alors se petit logiciel est pas fini ! beaucoup chose à faire ! </p> <p> Alors ont peu lancer apache est mysql ! </p> <p> Ont peux lancé un hotspot wifi avec Netsh de windows. </p> <p> Maintenant se que je veux faire c'est que le Hotspot wifi redirige directement sur une ip. </p> <p> L'ip du pc par exemple pour qu'il se connecte vers apache en 80, mais je veux aussi autoriser les autre port. </p> <p> Comme ça ont peut ajouter un autre petit serveur avec nodejs par exemple ! </p> <p>   </p> <p> Alors se que je veux c'est genre je me connecte avec ma tablette. je vais sur <a href="http://www.google." rel="external nofollow">http://www.google.</a>fr/ du coup çà se connecte vers mon serveur apache. est du coup sur mon Serveur apache j'ai un script php est html qui me dit vous avez pas accès à google.fr </p> <p> Mais je sais pas comment faire pour que le réseau wifi vers apache ! </p> <p> Je croix que faut aller dans les histoires de DNS. J'ai besoin d'un peu d'aide ! </p> <p>   </p> <p> Petite Photo </p> <p> <img alt="481793ServeurPortail.png" class="ipsImage" src="http://img15.hostingpics.net/pics/481793ServeurPortail.png"/></p> <div data-role="contentPage"> <div data-role="contentPage"> <p>   </p> </div> </div>
  • 22 Topics
    81 Posts
    iPheonixI
    <p style="text-align:center;"><span style="font-size:18px;"><u><strong>.:: Mise à jour automatique par internet ::.</strong></u></span></p> <p> </p> <p><em>Aujourd'hui je vais vous apprendre comment faire un système de Mise à jour automatique par internet.</em> <em>Si vous avez le moindre problème avec ce tutoriel, je vous invite à laisser un message pour me prévenir (et afin que je puisse vous aidez à régler ce problème)</em></p> <p> </p> <p><u><strong>Sommaire :</strong></u></p> <p> </p> <p>1) A quoi ça va nous servir ?</p> <p>2) Tutoriel</p> <p>3) Code complet</p> <p> </p> <p><u><strong>1) A quoi ça va nous servir ?</strong></u></p> <p> </p> <p>Donc tout d'abbord, si vous avez un programme dont vous oubliez à chaque fois de mettre la mise à jour sur un forum ou autre, ce système peut très bien convenir pour vous. De plus, il est largement plus facile d'utiliser ce système que de mettre à chaque fois la mise à jour sur un post quelconque.</p> <p> </p> <p><u><strong>2) Tutoriel :</strong></u></p> <p> </p> <p>-> Commencer par créer un projet</p> <p>-> Ajouter un bouton</p> <p>-> Double cliquer sur la form qui se présente devant vous, normalement, la partie ou l'on doit entrer les codes apparaîts</p> <p>-> Pour commencer, ajouter "Imports Systems.Net" (juste au dessus de Public Class Form1)</p> <p>Pour l'instant, votre code devrait ressembler à ça :</p> <p></p><blockquote class="ipsStyle_spoiler" data-ipsspoiler=""> <pre class="ipsCode prettyprint lang-auto"> Imports System.Net Public Class MAJ End Class </pre> <p></p></blockquote><p></p><p>-> Ajouter dans le class, un dim, qu'on nommera "Version", il servira à définir la version actuelle de votre programme (changer la 1.0 par la version souhaitée)</p> <pre class="ipsCode prettyprint lang-auto"> Dim version as string = "1.0" </pre> <p>-> Retourner sur l'interface de la form, et double cliquer sur le boutton que vous avez ajouter précedemment, cela devrait vous redirigez vers les codes et ajouter un SUB.</p> <p>-> Dans ce sub, nous allons définir ce que dois faire le boutton, ici, il devra vérifier s'il y a une mise à jour (Si oui, il vous indiquera que votre programme n'est pas à jour et vous inviteras à télécharger la mise à jour, si non, il vous indiquera que votre programme est à jour)</p> <p>-> Nous allons créer un TXT ou on metteras notre version dedans, pour mon exemple, j'ai pris 3.0. Héberger ce TXT sur un hébergeur (j'ai pris Dropbox pour ma part). S'il n'y a pas de mise à jour, laissez la version actuelle, s'il y en a une, mettez la nouvelle version de votre programme. (Ex : Si mon ancien programme est de version 1.0, et que je laisse 1.0 dans le TXT, aucune mise à jour ne sera faite. Hors, si la version de mon TXT à changer par 2.0 car j'ai fais une mise à jour, celle-ci sera alors faite)</p> <p>(Exemple d'hébergement sur dropbox : <a href="https://dl.dropboxusercontent.com/s/z5xu2ktgn0uw5bn/Version.txt" rel="external nofollow">https://dl.dropboxusercontent.com/s/z5xu2ktgn0uw5bn/Version.txt</a>)</p> <p>-> Dans notre code, nous allons ajouter deux DIM. Un qui se nommera "MAJ" et un autre qui se nommera "DernièreVersion". Le Dim DernièreVersion servira à vérifier la version actuelle de notre programme à celle qui est indiquée sur internet.</p> <pre class="ipsCode prettyprint lang-auto"> Dim MAJ As New Webclient Dim DernièreVersion As String = MAJ.DownloadString("https://dl.dropboxusercontent.com/s/z5xu2ktgn0uw5bn/Version.txt") </pre> <p>(Changer le lien par le votre)</p> <p>Votre code devrait ressembler à ça :</p> <p></p><blockquote class="ipsStyle_spoiler" data-ipsspoiler=""> <pre class="ipsCode prettyprint lang-auto"> Imports System.Net Public Class MAJ     Private Sub MephButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MephButton1.Click         Dim MAJ As New WebClient         Dim DernièreVersion As String = MAJ.DownloadString("https://dl.dropboxusercontent.com/s/z5xu2ktgn0uw5bn/Version.txt")     End Sub End Class </pre> <p></p></blockquote><p></p><p>-> Ensuite, nous allons indiquer au bouton ce qu'il doit faire lorsque il y a une mise à jour ou non. Pour cela nous allons créer un If :</p> <pre class="ipsCode prettyprint lang-auto"> If Version = DernièreVersion Then   End If </pre> <p>-> Dans ce If, nous allons tout d'abord ajouter un MsgBox qui nous indiquera qu'il n'y a pas de mise à jour (si la version du programme est identique à celle marquée sur internet)</p> <pre class="ipsCode prettyprint lang-auto"> If Version = DernièreVersion Then MsgBox("Le programme est à jour", MsgBoxStyle.Information, "Mise à jour") End If </pre> <p>-> Pour le moment, nous avons juste indiquer au bouton ce qu'il devait faire quand il n'y avait pas de mise à jour. Indiquons lui maintenant ce qu'il doit faire quand il y aura une mise à jour. Commençons par lui ajouter une MsgBox nous indiquant que le programme n'est pas à jour (si la version du programme n'est pas identique à celle héberger sur internet)</p> <pre class="ipsCode prettyprint lang-auto"> If Version = DernièreVersion Then MsgBox("Le programme est à jour", MsgBoxStyle.Information, "Mise à jour") Else MsgBox("Le programme n'est pas à jour" & vbNewLine & "La dernière version est : " & Dernièreversion, vbOkOnly + MsgBoxStyle.Critical, "Mise à jour" End if </pre> <p>Sur le code ci-dessus, pour le deuxième message box. J'ai en premier temps mis un message fixe et fais un retour à la ligne (vbNewLine), ensuite j'ai mis un autre texte fixe puis j'ai ajouter le Dim DernièreVersion, qui indiquera automatiquement la version du programme disponible sur internet.</p> <p> </p> <p>-> Il vous faut créer un nouveau TXT, qu'on nommera "NewVersion", celui-ci contiendra le lien de téléchargement de la nouvelle version. S'il n'y a pas de nouvelle version (et donc pas de mise à jour) mettez tout simplement /</p> <p>(Exemple : <a href="https://dl.dropboxusercontent.com/s/yv3wgdyjolabyl4/NewVersion.txt" rel="external nofollow">https://dl.dropboxusercontent.com/s/yv3wgdyjolabyl4/NewVersion.txt</a>)</p> <p>-> Ensuite dans le code, nous allons ajouter deux dim. Un qui se nommera "NewVersion", qui contiendra le lien de téléchargement de la nouvelle version, et un autre "NewVersionDownload", qui indiquera ou le programme doit télécharger la nouvelle version.</p> <pre class="ipsCode prettyprint lang-auto"> Dim NewVersion As New WebClient Dim NewVersionDownload As String = NewVersion.DownloadString("https://dl.dropboxusercontent.com/s/yv3wgdyjolabyl4/NewVersion.txt") </pre> <p>Le tutoriel est désormais terminé, vous pouvez maintenant tester le programme que vous venez vous-même de faire.</p> <p> </p> <p>PS : Changer la version disponible sur internet afin de voir si votre programme détecte bien celle-ci et donc que le If est bien fais.</p> <p> </p> <p><u><strong>Code complet :</strong></u></p> <p> </p> <p>Je vous donne le code source, seulement pour vous aider à comprendre et donc apprendre comment fonctionne ce système !</p> <p></p><blockquote class="ipsStyle_spoiler" data-ipsspoiler=""> <pre class="ipsCode prettyprint lang-auto"> Imports System.Net Public Class MAJ     Dim version As String = "1.0"     Private Sub MephButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MephButton1.Click         Dim MAJ As New WebClient         Dim DernièreVersion As String = MAJ.DownloadString("https://dl.dropboxusercontent.com/s/z5xu2ktgn0uw5bn/Version.txt")         If Version = DernièreVersion Then             MsgBox("Le programme est à jour", MsgBoxStyle.Information, "Mise à jour")         Else             MsgBox("Le programme n'est pas à jour", & vbNewLine & "La dernière version est : " & DernièreVersion, vbOKOnly + MsgBoxStyle.Critical, "Mise à jour")             Dim NewVersion As New WebClient             Dim NewVersionDownload As String = NewVersion.DownloadString("https://dl.dropboxusercontent.com/s/yv3wgdyjolabyl4/NewVersion.txt")         End If     End Sub End Class </pre> <p></p></blockquote><p></p><p>Je pense que ça devrait-être tout pour mon premier tutoriel. Il y aura pas la suite d'autres, que je suis en train d'écrire </p>
  • 3 Topics
    16 Posts
    AlemortA
    <p> <strong>Pixel Art Excel, c'est quoi?</strong> </p> <p> C'est un petit soft en ligne de commande qui vous permet de générer un "pixel art" sous excel ;). </p> <p> Le but du projet était de s'entrainer à utiliser python et le module xlwt qui permets de créer un "spreedsheet" avec des données ;).<a class="attach-link" href="/assets/uploads/ips/monthly_2016_04/pixelArt.png.e39e252ed4d2e560144bf4aef9f3cff4.png"><img alt="pixelArt.png" class="ipsImage ipsImage_thumbnailed" src="/assets/uploads/ips/monthly_2016_04/pixelArt.thumb.png.669cd96bf3057c89f8f4af492ec48f88.png" width="1000"/></a> </p> <p> <strong>Les possibilitées :</strong> </p> <p> <u># pixelArtWithPythonExcel</u><br/> Create a spreadsheet "Pixel art" </p> <p> <u>#caractere repair :</u><br/> 'l' : new line<br/> '-' : color case in yellow<br/> ' ' : color case in white<br/> '' : color case in black </p> <p> #test<br/> 1) python pixelArt.py "l  **  l  **  *lll--l--ll*******l------l------*ll" </p> <p>   </p> <p> Vous êtes libre de réutiliser le code si vous voulez </p> <p> git hub : <a href="https://github.com/d0m00re/pixelArtWithPythonExcel" rel="external nofollow">https://github.com/d0m00re/pixelArtWithPythonExcel</a> </p> <p>   </p>
  • 2 Topics
    22 Posts
    AbrahamA
    <p> </p><p><span style="font-size:12px;"><span style="font-family:tahoma, geneva, sans-serif;">Salut les Melinyens,</span></span></p><p>  </p><p> Dans ce tutoriel, nous étudierons les généralités du langage Lua à savoir les variables, les fonctions, les commentaires, la syntaxe etc</p> <p></p><p><span style="font-size:12px;"><span style="font-family:tahoma, geneva, sans-serif;"><span style="font-size:14px;"><strong>Les commentaires</strong></span></span></span></p><p>  </p><p> Comme dans tout langage qui se respecte, les commentaires sont indispensables. Il y a deux types de commentaires. Ceux à une ligne, et ceux qui sont multi-lignes :</p> <pre class="ipsCode prettyprint"> -- Ceci est un commentaire sur une ligne Vos instructions .... .... .... --[[ Ceci est un commentaire sur plusieurs lignes ]]--</pre> <p><span style="font-size:12px;"><span style="font-family:tahoma, geneva, sans-serif;"><span style="font-size:14px;"><strong>Les variables</strong></span></span></span></p><p>  </p><p> En Lua, la déclaration de variables  est on ne peut plus simple. Elle se fait de cette façon</p> <pre class="ipsCode prettyprint"> variable = valeur</pre> <p><span style="font-size:12px;"><span style="font-family:tahoma, geneva, sans-serif;">Sachez que Lua différencie les portées de variables. Généralement on utilisera une variable "locale" si elle est propre uniquement à la fonction dans laquelle elle est utilisée afin d'éviter une surcharge inutile. De base, chaque variable est considérée comme "globale" ; pour l'initier en local, voici comme faire :</span></span></p> <pre class="ipsCode prettyprint"> local variable = valeur</pre> <p></p><p><span style="font-size:12px;"><span style="font-family:tahoma, geneva, sans-serif;">A noté que les variables sont sensibles à la casse. De ce fait : variable et vaRiable seront deux variables bien distinctes.</span></span></p> <ul><li><span style="font-size:12px;"><span style="font-family:tahoma, geneva, sans-serif;">Les nombres : Pour déclarer une variable de type nombres, faites comme suit : <span style="font-family:'courier new', courier, monospace;">monAge = 16</span> (Ainsi, la variable nommée monAge aura pour valeur 16). A partir de là, vous pourrez effectuer les opérations de bases. Les variables de type "number" regroupent tout l’arithmétique : double, integer etc.</span></span></li><li><span style="font-size:12px;"><span style="font-family:tahoma, geneva, sans-serif;">Les chaines de caractères : Rien de plus simple : <span style="font-family:'courier new', courier, monospace;">pseudo = "Abraham"</span>. N'oubliez pas les double guillemets (vous pouvez en mettre aussi des simples)</span></span></li> <li><span style="font-size:12px;"><span style="font-family:tahoma, geneva, sans-serif;">Booléens : Ce type de variable bien connu ce déclare de la façon suivante : <span style="font-family:'courier new', courier, monospace;">isLogged = true</span></span></span></li> <li><span style="font-size:12px;"><span style="font-family:tahoma, geneva, sans-serif;">Le cas du "nil" : Le "nil" permet en fait d'annuler une variable, et donc de rendre "nul" son contenu. C'est un peu l'équivalent du NULL en C, ou bien du unset en php. Par exemple, si vous annuler la variable monAge, vous faites : <span style="font-family:'courier new', courier, monospace;">monAge = nil</span></span></span></li> </ul><p><span style="font-size:12px;"><span style="font-family:tahoma, geneva, sans-serif;"><span style="font-size:14px;"><strong>Les tableaux</strong></span></span></span></p><p>  </p><p> Les tableaux sont certainement les éléments les plus puissant de Lua, car ils peuvent être utiliser dans n'importe quelle situation.</p><p> Pour déclarer un tableau, il faut le faire de cette façon :</p> <pre class="ipsCode prettyprint"> membres = { } -- Un tableau se divise en deux parties : l'index, et la valeur. --[[ membres[index] = "valeur" (ou valeur sans guillemets si c'est un nombre) Exemple : ]]-- membres[1] = "Abraham" -- Et pour accéder à cette dite valeur, il faut simplement renseigner l'index : print(membres[1]) -- ... va renvoyer : Abraham </pre> <p><span style="font-size:12px;"><span style="font-family:tahoma, geneva, sans-serif;"><span style="font-size:14px;"><strong>La syntaxe </strong></span></span></span></p> <p> </p> <p><span style="font-size:12px;"><span style="font-family:tahoma, geneva, sans-serif;">Comme vous l'avez surement remarqué, la syntaxe est très simple en Lua. Une ligne = une instruction. De ce fait, pas besoin d'avoir des ";" à la fin de vos instructions. Comme je l'ai dit, il n'y a pas de type de variables</span></span> donc la déclaration en est simplifiée.</p> <p> </p> <p><span style="font-size:12px;"><span style="font-family:tahoma, geneva, sans-serif;">Les fonctions</span></span></p> <p> </p> <p><span style="font-size:12px;"><span style="font-family:tahoma, geneva, sans-serif;">Je vais vous présenter très brièvement les fonctions puisqu'elles feront l'objet d'un chapitre particulier, dans lequel nous aborderons les fonctions les plus connues. Je vais simplement vous donner la structure générale d'une fonction</span></span></p> <pre class="ipsCode prettyprint"> function nomDeLaFonction(argument1, argument2)    --[[ Enchainement         d'instructions de votre fonction          ]]-- end </pre> <p><span style="font-size:12px;"><span style="font-family:tahoma, geneva, sans-serif;">N'oubliez surtout pas le END à la fin de votre fonction. Il est capital si vous ne voulez pas rencontrer une quelconque erreur. </span></span></p> <p></p><p><span style="font-size:12px;"><span style="font-family:tahoma, geneva, sans-serif;">Chapitre un peu cours, certes, mais qui permet de vous mettre en situation. Dans un prochain chapitre, nous allons rentrer un peu plus dans le vif du sujet. </span></span></p> <p> </p>
  • Les patrons de conception

    2
    0 Votes
    2 Posts
    2k Views
    SoulalexS
    <p style="text-align: center;"> <span style="font-family:lucida sans unicode,lucida grande,sans-serif;"><span style="font-size: 20px;"><strong>Les patrons de conception</strong></span></span> </p> <p>   </p> <p> <span style="font-family:lucida sans unicode,lucida grande,sans-serif;">En développement logiciel ou web, on est souvent confronté à des problèmes conceptions et pour répondre à cette problématique, en programmation orienté objet, il existe des <strong>patrons de conception</strong> (ou <em>design pattern</em> en anglais). Ces patrons sont reconnus comme étant une bonne pratique pour l'implémentation mais libre à vous d'implémenter autrement </span> </p> <p>   </p> <p> <span style="font-family:lucida sans unicode,lucida grande,sans-serif;">Il existe bon nombre de partons de conception et les présenter tous serait conséquent mais heureusement qu'il existe un site répertoriant tout ceci : <a href="https://fr.wikibooks.org/wiki/Patrons_de_conception" ipsnoembed="true" rel="external nofollow">https://fr.wikibooks.org/wiki/Patrons_de_conception</a></span> </p> <p>   </p>
  • Recherche par dichotomie

    2
    0 Votes
    2 Posts
    2k Views
    SoulalexS
    <p style="text-align: center;"><span style="font-family:lucida sans unicode,lucida grande,sans-serif;"><span style="font-size: 24px;"><strong>Recherche par dichotomie</strong></span></span></p><p> </p><p><span style="font-family:lucida sans unicode,lucida grande,sans-serif;">La recherche dichotomique est un moyen efficace de trouve l'indice d'un nombre dans un <strong>tableau trié</strong>. Par rapport à une recherche classique, vous ferez moins de lecture dans votre tableau.</span></p><p> </p><p><span style="font-family:lucida sans unicode,lucida grande,sans-serif;"><span style="font-size: 18px;"><strong>Principe :</strong></span></span></p><hr/><p><span style="font-family:lucida sans unicode,lucida grande,sans-serif;">C'est très simple !</span></p><p><span style="font-family:lucida sans unicode,lucida grande,sans-serif;">Prenons le tableau contenant 10 éléments : <strong>1 | 4 | 7 | 8 | 10 | 15 | 18 | 19 | 32 | 35</strong></span></p><p><span style="font-family:lucida sans unicode,lucida grande,sans-serif;"><strong>Celui-ci est trié de manière croissante et il faut qu'il le soit impérativement !</strong></span></p><p> </p><p><span style="font-family:lucida sans unicode,lucida grande,sans-serif;"><strong>Théorie :</strong></span></p><p><span style="font-family:lucida sans unicode,lucida grande,sans-serif;">Comme dans une recherche simple, vous allez devoir faire une boucle. Mais cette fois <strong>vous commencerez au milieu du tableau</strong> (donc ici à l'indice n°5).</span></p><p><span style="font-family:lucida sans unicode,lucida grande,sans-serif;">Si votre <strong>nombre est inférieur </strong>au nombre de l'indice du milieu (tab[5]), alors<strong> vous vous concentrerez que sur la partie inférieure</strong> (gauche) de votre tableau.</span></p><p><span style="font-family:lucida sans unicode,lucida grande,sans-serif;">Si votre <strong>nombre est supérieur</strong> au nombre de l'indice du milieu (tab[5]), alors<strong> vous vous concentrerez que sur la partie supérieure</strong> (droite) de votre tableau.</span></p><p><span style="font-family:lucida sans unicode,lucida grande,sans-serif;">Vous recommencerez jusqu'à trouver l'indice du nombre.</span></p><p> </p><p><span style="font-family:lucida sans unicode,lucida grande,sans-serif;"><strong>Exemple :</strong> Je cherche l'indice du nombre 8.</span></p><ol><li><span style="font-family:lucida sans unicode,lucida grande,sans-serif;">Je me place à la moitié de mon tableau (indiceMilieu = 5) et je regarde si mon nombre est plus grand, plus petit ou égal. Il est plus petit donc je me concentre sur les nombres d'indices compris entre 0 et 5.</span></li><li><span style="font-family:lucida sans unicode,lucida grande,sans-serif;">Je me place à la moitié ( (0 + 5) / 2 = 2). tab[2] < 8 donc je concentre sur les nombres d'indices compris entre 2 et 5.</span></li><li><span style="font-family:lucida sans unicode,lucida grande,sans-serif;">Je me place à la moitié ( (2 + 5) / 2 = 3) . tab[3] = 8 donc je peux arrêter et retourner l'indice correspondant.</span></li></ol><p><span style="font-family:lucida sans unicode,lucida grande,sans-serif;">En conclusion, je n'ai que 3 itérations avec la recherche dichotomique. Avec une rechercher classique, j'aurais eu 4 itérations. </span></p><p><span style="font-family:lucida sans unicode,lucida grande,sans-serif;">Ceci est peut-être insignifiant dans ce cas mais sur des grands tableaux, la recherche dichotomique est très utile.</span></p><p> </p><p><span style="font-family:lucida sans unicode,lucida grande,sans-serif;"><span style="font-size: 18px;"><strong>Implémentation en Java :</strong></span></span></p><hr/><p><span style="font-family:lucida sans unicode,lucida grande,sans-serif;">Petit cadeau, je vous offre la fonction java qui permet de faire une recherche par dichotomie mais je vous conseil de la coder vous même car elle n'est pas très dure et c'est toujours instructif de faire les chose sois-même </span></p><p> </p><blockquote class="ipsStyle_spoiler" data-ipsspoiler="" tabindex="0"><pre class="html ipsCode prettyprint" data-pbcklang="html" data-pbcktabsize="4">public static int rechercherDichotomie(int[] tab, int nb) { int indMin, indMax, indMid; // Si votre tableau n'est pas trié, triez le avant ! // On prend l'ensemble du tableau au départ indMin = 0; indMax = tab.length; while ((indMax - indMin) &gt; 1) { // On prend le milieu entre indMin et indMax indMid = ((indMin + indMax) / 2); // On détermine si le nombre est supérieur, inférieur ou égal à tab[indMid] if (nb &gt; this.tab[indMid]) { indMin = indMid; } else if (nb &lt; this.tab[indMid]) { indMax = indMid; } else { return indMid; } } // Retourne -1 si l'indice n'a pas été trouvé return -1; }</pre><p> </p></blockquote><p> </p>
  • [Langage] Kore

    10
    0 Votes
    10 Posts
    3k Views
    E
    <p> </p><p>Bonjour !</p> <p>J'ai demandé de au créateur de Kore de reprendre la présentation qu'il a écrit pour vous présenter ce langage sur Melinyel donc voilà :</p> <p> </p> <p style="text-align:center;"><img alt="kore2.png" height="150" src="https://sdz-upload.s3.amazonaws.com/prod/upload/kore2.png" width="320"/></p> <p style="text-align:center;"> </p> <p>Qu'est-ce que Kore ?</p> <p>Kore est un langage de programmation orienté objet dont le compilateur est en cours de développement. Le compilateur génère des exécutables x86.</p><p> L'objectif défini du projet est d'une part d'aboutir sur un langage générique qui soit accessible, concis, et performant, et d'autre part, de faciliter la création de jeux vidéo via sa librairie standard. Par ces objectifs, il faut comprendre qu'il s'agit de synthétiser ce qui peut l'être, de clarifier les syntaxes, et de disposer de base de librairies multimédia basées sur DirectX, OpenGL, etc.</p><p></p><p>Pourquoi un énième langage ?</p> <p>La création d'un langage de programmation performant est sans doute l'une des plus intéressantes épreuves que l'on puisse imaginer pour un développeur. Bien que l'exercice en tant que tel soit plus un travail au long cours qu'un obstacle, il n'en reste pas moins extrêmement enrichissant, cela mettant en œuvre une multitude de techniques et de connaissances. Bien sûr, même si l'intérêt personnel est nécessairement (et heureusement) là, ce n'est pas la seule raison à la création de Kore.</p><p></p><p> Lorsque j'ai commencé à développer des jeux il y a plus d'une dizaine d'années de cela, j'ai entrepris l'apprentissage du Dark Basic, un langage dont la simplicité n'a d'équivalent que son manque d'optimisations. Au fil des années, j'ai fini par être amené à développer des dizaines de plugins pour le langage dans le but de l'améliorer. Mais au final, le résultat restait décevant, et c'est bien logique : le cœur du langage reste assez lent, chose que l'on ne peut malheureusement pas contrer en tant qu'utilisateur. Depuis, même si l'envie ne manque pas, le fait de développer avec ce langage est assez rebutant.</p><p> Parallèlement à cela, je n'ai rencontré à ce jour aucune solution gratuite et ouverte permettant de développer des jeux performants tout en gardant la simplicité de mise en oeuvre d'un Dark Basic. La plupart des outils qui disposent d'une telle facilité sont le plus souvent payant ou fermés, et les langages tels que le C++, s'ils amènent les possibilités, ils impliquent également un développement dont les contraintes nuisent au plaisir de développer.</p><p></p><p> J'ai donc commencé à créer mon propre langage sur ce modèle que j'avais apprécié du Dark Basic, à savoir simplicité du langage et mise en oeuvre immédiate.</p><p></p><p>Performances ?</p> <p>Les exécutables générés à l'heure actuelle par Kore ont des performances intéressantes : dans les tests que j'ai pu effectuer (boucles sur des tests, calculs, etc), il en ressort que ceux-ci présentent une rapidité équivalente à celle du C dans la plupart des cas (compilation GCC/Visual Studio, optimisations off).</p><p> Cette rapidité est liée au fait que le compilateur génère directement du code Assembleur (la source .asm est générée automatiquement lors de la compilation, en même temps que l'exécutable), et utilise un design similaire et compatible à celui du C.</p><p></p><p>Pourquoi le nom de Kore ?</p> <p>Par le passé, Kore fut connu sous les noms de Jade, ou encore JadeBasic. Avec l'avancée du développement du compilateur (débuté en 2006), le potentiel du langage fit qu'il devint intéressant de chercher à se détacher d'un nom trop commun, et qui fut récupéré par d'autres outils au fil des années.</p> <p>Le nom "Kore" provient initialement d'une transformation du terme "C ore" (minerai de C), lié à la compatibilité du langage avec le C. Le choix du nom fut acté en raison des multiples sens dont il était porteur : la symbolique du noyau, forte pour un langage de programmation qui forme le coeur de tout logiciel. La signification du nom "Kore" qui lu en hiragana signifie "cela", "this" intéressante pour un langage objet. Ou encore le lien avec Perséphone, également appelée Kore, qui est la déesse grecque fille de Déméter. Kore étant en effet un langage intégrant une mécanique forte d'application de la <a href="http://fr.wikipedia.org/wiki/Loi_de_Déméter" rel="external nofollow" title="loi de Déméter">loi de Déméter</a>.</p><p></p><p>Quelles sont les caractéristiques du langage ?</p> <p>Le langage suit trois principes régissant sa syntaxe :</p><p> <span>ne pas avoir à écrire ce qui n'est pas utile à la lecture, si le compilateur est capable de le déduire</span></p><p> <span>disposer d'une écriture concise mais claire, de mots-clés rapides à écrire et faciles à mémoriser</span></p><p> <span>le langage ne doit pas limiter l'utilisateur dans l'accès bas niveau</span></p> <p><strong>Syntaxe :</strong></p> <p>Les sources d'inspiration du langage sont le C, le C#, Ruby, Eiffel, et Dark Basic. Kore emprunte différentes fonctionnalités à ceux-ci, notamment le <a href="http://en.wikipedia.org/wiki/Uniform_access_principle" rel="external nofollow" title="principe d'accès uniforme">principe d'accès uniforme</a>.</p><p></p><p><strong>Typage :</strong></p><p></p><p> Le typage des variables est statique : une fois une variable typée, celle-ci ne peut plus changer de type. Le typage peut être explicitement realisé, mais également inféré par le compilateur : celui-ci déduit le type d'une variable à partir de l'expression qui lui est assignée. L'intérêt de cela est de permettre une plus grande souplesse d'écriture sans avoir à préciser constamment les types. Cela correspond typiquement à l'un des principes de Kore : le compilateur peut déduire le type, et le préciser n'est pas indispensable à la compréhension.</p> <pre class="ipsCode prettyprint"> do      // Boucle infinie.    ... loop while conditionVraie    ... end repeat    ... until conditionVraie</pre> <p><strong>Boucles :</strong></p><p></p><p> Les boucles implémentées sont plutôt classiques :</p> <div> <div> <div> <div> </div> <pre class="ipsCode prettyprint"> do // Boucle infinie. ... loop while conditionVraie ... end repeat ... until conditionVraie </pre> </div> </div> </div> <p></p><p><strong>Conditions :</strong></p><p></p><p> Là encore du classique :</p> <p> </p> <div> <div> <div> <pre class="ipsCode prettyprint"> if conditionVraie then ... if conditionVraie    ... end if conditionVraie    ... else    ... end if conditionVraie    ... elsif    ... else    ... end</pre> </div> </div> </div> <p></p><p><strong>Modules :</strong></p><p></p><p> Les programmes créés en Kore sont découpés sous forme de modules. C'est la structure hiérarchiquement de plus haut niveau. Un module peut contenir des classes, des fonctions et du code. Le code contenu au sein d'un module permet d'exécuter un code d'initialisation au chargement de celui-ci. Par défaut, le code écrit l'est dans le module "main" qui est exécuté au lancement d'une application.</p> <p> </p> <div> <div> <div> <pre class="ipsCode prettyprint"> module nomDeModule    // classes, énumération, etc.    def nomDeProcedure       ...    end    def nomDeFonction as TypeRetourne       ...       return valeurRetournee    end    // du code ici end</pre> </div> </div> </div> <p></p><p><strong>Orienté objet :</strong></p><p></p><p> Kore est orienté objet, dans la mesure de l'utilité et de l'efficacité des notions de l'orienté objet. Toutes ces notions ne sont/seront pas nécessairement incluses au langage. Une partie des fonctionnalités à ajouter est déjà établie, mais tout est susceptible d'évoluer grandement au fil de l'avancée du développement et des retours.</p> <p></p><pre class="ipsCode prettyprint"> class NomDeClasse as ClasseHeritee    champ1 as TypeChamp    // constructeur    def new    end    // destructeur    def delete    end    def nomDeMethode       ...    end    def nomDeMethode2 as TypeRetourne       ...       return valeurRetournee    end    self def nomDeMethodeDeClasse       ...    end end a = NomDeClasse.new               // Instanciation. a.nomDeMethode                    // Appel de méthode d'instance. NomDeClasse.nomDeMethodeDeClasse  // Appel de méthode de classe a.delete                          // Destruction.</pre> <p><strong>Enumérations :</strong></p><p></p><p> Les énumérations permettent de gérer des listes de valeurs à utiliser comme paramètres. Les valeurs peuvent être définies explicitement si besoin est.</p> <p> </p> <div> <div> <div> <pre class="ipsCode prettyprint"> enum NomEnumeration    Champ1,       // vaut 1    Champ2,       // vaut 2    Champ3 = 8,   // vaut 8    Champ4        // vaut 9 end test = NomEnumeration.Champ3   // variable de type NomEnumeration valant Champ3</pre> </div> </div> </div> <p></p><p><strong>Tableaux :</strong></p><p></p><p> Les tableaux en Kore sont des conteneurs de données multidimensionnels de type jagged array :</p> <p> </p> <div> <div> <div> <pre class="ipsCode prettyprint"> unTableau as integer()           // Déclaration explicite d'un tableau d'entier. unAutreTableau = integer(10)     // Déclaration inférée et assignation d'un tableau de 10 integer. unAutreTableau(0) = 13           // Assignation unTableau = Classe(10,10)        // Déclaration inférée et assignation d'un tableau de 10x10 Classe... unTableau(0,0) = Classe.new      // ... qui doivent être instanciéss.</pre> </div> </div> </div> <p></p><p><strong>Itérateurs :</strong></p><p></p><p> Les itérateurs permettent de manipuler plus facilement les listes de données grâce à la boucle <em>for...in</em> :</p> <p></p><div> <div><p></p><div> <pre class="ipsCode prettyprint"> def iterateur as int()         a = 0         while a <= 15                 yield a          // Retourne une valeur déclenchant une exécution du for.                 a++         end end for a in iterateur         a.print         // Affiche les nombres de 0 à 15. end</pre> </div> </div> </div> <p></p><p>Ou encore :</p><p>  </p> <div> <div> <div> <pre class="ipsCode prettyprint"> def premiers as int()         yield 3         yield 5         yield 7         yield 11         yield 13 end for a in premiers         a.print end</pre> </div> </div> </div> <p></p><p><strong>Headers :</strong></p><p></p><p> Pas besoin ici de headers au sens C/C++ du terme, le compilateur analyse préalablement le code avant de le compiler. Déclarez, c'est prêt à l'emploi. Ce que je tends à appeler "header", ce sont les fichiers permettant d'importer des .lib. Moyennant la création d'un code d'import, toute bibliothèque suivant la conventions d'appel C standards cdecl, et exportant ses noms de fonction peut être utilisée.</p><p> Le code est détaillé un plus bas.</p> <p></p><p><strong><u>Evolution du langage :</u></strong></p><p>  </p> <div> <div><u>Décembre 2006 :</u><p> début du projet sous forme de CLI (Command Line Interpreter)</p><p> déclaration implicite de variables</p><p> calculs arithmétiques</p><p></p><p><u>Courant 2007 :</u></p><p> support des tests logiques if...endif et if...else...endif</p><p> boucle do...loop</p><p></p><p> Décembre 2007 :</p><p> support de l'appel de fonctions externes issues de DLL</p><p></p><p><u>Juillet 2008 :</u></p><p> implémentation de la gestion des DLL comme plugins</p><p> gestion des chaînes de caractères</p><p> implémentation des fonctions utilisateur (0.007)</p><p> typage des variables (0.007)</p><p> support des structures à un niveau (0.008)</p><p></p><p><u>Août 2008 :</u></p><p> support des tableaux</p><p> itération for...to...next</p><p> code semi-compilé (bytecode interprété)</p><p></p><p><u>Septembre 2008 :</u></p><p> code compilé, utilisation de FASM (0.010)</p><p> les structures gèrent plusieurs niveaux d'imbrication (structures de structures)</p><p> implémentation d'opérateurs de manipulation des pointeurs (& et $)</p><p></p><p><u>Octobre 2008 :</u></p><p> remplacement des fichiers .dlls par les fichiers .lib</p><p> ajout d'un format de header pour les .lib</p><p> boucle while...endwhile</p><p></p><p><u>Novembre 2008 :</u></p><p> implémentations des tableaux dynamiques</p><p> suppression du CLI et de l'interpréteur de bytecode, le langage est dès lors uniquement compilé</p><p> début de création de l'IDE "Dragon"</p><p></p><p><u>Janvier 2009 :</u></p><p> options de compilations : SUBSYSTEM, ENTRY</p><p> support de l'assembleur dans le langage (asm...endasm)</p><p></p><p><u>Février 2009 :</u></p><p> support des calculs sur des nombres à virgule flottante</p><p> support des conversions de type</p><p> les fonctions gère maintenant pleinement les types de retour</p><p> reprise à zéro du compilateur</p><p> début d'implémentation des classes</p><p> amélioration du if pour gérer la structure if...then et if...elseif...else...endif</p><p> mots-clés break et continue</p><p> implémentation d'un garbage collector de type "mark and compact"</p><p></p><p><u>Courant 2009 :</u></p><p> retrait du garbage collector</p><p> debug et modifications mineures</p><p></p><p><u>Courant 2010 :</u></p><p> arrêt du support des structures</p><p> debug et modifications mineures</p><p></p><p><u>Mai-Juin 2011 :</u></p><p> support des classes (méthodes et champs)</p><p> debug et modifications mineures</p><p></p><p><u>Août 2011 :</u></p><p> implémentation des énumérations</p><p> implémentation des self def (méthodes statiques)</p><p> support des surcharges de méthodes et fonctions</p><p> modification du modèle de header (utilisation de la syntaxe du langage)</p><p> modifications de syntaxe : mot-clé de fin de structure unique "end", définition de fonction/méthode par le mot-clé "def"</p><p> déclarations à typage inféré</p><p> ajout des itérateurs pour la boucle for...in</p><p> révision des tableaux.</p></div> <div>- début de travail sur l'IDE</div> </div> <div><u>Septembre 2011 :</u></div> <div>- adoption du principe d'accès uniforme</div> <div>- implémentation des setter</div> <div>- début d'implémentation des références non nulles</div> <div>- mécanique de transfert d'appel permettant le respect de la loi de Déméter (couplage minimum)</div> <div>- implémentation des constructeurs par setter</div> <div><u>Octobre 2011 :</u></div> <div>- mise en place des débuts du contrôle d'accès (public, private, etc)</div> <div>- établissement de la mécanique de def over (override avancé), et override de champs</div> <div>- transformation des types standard en classe</div> <div>- établissement de la mécanique de postfix</div> <div><u>Février 2013 :</u></div> <div>- coup de boost sur l'IDE</div> <div><u>Avril 2013 :</u></div> <div>- left et right shift</div> <div>- opérateurs booléens</div> <div>- amélioration des modules</div> <div>- type booléen</div> <div>- type string</div> <div>- implémentation du switch</div> <div>- début de la réécriture du compilateur en Kore</div> <div>- renommage du langage</div> <p> </p> <p><u>Création de bibliothèques supplémentaires</u> :</p><p>  </p> <div> <div> <p>Cette section s'adresse aux personnes qui souhaiteraient développer (dans le futur) des bibliothèques supplémentaires pour Kore. Le langage a été conçu pour permettre à tout le monde de créer et d'ajouter sa propre bibliothèque au langage.</p><p></p><p> La création de telles bibliothèques s'effectue de manière simple, soit via des LIB, soit des DDL (uniquement Windows à l'heure actuelle, donc).</p><p></p><p> La seule chose à faire pour rendre votre bibliothèque compatible avec Kore est de créer un fichier reprenant la convention (avec entre crochet l'optionnel) :</p> <p> </p> <div> <div> <div> <div> <pre class="ipsCode prettyprint"> [self] def NomDeFonction([arg1 as type, arg2 as type...argn as type]) [as type] alias NomDeFonctionCompile</pre> </div> </div> </div> </div> <p></p><p> Le nom de la fonction est celui qui sera utilisé sous Kore. Le nom de fonction compilé est le nom interne de la fonction dans votre bibliothèque après compilation et <a href="http://en.wikipedia.org/wiki/Name_mangling" rel="external nofollow">name mangling</a>.</p><p></p><p> Vous devez nécessairement préciser la commande include "Bibliothèque.extension" pour que votre code soit fonctionnel.</p><p></p><p> Exemple :</p><p></p><div> <div> <div> <pre class="ipsCode prettyprint"> module kore<br>        include "Jade_Console.lib"         class Console                 self def write(value as string) alias "_Print"                 self def write(value as bool) alias "_PrintBool"                 self def write(value as int) alias "_PrintInt"                 self def write(value as float) alias "_PrintFloat"                 self def pause alias "_Pause"<br>        end <br>end</pre> </div> </div> </div> <p></p><p> Le fichier de code Kore créé devra être placé dans le dossier "Headers", tandis que la bibliothèque compilée le sera sous le dossier "Library".</p></div> </div> <p></p><p><u>Historique :</u></p> <p> </p> <p><strong>12/07/2008</strong> : Première release publique (v0.001)</p><p><strong>13/07/2008</strong> : Release v0.002</p><p><strong>13/07/2008</strong> : Release v0.003</p><p><strong>13/07/2008</strong> : Release v0.004</p><p><strong>14/07/2008</strong> : Release v0.005</p><p><strong>26/07/2008</strong> : Release v0.006</p><p><strong>27/07/2008</strong> : Release v0.007</p><p><strong>27/07/2008</strong> : Release v0.008</p><p><strong>13/09/2008</strong> : Release v0.011</p><p><strong>A venir</strong> : Release v0.100</p> <p> </p> <div><strong>Aucun téléchargement disponible à l'heure actuelle</strong></div> <p>Tout avis sur le langage et sa syntaxe m'intéresse : est-ce simple, complexe ? Agréable à lire ? Quelles fonctionnalités vous sembleraient intéressantes pour un langage de ce genre ? Il faut des avis, donc allez-y, lâchez-vous ! </p> <p> </p> <p>Voici les sources de ce langage : <a href="https://github.com/kore-lang/compiler" rel="external nofollow">https://github.com/kore-lang/compiler</a></p>
  • [Langage] Julia

    13
    0 Votes
    13 Posts
    3k Views
    E
    <p>Coucou ! </p> <p> </p> <p style="text-align:center;"><img alt="1394911739-julia.png" src="<base_url>/applications/sslimageproxy/interface/image.php?url=http://image.noelshack.com/fichiers/2014/11/1394911739-julia.png"/></p> <p></p><p>Vous connaissez Julia ? Un language sous licence MIT créé par Stefan Karpinski, Viral Shah et Jeff Bezanson dont le but était de « Développer un langage de programmation rapide, capable d’être utilisé pour n'importe quelle tâche ». Ce langage de haut niveau <span>influencé par Matlab</span>, R, <span>Ruby</span>, Perl, Python est un langage de programmation multi-plateformes et à typage dynamique. Ce langage est très approprié dans le domaine des mathématique en vue du fait que ce langage ce rapproche des performances du C ( <a href="http://julialang.org/benchmarks/" rel="external nofollow">Benchmark</a>) .</p> <p> </p> <p>Exemple d'un "Hello World" :</p> <pre class="ipsCode prettyprint"> julia> echo hello echo hello </pre> <p>En voici un autre avec une fonction :</p> <pre class="ipsCode prettyprint"> function hypot(x,y) Commentaire x = abs(x) y = abs(y) if x > y r = y/x return xsqrt(1+rr) end if y == 0 return zero(x) end r = x/y return ysqrt(1+rr) end </pre> <p>Selon les concepteurs, ce langage ne s’agit pas là de remplacer les langages les plus courants, mais plutôt de donner un aperçu des futurs langages de programmation.</p> <p> </p> <p>Voilà </p>
  • [Langage] Rust

    17
    0 Votes
    17 Posts
    4k Views
    E
    <p style="text-align:center;"><span style="color:#ff0000;">( sujet en cours de réalisation )</span></p> <p style="text-align:center;"> </p> <p style="text-align:center;"> </p> <p style="text-align:center;"><img alt="144px-Rust_programming_language_black_lo" height="144" src="https://upload.wikimedia.org/wikipedia/en/thumb/d/d5/Rust_programming_language_black_logo.svg/144px-Rust_programming_language_black_logo.svg.png" width="144"/></p> <p><strong>Qu'est-ce que Rust ?</strong></p> <p> </p> <p>Rust est un langage de programmation multi-paradigme (procédural, fonctionnel, orienté objet), compilé et orienté système. Il se veut «<i> un langage orienté objet statique, typé, sûr, concurrentiel et efficace</i> » et donc être un sérieux des langages tels que le C, C++, D et Go. Ce langage est proposé par Mozilla sous licence MIT et Apache 2.</p> <p> </p> <p><b>Pourquoi encore un autre langage ?</b></p> <p> </p> <p><span style="font-weight:normal;">La raison est </span><span style="font-weight:normal;">simple. C'est </span><span style="font-weight:normal;">que les développeurs de Mozilla ont besoin de produire du code à la fois efficace, sécurisé, et parallélisable ; et le langage C++ qu’utilisent habituellement les développeurs Mozilla atteint rapidement ses limites sur ces deux derniers points.</span><b> </b><span style="font-weight:normal;">Et aussi, Mozilla a monté un projet nommé « Servo » ( Lien Github : <a href="https://github.com/mozilla/servo" rel="external nofollow">https://github.com/mozilla/servo</a> ) développé lui même en Rust. Servo, c'est quoi ? Eh bien c'est un </span><a href="http://fr.wikipedia.org/wiki/Moteur_de_rendu_HTML" rel="external nofollow"><span><span style="font-weight:normal;">moteur de rendu</span></span></a><span style="font-weight:normal;"> expérimental pour </span><a href="http://fr.wikipedia.org/wiki/Navigateur_web" rel="external nofollow"><span><span style="font-weight:normal;">navigateur web</span></span></a><span style="font-weight:normal;"> en cours de développement par </span><a href="http://fr.wikipedia.org/wiki/Mozilla" rel="external nofollow"><span><span style="font-weight:normal;">Mozilla</span></span></a><span style="font-weight:normal;"> et </span><a href="http://fr.wikipedia.org/wiki/Samsung_Electronics" rel="external nofollow"><span><span style="font-weight:normal;">Samsung</span></span></a><span style="font-weight:normal;">.</span></p> <p> </p> <p>La volonté de Mozilla, réutiliser ce que la riche histoire des langages de programmation leur avait laissé, et non de réinventer la roue une énième fois sans tirer des leçons du passé !</p> <p> </p> <p><b>Comment ce projet est né ?</b></p> <p> </p> <p><span style="font-weight:normal;">Au début, </span>Graydon Hoare, commence à<span style="font-weight:normal;"> développe</span><span style="font-weight:normal;">r</span><span style="font-weight:normal;"> </span><span style="font-weight:normal;">son propre</span><span style="font-weight:normal;"> langage nommé, </span><span style="font-weight:normal;">je vous le donne en mille, </span><b>Rust</b><span style="font-weight:normal;">, </span><span style="font-weight:normal;">dont le développement a</span><span style="font-weight:normal;"> débuté en 2006. C'est 3 ans </span><span style="font-weight:normal;">plus tard, </span><span style="font-weight:normal;">Graydon Hoare,</span><span style="font-weight:normal;"> jugea Rust </span><span style="font-weight:normal;">assez « mature » et c'est pour cela qu</span><span style="font-weight:normal;">'il décida d'être épaulé par Mozilla.</span></p> <p> </p> <p><b>Les caractéristique ?</b></p> <p>  </p> <p style="font-weight:normal;">Rust charge l’écriture de code dans des styles procéduraux, fonctionnels et orientés objet. Certaines de ses caractéristiques comprennent  l’inférence de type, des fonctions d’ordre supérieur, des modèles types de données algébriques, ainsi que du polymorphisme. Il a aussi un système de macro qui semble puissant. Mais l'un de ses grandes "forces" reste sa gestion de la mémoire et des "pointeurs". ( en savoir plus : <a href="http://www.rust-lang.org/" rel="external nofollow">http://www.rust-lang.org/</a> ).</p> <p style="font-weight:normal;"> </p> <p style="font-weight:normal;"> </p> <p> </p>
  • L'algorithmique, qu'est-ce ?

    6
    0 Votes
    6 Posts
    3k Views
    E
    <p>Bonjour !</p> <p> </p> <p>Certains ce demande sûrement qu'est-ce l'algorithmique, eh bien, voici une formation qui pourrait vous intéresser, proposé par <a href="http://www.grafikart.fr/" rel="external nofollow">Grafitkart</a>, la voici : <a href="http://www.grafikart.fr/formation/apprendre-algorithmique" rel="external nofollow">http://www.grafikart.fr/formation/apprendre-algorithmique</a> </p> <p></p><div class="ipsEmbeddedVideo" contenteditable="false"><div><iframe allowfullscreen="true" data-embed-src="https://www.youtube.com/embed/fgcGdkhtUcE?feature=oembed" frameborder="0" height="344" src="//melinyel.net/applications/core/interface/js/spacer.png" width="459"></iframe></div></div> <p></p><p> </p>