L'intérêt de ce wiki est surtout personnel et me sert de base de connaissances. Il n'est pas vraiment destiné à des visiteurs sauf à la rigueur à l'utilisateur tombant ici par le hasard de Google. J'ai décidé de noter ici toutes mes recherches (majoritairement en informatique) susceptibles de m'être à nouveau utiles. Tous les liens vers d'autres sites sont archivés et accessibles au format HTML récupéré via [[prog:singlefile|SingleFile]]. [[?do=recent|What's up doc?]] (dernières modifications) =====Ressources===== * Base de connaissances hors ligne : [[https://fr.wikipedia.org/wiki/Wikip%C3%A9dia:Wikip%C3%A9dia_hors-connexion|Wikipedia]] lisible avec Kiwix ([[https://download.kiwix.org/zim/|fichier zim]]), [[https://archive.org/details/stackexchange|StackOverflow]] (sans lecteur digne de ce nom). * Programmation orientée [[doc:poo|objet]], [[doc:poa|aspect]]. * Spécifique au WEB : * [[doc:web:tcp|TCP]] : Transmission Control Protocol, * [[doc:web:http|HTTP]] : HyperText Transfer Protocol, * [[doc:web:tls|TLS / SSL]] : Transport Layer Security / Secure Sockets Layer et OpenSSL, * [[doc:web:rest|REST]] : REpresentational State Transfer, * [[doc:web:sgbd|SGBD]] : Système de Gestion de Base de Données. * [[doc:web:reseau|Réseau]] : Réseau entreprise * [[doc:qualite|Qualité]] : [[doc:normes|normes]] * Données * [[doc:donnees:stockage|Stockage]], [[doc:sf|système de fichiers]] * [[doc:formatfile|Format de fichiers]], autre que [[doc:formatfile::xml|XML]] * [[doc:securite|Sécurité]] * [[doc:botnet|Botnet]] * Protocoles de communication : [[doc:protocole:modbus|JBUS / Modbus]], [[doc:protocole:rs485|RS485]], [[doc:protocole:profinet|Profinet]] * [[doc:quantique|Informatique quantique]] * Manipulation d'[[doc:images:3d|images 3D]]. * Comparateurs : [[https://db-engines.com/en/ranking|base de données]], [[https://caniuse.com|fonctionnalités des navigateurs web]] * Architecture : [[doc:architecture:ddd|DDD]] (Domain Driven Design) * Méthodes : [[prive:management:itil4|ITIL v4]], [[prive:management:togaf|TOGAF]] * [[doc:apple|Apple]] =====Open data===== * [[data:opendata|open data]] * [[data:favoris|Favoris]] * [[img|Images]] libres de droit * [[data:audio|Audio]] * [[data:cartographie|Cartographie]] =====Matériel===== * [[materiel:processeur|Processeur]] =====Syntaxe des langages de programmation===== ====Règles communes==== * [[lang:commun:syntaxe|Syntaxe]] (si applicable) * [[lang:commun:typographie|Règles typographiques]] ^ ^ C ^ C++ \\ Complément au C ^ C# ^ Java ^ Python ^ Recommandations ^ |URLs| [[lang:c:liens|X]] | [[lang:cpp:lien|X]] | [[lang:csharp:liens|X]] | [[lang:java:liens|X]] | [[lang:python:liens|X]] | [[lang:recommandation:liens|X]] | |Préprocesseur| [[lang:c:preprocesseur|X]] | [[lang:cpp:preprocesseur|X]] | [[lang:csharp:preprocesseur|X]] | [[lang:java:preprocesseur|X]] | [[lang:python:preprocesseur|X]] | [[lang:recommandation:preprocesseur|X]] | |Annotations / \\ Attributs| [[lang:c:attribut|X]] | [[lang:cpp:attribut|X]] | [[lang:csharp:attribut|X]] | [[lang:java:annotation|X]] | [[lang:python:annotation|X]] | [[lang:recommandation:annotation|X]] | |Variables| [[lang:c:variable|X]] | [[lang:cpp:variable|X]] | [[lang:csharp:variable|X]] | [[lang:java:variable|X]] | [[lang:python:variable|X]] | [[lang:recommandation:variable|X]] | |Coding style| [[lang:cpp:codingstyle|X]] | [[lang:cpp:codingstyle|X]] | [[lang:csharp:codingstyle|X]] | [[lang:java:codingstyle|X]] | [[lang:python:codingstyle|X]] | [[lang:recommandation:codingstyle|X]] | |Cast| [[lang:c:cast|X]] | [[lang:cpp:cast|X]] | [[lang:csharp:cast|X]] | [[lang:java:cast|X]] | [[lang:python:cast|X]] | [[lang:recommandation:cast|X]] | |Conditions (''if''/''switch'')| [[lang:c:condition|X]] | [[lang:cpp:condition|X]] | [[lang:csharp:condition|X]] | [[lang:java:condition|X]] | [[lang:python:condition|X]] | [[lang:recommandation:condition|X]] | |Boucles| [[lang:c:boucles|X]] | [[lang:cpp:boucles|X]] | [[lang:csharp:boucles|X]] | [[lang:java:boucles|X]] | [[lang:python:boucles|X]] | [[lang:recommandation:boucles|X]] | |Fonctions| [[lang:c:fonctions|X]] | [[lang:cpp:fonctions|X]] | [[lang:csharp:fonctions|X]] | [[lang:java:fonctions|X]] | [[lang:python:fonctions|X]] | [[lang:recommandation:fonctions|X]] | |Classes| [[lang:c:classes|X]] | [[lang:cpp:classes|X]] | [[lang:csharp:classes|X]] | [[lang:java:classes|X]] | [[lang:python:classes|X]] | [[lang:recommandation:classes|X]] | ====C==== * [[lang:c:noyaulinux|Spécifique noyau Linux]] * [[lang:c:syntaxe|Syntaxe]] * [[lang:c:string|String]] * [[lang:c:microcontroleur|Microcontrôleur]] * [[lang:c:lieur|Lieur]] (ou édition/éditeur de liens) * Net : [[lang:c:net:client_serveur|client/serveur]] * [[lang:c:windows|Windows]] * Normes : [[lang:c:normes:misra|Misra]] * Embarquement de fichiers (Windows/Linux) : [[lang:c:embed|embed]] ====C++==== * [[lang:cpp:ressourcesmultiples|Ressources multiples]] * [[lang:cpp:motscles|Mots clés]] * [[lang:cpp:include|Include]] * [[lang:cpp:algorithm|algorithmes]] * [[lang:cpp:container|Conteneur]] (list, vector, queue, ...) * [[lang:cpp:constructeur|Constructeur]] * [[lang:cpp:c|Compatibilité avec le C]] * [[lang:cpp:smartptr|pointeur intelligent]] * [[lang:cpp:rvalue|rvalue]] * [[lang:cpp:optional|optional]], [[lang:cpp:variant|variant]] * [[lang:cpp:array|array]] * [[lang:cpp:auto|auto et decltype et lambda]] * [[lang:cpp:template|Template]], [[lang:cpp:templatespecialisation|spécialisation]] * [[lang:cpp:lieur|Lieur]] (ou édition/éditeur de liens) * [[lang:cpp:pch|PCH]] ou PreCompiled Header * [[lang:cpp:stream]] * [[lang:cpp:coroutine|Coroutine]] * [[lang:cpp:concept|Concept]] * données : [[lang:cpp:string|String]], [[lang:cpp:ranges|ranges]] * [[lang:cpp:mutex|mutex]], [[lang:cpp:thread|Thread]], [[lang:cpp:openmp|OpenMP]] * [[lang:cpp:chrono|Chrono]] * Normes : [[lang:cpp:normes:misra|Misra]] ====C#==== * [[lang:csharp:syntaxe|Syntaxe]] * [[lang:csharp:nombres|Nombres]] * [[lang:csharp:textes|Textes]] * [[lang:csharp:array|Tableaux]] * [[lang:csharp:list|Listes, énumérables]] * [[lang:csharp:struct|Struct]] * [[lang:csharp:IHM|IHM]] * [[lang:csharp:ressouces|Gestion des ressources internes et dépendances]] * [[lang:csharp:dictionary|Dictionnaire]] * [[lang:csharp:readerwriter|Les Reader et les Writer (manipulation de fichiers)]], [[lang:csharp:serialisation|Sérialisation]] * [[lang:csharp:images|Les images]] * [[lang:csharp:console|Console]] * [[lang:csharp:web|Web]] * [[lang:csharp:thread|Thread]] * [[lang:csharp:windows|Windows]] * [[lang:csharp:exceptions|Exceptions]] * [[lang:csharp:reflexion|Réflexion]] * [[lang:csharp:clr|CLR (C++/CLI)]], [[lang:csharp:unmanaged|code non managé / DLL]] * Net : [[lang:csharp:net:client_serveur|client/serveur]] * [[lang:csharp:droits|Droits]] * Design pattern : [[lang:csharp:designpattern:mvc|MVC]] pour WinForm, [[lang:csharp:designpattern:producteur_consommateur|producteur / consommateur]] * [[lang:csharp:gc|Garbage collecteur]] ====Java==== * [[lang:java:ressourcesmultiples|Ressources multiples]] * [[lang:java:enum|Enum]] * [[lang:java:VM|Machine virtuelle]] * [[lang:java:boucles|boucles]] et [[lang:cpp:algorithm|algorithmes]] * [[lang:java:class|Classe]] * [[lang:java:dictionary|Dictionnaire]] * [[lang:java:console|Console]] * [[lang:java:structure_donnees|Structure de données]] * [[lang:java:readerwriter|Les Reader et les Writer (manipulation de fichiers)]] * [[lang:java:template|Template]] * [[lang:java:lambda|Lambda]] * [[lang:java:aspectj|AspectJ]] : programmation orienté aspect. * [[lang:java:thread|Thread]] * [[lang:java:jni|JNI]] (interfaçage entre Java et C) * Net : [[lang:java:net:client_serveur|client/serveur]] * GUI : [[lang:java:gui:awt|AWT]], [[lang:java:gui:swing|Swing]] * SQL : [[lang:java:jdbc|JDBC]] * [[lang:java:xml|XML]] * Java EE * [[lang:java:spring|Spring]] : framework MVC * [[lang:java:jpa|JPA]] : persistance * [[lang:java:rest|REST]] * [[lang:java:i18n|Internationalisation]] ====Python==== * [[lang:python:definitions|Définitions]] * [[lang:python:installation|Installation]] * [[lang:python:structure|Structure]] / arborescence d'un projet de base (setup.py). * [[lang:python:venv|virtualenv]] : environnement virtuel avec virtualenv * [[lang:python:poo|Programmation Orientée objet]] * [[lang:python:container|Conteneurs]] * [[lang:python:thread|Thread]] * [[lang:python:package|Package]] * [[lang:python:linter|Qualité]] (pylint, mypy, Black) * [[lang:python:wasm|Web Assembly]] (pyodide) * Tests : [[lang:prog:selenium|Selenium]] * [[lang:python:profiling|Profiling]] * [[lang:python:xml|XML]] ====Angular==== * [[lang:angular:cli|CLI]] * [[lang:angular:projet|Projet]] * [[lang:angular:traduction|Traduction]] * [[lang:angular:test|Test]] * Typescript: [[lang:typescript:classe|classe]] ====HTML==== * [[prog:html|HTML]], [[prog:javascript|Javascript]], [[prog:css|CSS]] * Test e2e (end-to-end) : [[prog:cypress|Cypress]] * Conformité : [[prog:pa11y|Pa11y]] ====Node.js==== * [[prog:nodejs:npm|npm]] ====Javascript==== * Visualisateur de données: * json : [[prog:javascript:bootstrap4|bootstrap4]] * Test : [[prog:javascript:jest|Jest]] ====Android - Java==== * [[lang:android:permission|Permissions]] * [[lang:android:retro_compatibility|Rétro compatibilité]] * [[lang:android:packaging|Packaging]] (ou apk) * UI : [[lang:android:ui:toolbar|Toolbar]] * [[lang:android:drawable|Drawable]] * Conteneur : [[lang:android:fragment|Fragment]], [[lang:android:layout|Layout]] * [[lang:android:animation|Animator / Animation]] * [[lang:android:mvvm|MVVM]] * [[lang:android:static|Ressources et Environnement Statique]] ====Android - NDK==== * [[lang:android:log|Log]] * [[lang:android:system|Système]] ====Autres==== * [[lang:php:syntaxe|PHP]] * [[lang:matlab|MATLAB]] * [[lang:sql|SQL]] * [[lang:sql:ressources|Ressources]] * [[lang:regex|Expression régulière]] ou regex * [[lang:bash|Bash]] : [[prog:shellcheck|shellcheck]], [[prog:shfmt|Shfmt]] * yaml : [[prog:yamllint|yamllint]] (linter) * Programmation fonctionnelle : [[https://clean.cs.ru.nl/Clean|Clean]], [[https://www.haskell.org/|Haskell]], [[https://ocaml.org/|OCaml]], [[https://www.scala-lang.org/|Scala]], [[https://elixir-lang.org/|Elixir]] ===== Source des programmes ===== ====HelloWorld==== * [[helloworld:design_pattern|Design Pattern]] * [[helloworld:architecture|Architecture]] : Modélisation [[helloworld:architecture:uml|UML]] et [[helloworld:architecture:sysml|SysML]]. * Algorithmes : [[helloworld:algorithms:numbers|nombres]], [[helloworld:algorithms:ranges|intervalles]], [[helloworld:algorithms:loop|boucles]], [[helloworld:algorithms:string|string]], [[helloworld:algorithms:comptable|comptable]], [[helloworld:algorithms:geometrie|géométrie]] * Web * [[helloworld:web:java|Java]] * Internationalisation * [[helloworld:i18n:java|Java]] * Sécurité * [[helloworld:securite:Hash|Hash]] * Documentation * [[prog:doxygen|Doxygen]] avec des diagrammes [[prog:graphviz:dot|dot avec Graphviz]]. * Threads * Exécuteur : [[lib:boost#executeur|Boost]] ====Librairies==== * Multi-fonction : * C++ : [[lib:boost|Boost]] * [[prog:gnu|Suite GNU]] : [[prog:gnu:libc|glibc]] * Qualité * Java : [[prog:old:jass|Jass]] (obsolète) : Java with Assertion. * Sérialisation : * C++ : * [[prog:protobuf|Protocol Buffers et gRPC]] : sérialise et désérialise une structure de données définie au format ''.proto''. gRPC permet de créer un système client / serveur via le protocole RPC. * [[lib:messagepack|MessagePack]] : génère du JSON au format binaire. Permet également de la sérialisation. * [[lib:cereal|cereal]] : sérialise et désérialise du format JSON, XML ou binaire. * Interopérabilité entre langage : * Javascript/WebAssembly : [[prog:emscripten|Emscripten]] : convertir du code C++ en WebAssembly via llvm, [[prog:Javy|Javy]] : converti du Javascript en wasm. * Générateur de wrapper [[lib:swig|SWIG]] : crée une interface pour rendre compatible les entêtes d'un code C/C++ dans presque n'importe quel autre langage. * Interface graphique : * C/C++ : [[lang:c:gtk|GTK]]/[[https://www.gtkmm.org/|gtkmm]] (UI), [[lang:cpp:qt|Qt]] (UI), [[https://www.sfml-dev.org/|SFML]] (SDL), [[lang:cpp:wxwidgets|wxWidgets]] * Tcl : [[lang:tcl|Tcl/Tk]] * Scientifique : * C++ : * Dépendances (ne s'utilise généralement pas directement mais par le biais de librairies de plus haut niveau) : [[lib:flann|Flann]], [[lib:qhull|Qhull]], [[lib:cuda|CUDA]], [[http://eigen.tuxfamily.org/index.php?title=Main_Page|Eigen]], [[https://www.cgal.org/|CGAL]], [[lib:lapack|LAPACK]] (résolution de système linéaire) * Mathématiques : [[lib:gcem|GCE-Math / gcem]] (fonction mathématiques constexpr) * Traitement de points : [[lib:pcl|PCL]] (Point Cloud Library), [[https://github.com/libigl/libigl|libigl]], [[https://github.com/gilbo/cork|cork]] (obsolète, peut se remplacer par libigl + CGAL mais plus lent) * Maillage : [[lib:mumps|MUMPS]] (solveur de matrices creuses), [[lib:metis|METIS]] (mailleur + renumérotation), [[lib:scotch|SCOTCH]] (partionnement en sous-domaine + renumérotation), [[lib:homard|HOMARD]] (maillage adaptatif 2D/3D), [[lib:triangle|Triangle]] (mini librairie pour le maillage Delaunay), [[lib:gmsh|Gmsh]] (mailleur), [[lib:ngsolve|NGSolve]] (mailleur entre autre), [[lib:mmg|Mmg]] (mailleur). * Résolveur d'équations : [[lib:ceres-solver|ceres-solver]] * Stockage des données : [[lib:hdf5|HDF5]] * Traitement d'ultrason : [[lib:must|MUST]] (Matlab UltraSound Toolbox) * Évaluateur d'expression : * c++ : [[lib:exprtk|ExprTk]], [[https://beltoforion.de/en/muparser/|muparser]], [[https://github.com/symengine/symengine|SymEngine]] * i18n, internationalisation, l10n, localisation : * javascript : [[lib:polyglot]] * logger : * C++ : [[lib:spdlog|spdlog]] * texte : * C++ : [[lib:dragonbox|Dragonbox]] (conversion de float vers string) * Format de fichiers * XML : * C : [[lib:libxml2]] (DOM et SAX) * C++ : [[lib:pugixml|pugixml]] (DOM) * JSON : * C++ : [[lib:nlohmann|nlohmann]] (SAX et DOM), [[lib:cpp:rapidjson|RapidJSON]] (SAX et DOM), [[lib:cpp:simdjson|simdjson]] (lecture seule, valide aussi l'UTF-8 via ''simdjson::validate_utf8'') * INI * C++ : [[lib:mini|mINI]] * Windows : * Détournement du chargement des DLL : [[lib:detours|Detours]], [[https://github.com/TsudaKageyu/minhook|MinHook]] * Javascript : * [[lib:captcha|Captcha]] * Sécurité : [[lib:rlbox|RLBox]] (SandBox), [[lib:zxcvbn|zxcvbn]] (vérificateur de mot de passe) * Embarqué : serveur web [[https://github.com/cesanta/mongoose/|Mongoose]], [[lib:ufs|Systèmes de fichiers]] * [[lib:cpp:reseau|Réseau]] / Client / serveur * Drivers : C++ : [[lib:libusb|libusb]] * Emulateur : OpenCL sur CPU avec [[lib:pocl|PoCL]] * Gestionnaires de librairies : [[prog:vcpkg|vcpkg]] ====Matériel==== * Microchip : interface graphique [[lang:c:gfx_mgl|Microchip Graphics Library]] * [[materiel:raspberry|Raspberry Pi]] * [[materiel:onduleur|Onduleur]], inclus [[prog:networkupstools|Network UPS Tools]], [[prog:winpower|WinPower]], [[prog:powerchute|PowerChute Personal Edition]] et [[prog:powerchute|PowerChute Business Edition]] (APC). ====Amélioration==== * [[amelioration:taille:c|Taille]] * Localisation * [[localisation:c|C/C++]] * Qualité et audits * [[audit:bonnespratiques|Mes règles de bonne pratique]] (tous langages confondus) * Analyseur dynamique de programmes : * [[prog:intelinspector|Intel Inspector]] : analyseur de fuite mémoire et de problème de concurrence entre threads * [[prog:perf|Perf]] : Linux profiling with performance counters * [[prog:wpr|Windows Performance Recorder]] * Désassembleur / décompilateur : * [[audit:retdec|RetDec]], [[prog:ghidra|Ghidra]], [[prog:reko|Reko]] : décompilateurs en C. * [[prog:x64dbg|x64dbg]] : désassembleur et débogueur 32 et 64 bits pour Windows. * [[prog:snowman|snowman]] : décompilateur en C. * [[prog:ilspy|ILSpy]] : décompilateur en C# * C / C++ : * [[prog:cppcheck|CppCheck]] : analyseur statique de code. * [[prog:cccc|cccc]] : analyseur de la complexité du code. * [[prog:gcc|gcc]] : gcc peut fournir des informations précieuses. * clang : [[prog:clang-format|clang-format]], [[prog:clang-tidy|clang-tidy]], [[prog:clang-include-fixer|clang-include-fixer]], [[prog:llvm-cov|llvm-cov]], [[prog::llvm-sanitizer|sanitizer]] * [[prog:clazy|clazy]] : analyseur statique de code pour Qt. * [[prog:cppinsights|C++ Insights]] : affiche le code source avec la vision du compilateur. * [[prog:iwyu|iwyu]] : optimise la liste des ''#include'' dans les fichiers source. * Intégration continue : [[prog:jenkins|Jenkins]], [[prog:travis|Travis]], [[prog:githubactions|Github Actions]], [[prog:gitlab|GitLab]]. * Code review : [[prog:phabricator|Phabricator]], [[projets:libreoffice|Gerrit]] * [[prog:gestionprojet|Gestion de projet]] * Java : * [[prog:cccc|cccc]] : analyseur de la complexité du code. * [[prog:checkstyle|CheckStyle]] : vérificateur de la conformité du style d'écriture du code. * [[prog:eclemma|EclEmma]] : couverture de code sous Eclipse. * [[prog:findbugs|FindBugs]] : analyseur statique de code. * [[prog:ucdetector|UCDetector]] : plugin pour Eclipse. Analyseur statique de code (trouve le code mort). * C# : [[prog:sonarlint|SonarLint]] : analyseur statique de code. * ELF : [[prog:elfdissector|ELF Dissector]] : analyseur statique de binaire au format ELF. Donne les librairies dépendantes, la taille du code assembleur des fonctions, le nombre d'octets perdus dans chaque classe et structure dû au padding et la liste des destructeurs qui aurait due être virtuels. * [[audit:rapports|Rapports]] publics de bugs et bases de données de failles de sécurité. * Windows : [[prog:applicationverifier|Microsoft Application Verifier]] * Technique de [[mise_a_jour:refactoring|Refactoring]] * [[amelioration:android|Android]] ====Debug==== * Librairies : [[debug:librairie|Analyse / manipulation des librairies]] ====Tests==== * [[tests:type|différents types]] * [[tests:java|Java]] * [[tests:astuces|astuces]] * Programmes * fuzzers généraux : [[prog:fuzzer:afl|American Fuzzy Lop]] alias [[prog:fuzzer:afl|afl]], [[prog:clang-fuzzer|clang]], [[prog:fuddly|fuddly]], de code C/C++ ([[prog:csmith|csmith]], [[prog:yarpgen|yarpgen]] alias ''Yet Another Random Program Generator'') * [[prog:clumsy]] : altération des paquets Ethernet * [[ide:modelisation:squashtest|Squash]] : saisie/importation des exigences, rédaction des tests Gherkin, exécution via [[prog:jenkins|Jenkins]] et rapport. ====Les problèmes==== * Compilation * [[probleme:compilation:c|Question / réponse des messages d'erreur type]] * [[probleme:compilation:visualstudio|Visual Studio]] * [[probleme:compilation:tolerance|Tolérance]] (non portabilité) de Visual Studio / gcc / clang. * [[probleme:liaison|Lieur]] * [[probleme:liaison:vs|Visual Studio]], [[probleme:liaison:boost|boost]] * [[probleme:liaison:mingw_vs|Compatibilité entre MinGW (msys2) et Visual Studio]] * Librairies : [[probleme:compilation:lib:icu]] * Bug : la structure du dossier respecte celui des ''HelloWorld''. * [[probleme:bug:web|Web]] * [[probleme:rapport|Rapport]] * Débogage * traces : strace (surveille les appels système), [[prog:uftrace|uftrace]] (peut afficher l'état de la pile, les temps d'exécution, l'historique des appels fonction et autres. Nécessite ''-pg''), fatrace (affiche l'accès aux fichiers, nécessite un accès root). * Activer les [[linux:dump|dump Linux]] * Logiciels * [[prog:gdb|GDB]] * [[prog:windbg|WinDBG]] ====L'après==== * Mise à jour * Angular : [[mise_a_jour:angular:material|Material]] * C : [[mise_a_jour:c:poppler|Poppler]], [[mise_a_jour:c:fatfs|FatFs]], [[mise_a_jour:c:openssl|OpenSSL]] * C++ : [[mise_a_jour:cpp:cuda|CUDA]], [[mise_a_jour:cpp:gcc]] * C# : [[mise_a_jour:csharp:projet|projet Visual Studio]] * Java : [[mise_a_jour:java:hibernate|Hibernate]] * [[lang:coq:mise_a_jour|Coq]] * [[prob:gradle:mise_a_jour|Gradle]] * Bugs * [[bugs:top|Le top des meilleurs bugs]] * [[bugs:halloffame|Hall of fame]] * [[bugs:google|Google]] ====Code source==== * [[prog:source|Divers programmes]] * [[prog:source:code_google_com|code.google.com]] =====Plateformes===== * [[plateforme:windows|Windows]] * [[plateforme:android|Android]] =====Projets===== ====Fun==== * Intelligence artificielle * IA déterministe : [[projets:ia:mario|Mario de Tom7]] * [[projets:ia:llama|LLaMA]] de Meta * Challenge * [[http://www.ioccc.org|International Obfuscated C Code Contest]], {{ :projets:fun:ioccc:all.tar.bz2 |Archive du 27/11/2018}} ====Participation à des projets open-source==== * [[projets:libreoffice|LibreOffice]] ===== Gestion de la source des programmes ===== * Autotools * [[autotools:commandes|Les commandes]] * [[autotools:configure.ac|configure.ac]] * [[autotools:makefile.am|Makefile.am]] * [[prog:cmake|CMake]], [[prog:cmake-format|cmake-format]], partie [[prog:cmake:vs|Visual Studio]] * [[prog:gradle|Gradle]] * [[coverity|Coverity]] * [[prog:patch|patch]] * [[prog:git|Git]], [[prog:github|GitHub]], [[prog:svn|SVN]] =====Éditeur de source, Environnement de Développement IDE===== * [[ide:android_studio|Android Studio]] * Eclipse * [[ide:eclipse:projet|Création et configuration des projets]] * [[ide:eclipse:config_base|Configuration de base d'un nouveau projet]] * [[ide:eclipse:tomcat|Tomcat]] * [[ide:eclipse:aspectj|AspectJ]] * [[ide:eclipse:jpa|JPA]] * [[ide:eclipse:bugs|Bugs]] : si, si, la rumeur prétend qu'il en existe. * [[ide:eclipse:clavier|Raccourcis clavier]] * [[ide:vim|Vim]] + YouCompleteMe * [[prog:clang|clang]] : clang aussi. Il indente, fait des analyses statiques, et bien d'autres... Pour les options communes, voir dans [[prog:gcc|gcc]]. * [[prog:compilerexplorer|Compiler Explorer]] * Visual Studio * [[ide:vs:versions|Versions]] * [[ide:vs:csproj|Modification de la configuration des projets]] : via l'IDE ou par un éditeur de texte. * [[ide:vs:raccourcis_clavier|Raccourcis clavier]] * [[ide:vs:dump|Dump]] * [[ide:vs:bugs|Bugs / erreur à la compilation]] * [[ide:vs:configuration|Configuration]] * [[ide:vs:editeur|Editeur]] * Modules : * [[prog:ccache|ccache]] : compiler cache intégrable à Visual Studio. * [[prog:sccache|sccache]] : compiler cache sur cloud non intégrable à Visual Studio. * [[prog:fastbuild|FASTBuild]] : compilation parallèle et cache. Syntaxe particulière. Support peut-être par cmake. * Utilitaire : [[prog:vcperf|vcperf]] * [[prog:vsc|Visual Studio Code]] : [[prog:vsc:extension|extensions]], [[prog:vsc:module_highlight|coloration syntaxique sur mesure]] * LPCXpresso / MCUXpresso * [[:ide:lpcxpresso:projet|Projets]] * [[:ide:lpcxpresso:bugs|Bugs]] * [[prog:firefox|Firefox]] * [[ide:firefox:plugins|Plugins]] * [[ide:prototypeihm|Prototypage d'IHM]] * Modélisation ([[https://www.urbanisation-si.com/les-meilleurs-outils-de-modelisation-uml-sysml-bpmn-dmn-de-l-annee-2016-et-les-gagnants-sont|inspiration]]) * Carte sémantique / carte conceptuelle / carte de connaissances / graphe de connaissances : [[ide:modelisation:yed|yEd]] (Flowchart), [[ide:modelisation:cmap|Cmap]] * UML (diagramme de séquence) : [[ide:modelisation:mscgen|Mscgen]], dépassé par [[ide::modelisation:plantuml|PlantUML]]. * UML (diagramme de composant) : [[ide:modelisation:papyrus|Papyrus (Eclipse)]]. [[ide::modelisation:plantuml|PlantUML]] ne supporte pas la notion de port. * Gestion des exigences / spécifications : [[ide:modelisation:osrmt|OSRMT]], [[ide:modelisation:squashtest|Squash]] * [[doc:exemple:exigence|Exemple d'exigences]] * [[ide::modelisation:plantuml|PlantUML]] : diagrammes UML et quelques autres. * à tester : * Carte sémantique / carte conceptuelle / carte de connaissances / graphe de connaissances : [[https://vue.tufts.edu/|VUE]], [[http://www.freeplane.org|Freeplane]] * UML : [[ide:modelisation:visual_paradigm|Visual Paradigm]] (édition gratuite avec UML, SysML, ERD) * UML, BPMN, Archimate, SysML : [[ide:modelisation:modelio|Modelio]], [[ide:modelisation:papyrus|Papyrus (Eclipse)]], [[ide:modelisation:open_modelsphere|Open ModelSphere]] * Archimate : [[prog:archi|Archi]] * BPMN uniquement : * PC : [[ide:modelisation:bonitasoft|Bonitasoft]], autres [[ide:modelisation:bpmn2_modeler|BPMN2 Modeler (Eclipse)]], [[ide:modelisation:jbpm|jBPM]], [[ide:modelisation:activiti|Activiti]], [[ide:modelisation:camunda|Camunda]] + BPM (Business Process Management) * Cloud : [[https://app.heflo.com/Process/Editor|Heflo]] * DMN (Decision Modeling Notation) : meilleur(?) [[https://openrules.com/|OpenRules]], autres [[ide:modelisation:camunda|Camunda]] * API : [[prog:openapigenerator|OpenApi Generator]] (REST) * Console : [[prog:powershell|PowerShell]] * Méthodes formelles : [[prog:atelierb|Atelier B]] / méthode B, [[prog:rodin|Rodin]] / Event-B, [[prog:cadp|CADP]] =====Logiciels spécifiques aux languages===== * C * [[https://github.com/Microsoft/checkedc|Checked C]] : surcouche au C avec vérification pour avoir un C plus sécurisé. * C# * [[prog:csharp:mono|Mono]] : compilateur C# de Mono * [[prog:stylecopanalyzers|StyleCop Analyzers]] (anciennement FxCop) : analyseur statique de code. N'est plus maintenu mais reste efficace. * Java * [[prog:java:javac]] : le compilateur de Java. * [[prog:java:jar]] : le fabricant de jar. * [[prog:java:java]] : l'exécuteur de programme compilé Java. * [[prog:java:jd-gui]] : décompilateur Java. * Javascript * [[prog:javascript:greasemonkey|Greasemonkey]] : code javascript exécuté au chargement des pages. =====Programmes divers===== ====Data mining==== * [[prog:weka|Weka]] * [[prog:hdf|HDFView]] ====Ports==== * COM * Espions (afficheur des trames d'un port COM) : [[prog:comtools|ComTools]], [[prog:DeviceMonitoringStudio|Device Monitoring Studio]], [[prog:datascope|Datascope]]. * Virtuels : [[prog:com0com|com0com]] : créer une paire de ports virtuels. * Générateur de trames : [[prog:ModbusMasterSimulator|Modbus Master Simulator]], [[prog:KScadaModbusDoctor|KScada Modbus Doctor]] : simulateur d'un maître en JBUS. * TCP/IP * HSMS : [[prog:areyouthere|AreYouThere]] ====Editeurs==== * LibreOffice : [[prog:libreoffice:macros|Macros]] * Microsoft Office : [[prog:office:word|Word]], [[prog:office:excel|Excel]], [[prog:office:outlook|Outlook]], [[prog:office:teams|Teams]] * PDF : [[prog:pdfsam|PDFMerge]] (extract pages, split, merge, mix and rotate PDF), [[prog:ghostscript|Ghostscript]], [[prog:qpdf|qpdf]] (manipulation / décryptage / réparation) * PST : [[prog:outlookdataviewer|Outlook Data Viewer]] * Hexadécimal : [[prog:hxd|HxD]] * Convertisseur : MHTML => HTML ([[prog:mht2htm|mht2htm]]), [[prog:mhtmlconverter|MHTML Converter]] * [[prog:vespucci|Vespucci]] : éditeur OpenStreetMap pour Android * Markdown : [[prog:asciidoc|AsciiDoctor]], [[prog:pandoc|pandoc]] ====Multimédia==== * [[prog:ffmpeg|ffmpeg]] : convertisseur de vidéo, * [[prog:exiftool|ExifTool]] : éditeur des informations ''Exif'' contenues dans les images, * [[prog:hugin|Hugin]] : logiciel pour transformer de multiples images en un panorama, * [[prog:imagemagick|Imagemagick]] : manipulation d'images, * [[prog:mkvtoolnix|mkvtoolnix]] : éditeur de vidéo au format ''mkv'', * [[prog:sharex|ShareX]] : logiciel de capture d'écran (images et vidéos), * [[prog:virtualdub|VirtualDub]] : logiciel de traitement d'image. Ici, pour stabiliser une vidéo tremblante. * [[prog:yt-dlp|yt-dlp]] (youtube-dl) : téléchargeur de vidéo pour Youtube, Pluzz, ..., * [[prog:cloudcompare|CloudCompare]] : manipulateur de nuages 3D * [[prog:sketchup|SketchUp]] : logiciel 3d spécialisé dans l'architecture * [[prog:xnview|XnView MP]] : visionneuse d'images avec onglet carte Google Maps et géolocalisation des images. * [[prog:fsresize|FSResizer]] : modification de masse d'images * [[prog:meshroom|Meshroom]], [[prog:colmap|colmap]] : reconstitution 3D sur la base d'images 2D * [[prog:blender|Blender]] : modélisation 3D ====Utilitaires Windows==== * En lien avec les disques dur / USB / CD * [[prog:ddwin|dd]] : dd pour Windows * [[prog:osfmount|OSFMount]] : permet de monter des images récupérées via dd (par exemple). * Gravure d'iso vers CD/USB : [[prog:imgburn|ImgBurn]] (vers CD), [[prog:etcher|Etcher]] (multiplateforme mais lourd, vers USB sauf boot Windows), [[prog:win32diskimager|Win32 Disk Imager]] (Windows seulement mais léger, vers USB sauf boot Windows, format DD pas ISO), [[prog:rufus|Rufus]] (vers USB y compris boot Windows, format DD et ISO). * [[prog:sdformatter|SD Memory Card Formatter]] : permet de formater uniquement des cartes SD sous Windows y compris lorsqu'elles ont des partitions. * [[prog:rmprepusb|RMPresUSB]] : permet de formater tous types de périphériques USB sous Windows y compris lorsqu'elles ont des partitions. * [[prog:recuva|Recuva]] : récupération de fichiers supprimés ou sur des lecteurs corrompus. * Recherche de fichiers : [[prog:agent_ransack|Agent Ransack]] (NTFS seulement via MFT), [[prog:wiztree|WizTree]] (NTSF via MTF et autres systèmes (sans accélérateur)). * [[prog:hddscan|HDDScan]] : afficher les informations SMART * Aide au diagnostic de l'exécution de fichiers : * [[prog:sysinternals|Sysinternals Suite]] : divers utilitaires. * [[prog:dependencywalker|Dependency Walker]] : donne les symboles des dll/exe, dépendances récursives. * [[prog:pestudio|pestudio]] : analyseur de fichier dll/exe (section, string, dépendances (non récursives), ...). * [[prog:peid|PEiD]] : analyseur de fichier dll/exe (section, entrypoint, ...). * [[prog:inno_setup|Inno Setup]], [[prog:nsis|NSIS]], [[prog:wix|WiX Toolset]] : créateur d'installateur. * {{ :prog:windowsessentials2012:wlsetup-all.exe |Windows Essentials 2012 FR}} : Microsoft OneDrive, Galerie de photos et Movie Maker, Contrôle parental, Messenger, Writer, Windows Live Mail * [[prog:unlocker|IObit Unlocker]] : Effacer des fichiers bloqués par d'autres processus. * [[prog:winhlp|WinHlp32]] : pour lire les fichiers .hlp sous Windows 10 ====Internet==== * [[prog:apache|Apache]], [[prog:wamp|WampServer]] (non portable, inclus php, mysql), [[prog:uwamp|UwAmp]] (portable, inclus php, mysql) : démon http. * Navigateur web : [[prog:firefox|Firefox]], [[benchmark:navigateur_web|benchmark]] * [[prog:mariadb|MariaDB]] : serveur SQL. * [[prog:heidisql|HeidiSQL]], [[prog:phpmyadmin|phpMyAdmin]] : éditeur SQL. * [[prog:piwigo|Piwigo]] : galerie photo. * [[prog:dokuwiki|Dokuwiki]] : wiki. * [[prog:piwik|Piwik]] : analyseur de trafic de site web. * [[prog:wireshark|Wireshark]] : sniffeur de flux réseau (et USB) * [[prog:rawcap|RawCap]] : sniffeur de flux réseau, y compris de la boucle locale (127.0.0.1). * Divers API : [[web:api:archiveouverte|Archive ouverte HAL]] * [[prog:mremoteng|mRemoteNG]]; [[prog:putty|Putty]] : client ssh * [[prog:filezilla|FileZilla]] : transfert FTP et SFTP ====Gestion de fichiers==== * [[prog:windirstat|WinDirStat]] : indique l'occupation disque de chaque dossier. * [[prog:docfetcher|DocFetcher]] : indexation des fichiers pour accélérer la recherche de contenu. * [[prog:clonezilla|Clonezilla]] : CD live créateur d'images de disque dur * [[prog:winmerge|WinMerge]] : Comparateur de fichiers * [[prog:rsync|rsync]] : synchronisation de dossiers / fichiers (support copie direct ou via ssh) * [[prog:freefilesync|FreeFileSync]] : synchronisation de dossier (copie direct uniquement) avec interface graphique ====Réseau==== * [[prog:ssh|SSH]] : connexion sécurisée. * [[prog:advanced_ip_scanner|Advanced IP Scanner]] et Advanced Port Scanner : scanner d'adresses IP et de port ====Virtualisation==== * [[prog:virtualbox|VirtualBox]] * [[prog:docker|Docker]] * [[prog:wsl|Windows Subsystem for Linux]] (WSL) ====Logiciels de calcul==== * [[prog:matlab|MatLab]] : calcul numérique * [[prog:octave|Octave]] : équivalent matlab, calcul numérique. * [[prog:maxima|Maxima]] / wxMaxima : calcul formel =====Environnement Linux===== * Commandes console (presque) natives : [[cmd:file|file]], [[cmd:find|find]], [[cmd:kill|kill]], [[cmd:ls|ls]], [[cmd:mount|mount]], [[cmd:mv|mv]], [[cmd:sed|sed]], [[cmd:xargs|xargs]] * Autres applications * [[cmd:wget|wget]] * [[cmd:systemctl|systemctl]] * [[cmd:monitor|Moniteur de ressources]] : CPU (top) et IO (iotop et iostat). * [[cmd:iconv|iconv]] : conversion d'encodage de fichiers. * Configuration de Linux * [[linux:raid|RAID]] * [[linux:gentoo|Gentoo]] * [[linux:kernel|Kernel]] * [[linux:reseau|Réseau]] * [[linux:gnome|Gnome]] * [[synology|Synology]] =====Environnement Windows===== * Windows * [[windows:registre|Base de registre]] * [[windows:server|Windows Server]] * [[windows:maintenance|Maintenance]], [[windows:update|Windows Update]] * [[windows:sf|Système de fichiers]] * [[windows:erreurs|Messages d'erreur]], [[prog:windbg|BSOD]] * [[windows:framework|Frameworks]] : Microsoft .NET Framework 1.1, Visual Basic 5/6 : Run-Time Redistribution Pack, vb5fr.dll, etc... * Compatibilité avec Linux * MSYS2 : [[windows:compatibilite_linux:msys2:configuration|configuration]], [[windows:compatibilite_linux:msys2:problemes|Problèmes]] =====Autour de l'informatique===== * [[divers:sociologie|Études sociologiques]] =====Scientifiques===== * Particules plus rapide que la lumière : [[https://www.maxisciences.com/vitesse-de-la-lumiere/decouverte-inattendue-de-particules-qui-depassent-la-vitesse-de-la-lumiere_art17193.html|Découverte inattendue de particules qui dépassent la vitesse de la lumière]] ({{ ::sciences:1-decouverte_inattendue_de_particules_qui_depassent_la_vitesse_de_la_lumiere.mhtml |archive}}), [[https://www.maxisciences.com/vitesse-de-la-lumiere/les-particules-plus-rapides-que-la-lumiere-une-erreur-experimentale_art22031.html|Les particules plus rapides que la lumière : une erreur expérimentale ?]] ({{ ::sciences:2-les_particules_plus_rapides_que_la_lumiere_une_erreur_experimentale_.mhtml |archive}}) =====Mathématiques===== * [[math:notation|Notation]] * [[math:ensemble|Ensemble]] * [[math:application|Application]] * [[math:eqdiff|Équations différentielles]] * [[math:vecteurs|Vecteurs]] * Matrices : [[math:matrices:definitions|définitions]], [[math:matrices:determinant|déterminant]], [[math:matrices:propres|valeurs et vecteurs propres]], système linéaire ([[math:matrices:systeme_lineaire:directe|résolution directe]], [[math:matrices:systeme_lineaire:suite|suite]]) * [[math:graphe|Graphes]] * [[math:mathjax|MathJax]] * [[math:images|Images]] * [[math:halloffame|Records]] : calcul des nombres irrationnels =====Génie Civil===== ====Logiciels==== ===Dessin=== * [[prog:cad|Logiciels de dessins]] (DWG : Autodesk AutoCAD, DWG TrueView, nanoCAD. DGN : Bentley Microstation DGN Viewer) * [[prog:rhino|Rhino]] : CAO dans le milieu du design industriel ou de l'architecture ===Calculs=== * [[prog:arcelormittal|ArcelorMittal]] * [[prog:cticm|CTICM]] * [[prog:cidect|CIDECT]] * Eléments finis * Calcul de structures : [[prog:freelem]] * Mécanique des fluides : [[prog:openfoam|OpenFOAM]] * Dlubal * [[prog:rwind|RWIND Simulation]] * [[prog:cstb|CSTB]] * [[prog:cstb#cim_feu|CIM'feu]] * Divers * [[prog:rdm|RDM]] : RDM v7 pour poutre, ossature et plaque. * [[prog:beamboy|BeamBoy]] : RMD pour poutre * Béton * [[prog:fondationsba|Fondations B.A.]] * [[prog:magicescalier|Magic Escalier]] ===Géotechnique=== * https://geo.verruijt.net/ * {{ :prog:verrujit:poroelasticity2016b.pdf |PoroElasticity2016b.pdf}} (Jun 24, 2016) Theory and problems of poroelasticity. * {{ :prog:verrujit:poroprograms2016b.zip |PoroPrograms2016b.zip}} (Jun 24, 2016) Programs and datasets for use with the above E-book. * {{ :prog:verrujit:soilmechbook2012.pdf |SoilMechBook2012.pdf}} (March 10, 2012) "Soil mechanics", an elementary textbook in PDF format. * {{ :prog:verrujit:soilmex.zip |SoilMex.zip}} (August 19, 2010) Summary and Exercises of Soil Mechanics. * {{ :prog:verrujit:soildynamicsbook.pdf |SoilDynamicsBook.pdf}} (Nov 21, 2009) Reference to book "Introduction to Soil dynamics" - Springer, Dordrecht, 2010. * {{ :prog:verrujit:soildynamicsprograms.zip |SoilDynamicsPrograms.zip}} (November 7, 2014) Programs for "Soil dynamics": LineLoad, StripLoad, etc. * {{ :prog:verrujit:tunnels.zip |Tunnels.zip}} (Nov 24, 2014) Elastic stresses and displacements around tunnels. Four programs and seven papers. * {{ :prog:verrujit:grondmechboek.pdf |GrondMechBoek.pdf}} (April 14, 2010) "Grondmechanica", een Nederlands leerboek, in de vorm van een PDF bestand. * {{ :prog:verrujit:spw.zip |SPW.ZIP}} (March 16, 2006) Analysis of a sheet pile wall in a layered soil, with multiple anchors. Soil response modeled by a series of elast-plastic springs. Includes a users manual, and theoretical background. * {{ :prog:verrujit:stb.zip |STB.ZIP}} (November 29, 2010) Analysis of the stability factor of a slope in a non-homogenous soil, using Bishop's method, with some additions. Includes a users manual, and theoretical background. * {{ :prog:verrujit:alp99.zip |ALP99.ZIP}} (March 16, 2006) Axially loaded pile: Elastic pile supported by elasto-plastic springs. * {{ :prog:verrujit:llp99.zip |LLP99.ZIP}} (March 16, 2006) Laterally loaded pile : Elastic beam supported by elasto-plastic springs. * {{ :prog:verrujit:gwdivide.exe |GWDivide.exe}} (Feb. 27, 2006) Groundwater flow under a water divide. * {{ :prog:verrujit:beaver.zip |BEAVER.ZIP}} (Feb. 27, 2006) Programs for J. Bear & A. Verruijt: "Modeling Groundwater Flow and Pollution", Kluwer, 1987. * {{ :prog:verrujit:cgm.zip |CGM.ZIP}} (September 30, 2007) Programs for A. Verruijt: "Computational Geomechanics", Kluwer, 1995. * {{ :prog:verrujit:offshoresmbook.pdf |OffshoreSMBook.pdf}} (March 16, 2006) "Offshore Soil Mechanics", a textbook in PDF format. * {{ :prog:verrujit:mulat.zip |MULAT.ZIP}} (March 16, 2006) Finite element method for plane steady groundwater flow in multi-layered aquifer. * {{ :prog:verrujit:gwfem1.zip |GWFEM1.ZIP}} (September 28, 2007) Finite element method for plane steady groundwater flow in a single aquifer * {{ :prog:verrujit:gwfem2.zip |GWFEM2.ZIP}} (March 16, 2006) Finite element method for plane non-steady groundwater flow in a single aquifer. * [[http://www.soilquake.net|SoilQuake]] * [[prog:soilquake#openseespl|OpenSeesPL]] : modélisation 3D de l'interaction sol/pieu. * [[prog:soilquake#msbridge|MSBridge]] : Réponse tridimensionnelle (3D) d'un pont à travées multiples. * [[prog:soilquake#cyclic1d|Cyclic1D]] : Vérification d'une structure à la liquéfaction d'un sol. * [[prog:soilquake#meshfree|MeshFree]] : Réponse d'un sol au séisme. * [[prog:soilquake#sb2013|SB2013]] (legacy) : 1D earthquake analysis * [[prog:soilquake#shake91_input|SHAKE91_Input]] (legacy) : Equivalent Linear Site Response Analysis * [[prog:soilquake#opensees2dps|OpenSees2DPS]] (legacy) : Two dimensional (2D) Plane-Strain Analysis of earth dam * [[prog:soilquake#cyclictp|CyclicTP]] (legacy) : vérification de la liquéfaction des sols sous l'action d'un séisme * [[prog:soilquake#cycliced|CyclicED]] (legacy) : Analyze seismic performance of earth dams * [[prog:itasca|ITASCA]] (3DEC, FLAC, FLAC/Slope, FLAC3D, Griddle, KATS, MINEDW, PFC, UDEC, XSite) * Divers * [[prog:setpil|SETPIL]] : calcul de tassement d'un pieu * [[prog:deepsoil|DeepSoil]] : comportement d'un sol au séisme * [[prog:opensees|OpenSees]] : Open System for Earthquake Engineering Simulation ===Route=== * [[prog:piste|Piste]] : CAO d'infrastructures routières ====IRL==== * [[gc:concours|Concours d'architecte]] ====Ressources documentaires==== * [[gc:blogs|Blogs]] * [[gc:cticm|CTICM]], [[gc:cidect|CIDECT]] (profilés creux) * [[gc:egfbtp|EGFBTP]] * Normes Eurocode * [[gc:doc:normes:eurocode1|1991]], [[gc:doc:normes:eurocode3|1993]], [[gc:doc:normes:eurocode8|1998]] * [[gc:doc:normes:en1090|NF EN 1090]] * [[gc:afgc|AFGC]] * Divers documentations : [[gc:doc:geotechnique|Géotechnique]] =====Curiosités===== * Technologies * [[curiosite:tech:apple|Apple]] * [[curiosite:tech:energie|Energie]] * Challenges * [[curiosite:challenge:nes|Nes]] : www.nes.fr =====Droits===== * [[droit:viepriveetravail|Vie privée au travail]] =====Télécommunication===== * [[tel:telephonie|Téléphonie]] =====Perso===== [[perso|Divers]] Contact : [[le-garrec@vincent.fr]] en inversant le nom de domaine et l'identifiant.